奥维通信股份有限公司9月招聘面试题102道2020915

下列说法错误的是( )。

A.在同一模块不同过程中的变量可以同名

B.不同模块中定义的全局变量不可以同名

C.引用另一模块中的全局变量时,必须在变量名前加模块名

D.同一模块中不同级的变量可以同名


正确答案:D


( 13 )下面有关 标准 模块的叙述中,错误的是

A )标准模块不完全由代码组成,还可以有窗体

B )标准模块中的 Private 过程不能被工程中的其他模块调用

C )标准模块的文件扩展名为 .bas

D )标准模块中的全局变量可以被工程中的任何模块引用


正确答案:A


下面有关标准模块的叙述中,错误的是

A.标准模块不完全由代码组成,还可以有窗体

B.标准模块中的Private过程不能被工程中的其他模块调用

C.标准模块的文件扩展名为.bas

D.标准模块中的全局变量可以被工程中的任何模块引用


正确答案:A
解析:模块有窗体模块、标准模块和类模块三种类型,其中标准模块可以包含类型、常数、变量、外部过程和公共过程的公共的或模块级的声明,其文件扩展名为.bas。标准模块中可以引用窗体但不包含窗体,所以A)选项错误。


(11)下列说法错误的是 A.在同一模块不同过程的变量可以同名 B.不同模块中定义的全局变量可以同名C.引起另一模块中的全局变量时,必须在变量名前加模块名D.同意模块中不同级的变量可以同名


正确答案:D
【解析】变量可以分为3类:局部变量、模块变量、全局变量。在同一模块不同过程中的变量叫做局部变量,其作用域是它所在的过程,所以不同过程中的局部变量可以同名;模块变量的作用范围是整个窗体或模块,引用其他模块中的模块变量时,必须加上模块名;当同一个模块内的不同过程使用相同的变量时,必须声明窗体层的变量,当然不能有重名。Visual Basic应用程序通常由窗体模块和标准模块组成。模块变量就是窗体变量和标准模块变量的总称。


下面关于标准模块的叙述中错误的是

A.标准模块中可以声明全局变量

B.标准模块中町以包含一个Sub Main过程,但此过程不能被设置为启动过程

C.标准模块中可以包含一些Public过程

D.一个工程中可以含有多个标准模块


正确答案:B
解析:标准模块的作用主要是简化程序,其中可以包含类型、常数、变最、外部过程和公共过程的公共或模块级声明,所以A)、C)都是正确的。一个工程中可以有多个标准模块以供其他窗体调用,所以D)是正确的。标准模块通常使用Sub Main过程作为窗体启动前的初始化运行,所以B)错误。


奥维通信股份有限公司9月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:如何跨模块共享全局变量?可用的回答 :要在单个程序中跨模块共享全局变量,请创建一个特殊模块。在应用程序的所有模块中导入配置模块。该模块将作为跨模块的全局变量提供。问题 Q2:在Python中切片是什么?可用的回答 :从序列类型(如列表,元组,字符串等)中选择一系列项目的机制称为切片。问题 Q3:生成器?可用的回答 :生成器的本质就是一个逐个返回元素的函数,即“本质函数”最大的好处在于它是“延迟加载”,即对于处理长序列问题,更加的节省存储空间。即生成器每次在内存中只存储一个值问题 Q4:什么是正则的贪婪匹配?可用的回答 : 如: str=abcaxc; p=ab.*c; 贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。 如上面使用模式p匹配字符串 str,结果就是匹配到:abcaxc(ab.*c)。 非贪婪匹配:就是匹配到结果就好,就少的匹配字符。 如上面使用模式p匹配字符串str,结果就是匹配 到:abc(ab.*c) 问题 Q5:为什么使用* args,* kwargs?可用的回答 :当我们不确定将多少个参数传递给函数,或者我们想要将存储的列表或参数元组传递给函数时,我们使用* args。*当我们不知道将多少关键字参数传递给函数时使用kwargs,或者它可以用于将字典的值作为关键字参数传递。标识符args和kwargs是一个约定,你也可以使用其他名称问题 Q6:有哪些工具可以帮助查找错误或执行静态分析?可用的回答 : PyChecker是一个静态分析工具,可以检测Python源代码中的错误,并警告错误的风格和复杂性。 Pylint是另一种验证模块是否符合编码标准的工具。 auto-pep8工具也可以进行静态代码检查 问题 Q7:简述 三次握手、四次挥手的流程?可用的回答 : 三次握手: 初始状态:客户端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成功断开连接。 问题 Q8:scrapy和scrapy-redis的区别?可用的回答 : scrapy是一个爬虫通用框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫,而提供了一些以redis为基础的组件 为什么会选择redis数据库?因为redis支持主从同步,而且数据都是缓存在内存中,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高 什么是主从同步?在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项, 让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave), 当客户端向从服务器发送SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,也即是,将从服务器的数据库状态更新至主服务器当前所处的数据库状态 问题 Q9:Python中的命名空间是什么?可用的回答 : 在Python中,引入的每个名称都有一个存在的地方,可以被连接起来。这称为命名空间。 它就像一个框,其中变量名称映射到放置的对象。每当搜索到变量时,将搜索此框以获取相应的对象。 问题 Q10:什么是C/S和B/S架构?可用的回答 : 1. C


