A、利用包可以将多个关系密切的模块组织在一起
B、定义一个包就是创建一个文件夹并在该文件夹下创建一个名为__init__.py的文件
C、一个包下面只能包含模块
D、一个包下面还可以包含子包
下面关于模块的说法中正确的是:( )。
A.模块仅由Visual BASIC for Application声明、语句作为一个单元进行保存的集合,它们作为一个已命名的单元存储在一起,对Microsoft Visual BASIC代码进行组织
B.有两种基本模块,即一种是标准模块,另一种是类模块
C.在模块中可以执行宏,但是宏不能转换为模块
D.窗体模块和报表模块都是标准模块
下列关于标准模块与类模块的说法中不正确的是( )。
A.窗体模块和报表模块都是类模块,它们各自与某一特定窗体或报表相关
B.窗体模块和报表模块通常都含有事件过程,而过程的运行用于响应窗体或报表上的事件
C.标准模块包含与任何其他对象都无关的常规过程,以及可以从数据库任何位置运行的经常使用的过程
D.标准模块和与某个特定对象无关的类模块的主要区别在于其范围,二者的生命周期是相同的
在模块程序中可以使用PARAMETERS和LPARAMETERS命令来接受调用程序传入的参数,其PARAMETERS命令声明的形参变量被看做是模块程序中建立的______变量。
下面关于标准模块的叙述中错误的是
A.标准模块中可以声明全局变量
B.标准模块中町以包含一个Sub Main过程,但此过程不能被设置为启动过程
C.标准模块中可以包含一些Public过程
D.一个工程中可以含有多个标准模块
上海海得控制系统股份有限公司9月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:什么是Python中的单元测试?可用的回答 :它支持共享设置,自动化测试,测试关闭代码,将测试聚合到集合等。包括unittest,pytest等框架问题 Q2:Python中的module和package是什么?可用的回答 :在Python中,模块是构造程序的方式。每个Python程序文件都是一个模块,它导入其他模块,如对象和属性。Python程序的文件夹是一个模块包。包可以包含模块或子文件夹。问题 Q3:urllib 和 urllib2 的区别?可用的回答 : urllib 和urllib2都是接受URL请求的相关模块, 但是urllib2可以接受一个Request类的实例来设置URL请求的headers, urllib仅可以接受URL。urllib不可以伪装你的User-Agent字符串。 urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2没有。 这是为何urllib常和urllib2一起使用的原因。 问题 Q4:简述 三次握手、四次挥手的流程?可用的回答 : 三次握手: 初始状态:客户端A和服务器B均处于CLOSED状态,然后服务器B创建socket,调用监听接口使得服务器处于LISTEN状态,等待客户端连接。(后续内容用A,B简称代替) 1、A首先向B发起连接,这时TCP头部中的SYN标识位值为1,然后选定一个初始序号seq=x(一般是随机的), 消息发送后,A进入SYN_SENT状态,SYN=1的报文段不能携带数据,但要消耗一个序号。 2、B收到A的连接请求后,同意建立连接,向A发送确认数据,这时TCP头部中的SYN和ACK标识位值均为1,确认序号为ack=x+1, 然后选定自己的初始序号seq=y(一般是随机的),确认消息发送后, B进 入SYN_RCVD状态,与连接消息一样,这条消息也不能携带数据,同时消耗一个序号。 3、A收到B的确认消息后,需要给B回复确认数据,这时TCP头部中的ACK标识位值为1, 确认序号是ack=y+1,自己的序号在连接请求的序号上加1,也就是seq=x+1, 此时A进入ESTABLISHED状态,当B收到A的确认回复后,B也进入ESTABLISHED状态, 至此TCP成功建立连接,A和B之间就可以通过这个连接互相发送数据了。 四次挥手: 初始状态:客户端A和服务器B之间已经建立了TCP连接,并且数据发送完成,打算断开连接, 此时客户端A和服务器B是等价的,双方都可以发送断开请求,下面以客户端A主动发起断开请求为例。(后续内 容用A,B简称代替) 1、A首先向B发送断开连接消息,这时TCP头部中的FIN标识位值为1,序号是seq=m,m为A前面正常发送数据最后一个字节序号加1得到的, 消息发送后A进入FNI_WAIT_1状态,FIN=1的报文段不能携带数据,但要消耗一个序号。 2、B收到A的断开连接请求需要发出确认消息,这时TCP头部中的ACK标识位值为1,确认号为 ack=m+1, 而自己的序号为seq=n,n为B前面正常发送数据最后一个字节序号加1得到的, 然后B进入 CLOSE_WAIT状态,此时就关闭了A到B的连接, A无法再给B发数据,但是B仍然可以给A发数据,同时B端通知上方应用层,处理完成后被动关闭连接。 然后A收到B的确认信息后,就进入了 FIN_WAIT_2状态。 3、B端应用层处理完数据后,通知关闭连接, B向A发送关闭连接的消息,这时TCP头部中的FIN和ACK标识位值均为1, 确认号ack=m+1,自己的序号为seq=k,消息发送后B进入LACK_ACK状态。 4、A收到B的断开连接的消息后,需要发送确认消息, 这是这时TCP头部中的ACK标识位值为1,确认号ack=k+1,序号为m+1(因为A向B发送断开连接的消息时消耗了一个消息号), 然后A进入TIME_WAIT 状态,若等待时间经过2MSL后,没有收到B的重传请求, 则表明B收到了自己的确认,A进入CLOSED状态, B收到A的确认消息后则直接进入CLOSED状态。至此TCP成功断开连接。 问题 Q5:参数如何通过值或引用传递?可用的回答 :Python中的所有内容都是一个对象,所有变量都包含对象的引用问题 Q6:Python中的生成器是什么?可用的回答 :实现迭代器的方法称为生成器。这是一个正常的函数,除了它在函数中产生表达式。问题 Q7:django 中当一个用户登录 A 应用服务器(进入登录状态),然后下次请求被 nginx 代理到 B 应用服务器会出现什么影响?可用的回答 :如果用户在A应用服务器登陆的session数据没有共享到B应用服务器,那么之前的登录状态就没有了。问题 Q8:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q9:说说什么是爬虫协议?可用的回答 : Robots协议(也称为爬虫协议、爬虫规则、机器人协议等)也就是robots.txt, 网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。因其不是命令,故需要搜索引擎自觉遵守。 问题 Q10:用Python匹配HTML tag的时候,和有什么区别?可用的回答 :术语叫贪婪匹配( )和非贪婪匹配( )算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:链表中的环题目描述如下:Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?基本思路:形成环就是后面的节点中的next指向了前面出现过的节点。下面这个用了额外空间。改进:使用 O(1) 空间的解决方法:思路是两个指针:一个每次走一步,另一个每次走两步,若有一个环,那么走两步的与走一步的会在走过这个环的长度后相遇。相当于两个人跑步,一个每秒跑两米,
A.单个模块可以接受的误差,组装起来可能累积和放大到不能接受的程度
B.一个模块的功能可能会对另一个模块的功能产生不利的影响
C.各个模块组装起来,穿越模块接口的数据可能会丢失
D.模块内部算法实现可能有误
A:模块,方法,属性,程序
B:窗体,属性,事件,程序
C:窗体,程序,属性,事件
D:窗体,属性,事件,模块
下瓶关于模块的说法中,正确的是( )。
A. 模块都是由VBA的语句段组成的集合
B. 基本模块分为标准模块和类模块
C. 在模块中可以执行宏,但是宏不能转换为模块
D. 窗体模块和报表模块都是标准模块
下列关于模块的说法中,不正确的是( )。
A.有两种基本模块,一种是标准模块,另一种是类模块
B.窗体模块和报表模块都是类模块,它们各自与某一特定窗体或报表相关联
C.标准模块包含与任何其他对象都无关的常规过程,以及可以从数据库任何位置运行的经常使用的函数
D.标准模块和与某个特定对象无关的类模块的主要区别在于其范围和生命周期
在模块程序中可以使用PARAMETERS和LPARAMETERS命令来接受调用程序传入的参数,其LPARAMETERS命令声明的形参变量被看成是模块程序中建立的______变量。