999kao.com
北京合众思壮科技股份有限公司11月招聘面试题97道20201111

c语言中关键字static的作用是()。

A、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。其他的函数不能引用它。

B、在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

C、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内作用。

D、以上都不是


参考答案:ABC


lambda函数是指()。

A、在一个函数内部通过调用自己完成问题的求解

B、不使用def定义函数的形式

C、一个函数不断被其他函数调用完成问题的求解

D、把函数作为参数的一种函数


参考答案:B


下列叙述中不正确的是( )。

A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B.在C的函数中,最好使用全局变量

C.外部变量可以在函数之间传递数据

D.自动变量实质上是一个函数内部的局部变量


正确答案:B
解析:编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在内存不确定的情况下,最好使用全局变量。


函数内部定义的局部变量当函数调用结束后被自动删除。

此题为判断题(对,错)。


正确答案:√


以下叙述中错误的是( )。

A.用Shell函数可以调用能够在Windows下运行的应用程序

B.用Shell函数可以调用可执行文件,也可以调用Visual Basic的内部函数

C.调用Shell函数的格式应为:〈变量名〉=Shell(……)

D.用Shell函数不能执行DOS命令


正确答案:B


北京合众思壮科技股份有限公司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

以下关于 Function函数对象的说法不正确的是()

A.函数可有可无返回值

B.调用函数时传递的参数是实参

C.函数调用时候,可以用一个变量来接收函数返回值

D.函数必须要有形式参数


答案:D


以下各项说法中,正确的是( )。

A.当通过引用传递参数时,函数创建一个变量以存储参数的值

B.当通过引用传递参数时,函数无法访问参数的值

C.当通过引用传递参数时,调用程序创建一个临时变量以容纳参数的值

D.当通过引用传递参数时,函数访问调用程序中参数的原始值


正确答案:D
解析:本题考核函数参数传递中的引用传递。先来理解引用的概念:①“引用”实际上是给一个已知变量起个别名,对引用的操作也就是对被它引用的变量的操作。②C++中的变量名对应着内存的存储位置,可以使用一个特定的内存地址访问到它,引用则引入变量的另一个名字,它和这个变量具有同一内存地址。③当通过引用传递参数时,只是把请求调用的程序中实参的引用传递给函数(实际上是实参的内存地址被传递了)。


当一次函数调用发生时,对其执行过程正确描述的是(28)。

A.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点

D.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点


正确答案:D
解析:当一次函数调用发生时,其执行过程可归纳为以下5个步骤:①在内存的栈空间中为其分配一个栈帧,用来存放该函数的形参变量和局部变量;②把实参变量的值复制到相应的形参变量中;③控制流转移到该函数的起始位置;④该函数开始执行;⑤当这个函数执行完以后,控制流和返回值返回到函数调用点。


当一次函数调用发生时,对它的执行过程正确的描述是(28)。

A.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点

B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点

D.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点


正确答案:A
解析:当一次函数调用发生时,其执行过程的先后顺序如下。1)在内存的栈空间中为其分配一个栈帧,用来存放该函数的形参变量和局部变量:2)把实参变量的值复制到相应的形参变量中;3)控制流转移到该函数的起始位置;4)该函数开始执行;5)当这个函数执行完以后,控制流和返回值返回到函数调用点。


以下叙述中错误的是

A.在函数外部定义的变量在所有函数中都有效

B.在函数内部定义的变量只能在本函数范围内使用

C.函数中的形参属于局部变量

D.在不同的函数中可以使用相同名字的变量


正确答案:A
全局变量有效范围是从定义的位置开始到所在源文件的结束,在这区域内的函数才可以调用,如果在定义函数之后,定义的变量,该变量不能被之前的函数访问所以A选项说法错误,答案为A选项。

更多 “北京合众思壮科技股份有限公司11月招聘面试题97道20201111” 相关考题
考题 判断题在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量。A 对B 错正确答案:对解析:暂无解析

考题 在函数中声明的静态变量()A、在函数体中可见,函数结束调用时释放。B、在项目中可见,函数结束调用时释放。C、在函数体中可见,项目结束调用时释放。D、在项目中可见,项目结束调用时释放。正确答案:B

考题 单选题若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。A 函数参数array,ptr都是指针变量B 函数参数array不是指针变量,ptr是指针变量C 调用函数时,实参数组的值将一一复制给array数组D 调用函数时,array是按值传送,ptr是按地址传送正确答案:D解析:数组名为数组的首地址,也是指向数组的指针,所以array和ptr都是指针,A项正确,B项错误。调用函数时,将实参数组首地址赋给指针array,而不是传递整个数组元素,C项错误。调用函数时,array与ptr都是按地址传送的,D项错误。答案选择A选项。

考题 函数内部定义的局部变量当函数调用结束后被自动删除。正确答案:正确

考题 判断题闭包可以实现内部函数对外部函数变量的引用。A 对B 错正确答案:对解析:暂无解析

考题 在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量。正确答案:正确

考题 单选题在函数中声明的静态变量()A 在函数体中可见,函数结束调用时释放。B 在项目中可见,函数结束调用时释放。C 在函数体中可见,项目结束调用时释放。D 在项目中可见,项目结束调用时释放。正确答案:B解析:暂无解析

考题 如何理解引用作为函数参数时,值可以发生变化() A、引用变量在传递到函数内部时,首先复制一份对象,之后再传递B、引用变量将它本身传递给函数内部C、引用变量不是值传递的D、如果函数的参数是引用变量,在传递参数的时候,系统将引用变量中存储的值,也就是地址复制给函数的自变量,这两个地址指向的是同一个对象。因此,在函数中改变对象的值,也会同样影响原变量。正确答案:D

考题 全局变量是在某一函数中存在的变量,它只在该函数内部有效。正确答案:错误

考题 python中,闭包的三个特点是()A、函数嵌套函数B、内部函数用到外层函数的参数C、最后返回内层函数的引用D、函数必须有参数正确答案:A,B,C