下面关于变量的作用域,正确的描述是( )。

A、模块级变量的作用域为它所在的模块

B、同一模块中不同级的变量不能同名

C、在某一模块中所有过程外用Dim定义的变量为全局变量

D、不同模块中定义的全局变量可以相同


参考答案B


在模块化程序设计中应注意()。

A.共享的功能模块应集中

B.模块大小划分要适当

C.模块功能要简单

D.模块的独立性


参考答案:ABCD


全局变量必须在()中定义。

A.窗体模块

B.标准模块

C.类模块

D.任意模块


正确答案:B


下列说法错误的是______。

A.在同一模块不同过程中的变量可以同名

B.不同模块中定义的全局变量不可以同名

C.引用另一模块中的全局变量时,必须在变量名前加模块名

D.同一模块中不同级的变量可以同名


正确答案:D


下列有关标准模块的叙述中,错误的是( )。

A.标准模块的文件扩展名为.bas

B.标准模块中的Private过程不能被工程中的其他模块调用

C.标准模块不完全由代码组成,还可以有窗体

D.标准模块中的全局变量可以被工程中的任何模块引用


正确答案:C
C)【解析】标准模块是只含有程序代码的应用程序文件,其扩展名为.bas。标准模块是应用程序内其它模块可访问的过程和声明的容器,它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明,它由3部分组成:①全局变量声明;②模块层声明:③通用过程。其中,全局声明放在标准模块的首部,因为每个模块都可能要求有它自己的惟一名字的全局变量。全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的代码不可见。


相关考题:

考题 单选题下面关于标准模块的叙述中错误的是(  )。A标准模块中可以声明全局变量B标准模块中可以包含一个Sub Main过程,但此过程不能被设置为启动过程C标准模块中可以包含一些Public过程D一个工程中可以含有多个标准模块正确答案: A解析: 标准模块中可以包含一个Sub Main过程,此过程可以被设置为启动过程。在标准模块中,全局变量用Public声明,模块层变量用Dim或Private声明。一个工程文件可以有多个标准模块,当一个工程中含有多个标准模块时,各模块中的过程不能重名。

考题 下面关于标准模块的叙述中错误的是( )。A.标准模块中可以声明全局变量B.标准模块中可以包含一个Sub Main过程,但此过程不能被设置为启动过程C.标准模块中可以包含一些Public过程D.一个工程中可以包含有多个标准模块 正确答案:BB。【解析】一个工程中可以包含多个标准模块,在标准模块中包含一个或多个Public过程,可以声明全局变量,可以包含一个SubMain过程,并且设置为启动过程。

考题 下列说法错误的是( )。A.在同一模块不同过程中的变量可以同名B.不同模块中定义的全局变量可以同名C.引用另一模块中的全局变量时,必须在变量名前加模块名D.同一模块中不同级的变量可以同名 正确答案:D解析:变量可以分为3类:局部变量、模块变量、全局变量。在同一模块不同过程中的变量叫做局部变量,其作用域是它所在的过程,所以不同过程中的局部变量可以同名;模块变量的作用范围是整个窗体或模块,引用其他模块中的模块变量时,必须加上模块名;当同一个模块内的不同过程使用相同的变量时,必须声明窗体层的变量,当然不能有重名。Visual Basic应用程序通常由窗体模块和标准模块组成。模块变量就是窗体变量和标准模块变量的总称。

考题 Visual Basic应用程序即工程文件通常由三类模块组成,即窗体模块、标准模块和类模块。窗体模块包含()和()两部分。()完全由代码组成,这些代码不与具体的对象相关联,一般用来定义全局变量和公用过程和函数。()用于自定义类。正确答案:窗体;代码;标准模块;类模块

考题 多选题在模块化程序设计中应注意:()A共享的功能模块应集中B模块大小划分要适当C模块功能要简单D模块的独立性正确答案: C,D解析: 暂无解析

考题 多选题在模块化程序设计中应注意:()A共享的功能模块应集中B模块大小划分要适当C模块功能要简单D模块的独立性正确答案: B,D解析: 暂无解析

考题 在软件结构中,如果一个模块在调用结束之前可以被应用程序中断,然后在中-断点重新启动,则这个模块属于( )。A.顺序模块B.从属模块C.增量模块D.并行模块 正确答案:C

考题 标准模块中的全局变量可以被工程中的其他模块调用,而公共的过程可以被窗体模块的任何事件调用。正确答案:正确

考题 下列有关标准模块的叙述中,错误的是( )。A. 标准模块的文件扩展名为.basB. 标准模块中的Private过程不能被工程中的其他模块调用C. 标准模块不完全由代码组成,还可以有窗体D. 标准模块中的全局变量可以被工程中的任何模块引用 正确答案:CC) 【解析】标准模块是只含有程序代码的应用程序文件,其扩展名为.bas。标准模块是应用程序内其它模块可访问的过程和声明的容器,它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明,它由3部分组成:①全局变量声明;②模块层声明:③通用过程。其中,全局声明放在标准模块的首部,因为每个模块都可能要求有它自己的惟一名字的全局变量。全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的代码不可见。

考题 下列说法中错误的是( )。A.在同一模块不同过程中的变量可以同名B.不同模块中定义的全局变量可以同名C.引用另一模块中的全局变量时,必须在变量名前加模块名D.同一模块中不同级的变量可以同名