A、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。其他的函数不能引用它。
B、在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
C、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内作用。
D、以上都不是
A、在一个函数内部通过调用自己完成问题的求解
B、不使用def定义函数的形式
C、一个函数不断被其他函数调用完成问题的求解
D、把函数作为参数的一种函数
下列叙述中不正确的是( )。
A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.在C的函数中,最好使用全局变量
C.外部变量可以在函数之间传递数据
D.自动变量实质上是一个函数内部的局部变量
函数内部定义的局部变量当函数调用结束后被自动删除。
此题为判断题(对,错)。
以下叙述中错误的是( )。
A.用Shell函数可以调用能够在Windows下运行的应用程序
B.用Shell函数可以调用可执行文件,也可以调用Visual Basic的内部函数
C.调用Shell函数的格式应为:〈变量名〉=Shell(……)
D.用Shell函数不能执行DOS命令
北京合众思壮科技股份有限公司11月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:谈谈你对闭包的理解?可用的回答 : #闭包函数的实例 # outer是外部函数 a和b都是外函数的临时变量 def outer( a ): b = 10 # inner是内函数 def inner(): #在内函数中 用到了外函数的临时变量 print(a+b) # 外函数的返回值是内函数的引用 return inner if _name_ = _main_: # 在这里我们调用外函数传入参数5 #此时外函数两个临时变量 a是5 b是10 ,并创建了内函数,然后把内函数的引用返回存给了demo # 外函数结束的时候发现内部函数将会用到自己的临时变量,这两个临时变量就不会释放, 会绑定给 这个内部函数demo = outer(5) # 我们调用内部函数,看一看内部函数是不是能使用外部函数的临时变量 # demo存了外函数的返回值,也就是inner函数的引用,这里相当于执行inner函数 demo() # 15 demo2 = outer(7)问题 Q2:什么是局域网和广域网?可用的回答 : 局域网:(Local Area Network,LAN), 局域网是一个局部范围的计算计组, 比如家庭网络就是一个小型的局域网,里面包含电脑、手机和平板等,他们共同连接到你家的路由器上。 又比如学校的机房就是一个局域网,里面有几百几千台电脑, 当机房无法上外网时,但是电脑之间仍可以通信,你们可以通过这个局域网来打CS 、玩红警。 理论上,局域网是封闭的,并不可以上外网,可以只有两台电脑,也可以有上万台。 广域网:(WAN,Wide Area Network),广域网的范围就比较大了, 可以把你家和别人家、各个省、各个国家连接起来相互通信。 广域网和局域网都是从范围的角度来划分的, 广域网也可以看成是很多个局域网通过路由器等相互连接起来。 问题 Q3:大数据的文件读取?可用的回答 : 1. 利用生成器generator 2. 迭代器进行迭代遍历:for line in file 问题 Q4:说一说redis-scrapy中redis的作用?可用的回答 : 它是将scrapy框架中Scheduler替换为redis数据库,实现队列管理共享。 优点: 可以充分利用多台机器的带宽; 可以充分利用多台机器的IP地址。 问题 Q5:说一下Django,MIDDLEWARES中间件的作用?可用的回答 : 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。 问题 Q6:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q7:ngnix的正向代理与反向代理?可用的回答 : 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容, 客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 客户端必须要进行一些特别的设置才能使用正向代理。 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。 客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求, 并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。 问题 Q8:scrapy和requests的使用情况?可用的回答 : requests 是 polling 方式的,会被网络阻塞,不适合爬取大量数据 scapy 底层是异步框架 twisted ,并发是最大优势 问题 Q9:cookie 和session 的区别?可用的回答 : 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。 4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 5、建议: 将登陆信息等重要信息存放为SESSION 其他信息如果需要保留,可以放在COOKIE中 问题 Q10:列表的扁平化和降维?比如有一个二维列表,降成普通的一维的。如:groups = huahua, xiaojian, musen, yuze, keyou得到结果 huahua, xiaojian, musen, yuze, keyou可用的回答 : 方法一:最简单的方式可以通过 for 循环的方式一一提取: names = for group in groups: for name in group: names.append(name) print(names) 方法二:但是在面试的时候可能会加一些限制,比如让你用一行代码实现 这个时候就需要对 python 基础有进一步的理解了,比如说使用 sum 函数: names = sum(groups, ) 方法三:通过列表推导式也可以方便的解决: a = e for group in groups for e
A.函数可有可无返回值
B.调用函数时传递的参数是实参
C.函数调用时候,可以用一个变量来接收函数返回值
D.函数必须要有形式参数
以下各项说法中,正确的是( )。
A.当通过引用传递参数时,函数创建一个变量以存储参数的值
B.当通过引用传递参数时,函数无法访问参数的值
C.当通过引用传递参数时,调用程序创建一个临时变量以容纳参数的值
D.当通过引用传递参数时,函数访问调用程序中参数的原始值
当一次函数调用发生时,对其执行过程正确描述的是(28)。
A.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点
B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点
C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点
D.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点
当一次函数调用发生时,对它的执行过程正确的描述是(28)。
A.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点
B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点
C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点
D.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点
以下叙述中错误的是
A.在函数外部定义的变量在所有函数中都有效
B.在函数内部定义的变量只能在本函数范围内使用
C.函数中的形参属于局部变量
D.在不同的函数中可以使用相同名字的变量