北京紫光华宇软件股份有限公司10月招聘面试题170道20201026
简单解释Python基于值的内存管理模式。
A、PYTHON
B、PYT
C、PYTH
D、PYTHON
Python源代码被解释器转换后的格式为()。
正确答案:.pyc
以下哪些问题是Python的GIL导致的?()
- A、无法创建系统级别的线程
- B、GIL导致了线程间的不公平调度
- C、计算密集型程序会因为GIL而变得更慢
- D、IO密集型程序也无法使用多线程模型加速
正确答案:B,C
Python2到Python3是一个较大的版本更新。目前,生产环境依然有大量项目使用的是Python2。但,这并不意味着项目会一直停留在Python2,开发者也需要考虑项目对Python3的兼容性,以方便迁移。请问,Python3与Python2有哪些区别:()
- A、print函数化
- B、浮点运算
- C、xrange替代range
- D、解释器使用Python实现
正确答案:A,B,C
北京紫光华宇软件股份有限公司10月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:简单谈下GIL?可用的回答 : Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制, Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。 对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。 在多线程环境中,Python 虚拟机按以下方式执行: 1. 设置GIL 2. 切换到一个线程去运行 3. 运行: a. 指定数量的字节码指令,或者 b. 线程主动让出控制(可以调用time.sleep(0)) 4. 把线程设置为睡眠状态 5. 解锁GIL 6. 再次重复以上所有步骤 在调用外部代码(如C/C+扩展函数)的时候,GIL 将会被锁定, 直到这个函数结束为止(由于在这期间没有Python 的字节码被运行,所以不会做线程切换)。 问题 Q2:简述 yield和yield from关键字?可用的回答 : 1、可迭代对象与迭代器的区别 可迭代对象:指的是具备可迭代的能力,即enumerable. 在Python中指的是可以通过for-in 语句去逐个访问元素的一些对象,比如元组tuple,列表list,字符串string,文件对象file 等。 迭代器:指的是通过另一种方式去一个一个访问可迭代对象中的元素,即enumerator。 在python中指的是给内置函数iter()传递一个可迭代对象作为参数,返回的那个对象就是迭代器,然后通过迭代器的next()方法逐个去访问。 问题 Q3:单引号,双引号,三引号的区别?可用的回答 : 单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释 如果要表示Lets go 这个字符串 单引号:s4 = Lets go 双引号:s5 = “Lets go” s6 = I realy like“python”! 这就是单引号和双引号都可以表示字符串的原因了 问题 Q4:是否使用过functools中的函数?其作用是什么?可用的回答 :python自带的 functools 模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数。换言之,就是能使用该模块对可调用对象进行处理。functools.cmp_to_key(func)functools.total_ordering(cls)functools.reduce(function, iterable, initializer)functools.partial(func, args, *keywords)functools.update_wrapper(wrapper, wrapped, assigned, updated)functools.wraps(wrapped, assigned, updated)问题 Q5:简单谈下GIL?可用的回答 : Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制, Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。 对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。 在多线程环境中,Python 虚拟机按以下方式执行: 1. 设置GIL 2. 切换到一个线程去运行 3. 运行: a. 指定数量的字节码指令,或者 b. 线程主动让出控制(可以调用time.sleep(0)) 4. 把线程设置为睡眠状态 5. 解锁GIL 6. 再次重复以上所有步骤 在调用外部代码(如C/C+扩展函数)的时候,GIL 将会被锁定, 直到这个函数结束为止(由于在这期间没有Python 的字节码被运行,所以不会做线程切换)。 问题 Q6:Python中的命名空间是什么?可用的回答 : 在Python中,引入的每个名称都有一个存在的地方,可以被连接起来。这称为命名空间。 它就像一个框,其中变量名称映射到放置的对象。每当搜索到变量时,将搜索此框以获取相应的对象。 问题 Q7:为何基于tcp协议的通信比基于udp协议的通信更可靠?可用的回答 : TCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。 而UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。 不过UDP的发送速度是TCP比不了的,而且UDP的反应速度更快。 问题 Q8:json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?可用的回答 :json.dumps函数方法中加上参数 ensure_ascii = False问题 Q9:Python中的生成器是什么?可用的回答 :实现迭代器的方法称为生成器。这是一个正常的函数,除了它在函数中产生表达式。问题 Q10:如何删除python数组的值?可用的回答 :可以使用pop()或remove()方法删除数组元素。这两个函数之间的区别在于前者返回已删除的值,而后者则不返回。算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:A子数组中的最大比B子数组中最小要小的子数组题目描述如下:今日头条笔试第四题:给两个长度为n的数组,a,b。求有多少个 l,r,其中max(al:r)min(bl:r)。思路:DP3 2 13 3 3Dp1 = (3), (2), (1) (3), (2, 3), (1) (3), (2, 3), (1, 2, 3)Dp2求的是最小。然后求一下个数。-不优化还是挺慢的。可做参考的解答如下:算题题 A1:字符串中的全排列题目描述如下:Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. In other words, one of the first strings permutations is the substring of the second string.Example 1:Input:s1 = ab s2 = ei
Python3.x版本的代码完全兼容Python2.x。
正确答案:错误
python语言需要解释器。()
正确答案:正确
简单解释Python基于值的自动内存管理方式?
正确答案:Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。
简单解释Python中短字符串驻留机制?
正确答案:对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享改副本。
python中递归函数的作用()
- A、缩小问题规模
- B、代码简洁
- C、代码易懂
- D、代码清晰
正确答案:A,B,C,D
相关考题:
- 单选题EMPDET is an external table containing the columns EMPNO and ENAME. Which command would work in relation to the EMPDET table?()A AB BC CD D
- 用于确定分子中的共轭体系()A、质谱B、紫外光谱C、红外光谱D、氢核磁共振谱E、碳核磁共振谱
- 怎样判断一个化学反应进行的方向?当反应物和产物的起始浓度都为1mol时,请判断下列反应的进行方向。(参看表20-3中的数据) 。 ①磷酸肌酸+ADP ←→ ATP+肌酸 ②磷酸烯醇式丙酮酸+ADP ←→丙酮酸+ATP ③葡萄糖6-磷酸+ADP ←→ATP+葡萄糖
- 跑道、滑行道和机坪道面应当进行编号,并在道面()设置标记,便于检查记录位置。A、两侧B、一侧C、左侧D、右侧
- 《民用机场航空器活动区道路交通管理规则》所称车辆,包括机动车辆含()和非机动车辆。A、特种车辆B、电源车C、电瓶车D、非机动车
- 多选题Which three statements are true regarding single-row functions?()AThey can accept only one argument.BThey can be nested up to only two levels.CThey can return multiple values of more than one data type.DThey can be used in SELECT, WHERE, and ORDER BY clauses.EThey can modify the data type of the argument that is referenced.FThey can accept a column name, expression, variable name, or a user-supplied constant as arguments.
- 臂丛神经阻滞可出现()。A、马尾丛综合征B、霍纳氏综合征C、脊髓前动脉综合征D、仰卧位综合征E、Mendelson综合征
- 区别1,8-二羟基蒽醌与1,2-二羟基蒽醌可选用:()A、碱液反应B、0.5%Mg(Ac)2/MeOHC、对亚硝基二甲苯胺试剂D、升华试验E、浓硫酸反应
- 单选题The details of the order ID, order date, order total, and customer ID are obtained from the ORDERS table. If the order value is more than 30000, the details have to be added to the LARGEjDRDERS table. The order ID, order date, and order total should be added to the ORDERJHISTORY table, and order ID and customer ID should be added to the CUSTJHISTORY table. Which multitable INSERT statement would you use? ()A Pivoting INSERTB Unconditional INSERTC Conditional ALL INSERTD Conditional FIRST INSERT
- 噬菌体表面展示技术