北京紫光华宇软件股份有限公司10月招聘面试题170道20201026

简单解释Python基于值的内存管理模式。


正确答案:Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。


哪个选项是下面代码的执行结果()s='PYTHON'print("{0:3}".format(s))

A、PYTHON

B、PYT

C、PYTH

D、PYTHON


答案:A


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


相关考题:

考题 多选题python的解释器有()。AcpythonBjythonCpypyDmpython正确答案: A,C解析: 暂无解析

考题 单选题"python"+"!!"的值是()。ApythonB!!Cpython!!D正确答案: C解析: 暂无解析

考题 判断题Python程序只能在安装了Python环境的计算机上以源代码形式运行。A对B错正确答案: 错解析: 暂无解析

考题 问答题简单解释Python中短字符串驻留机制?正确答案: 对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享改副本。解析: 暂无解析

考题 python的解释器有()。A、cpythonB、jythonC、pypyD、mpython正确答案:A,B,C

考题 "python"+"!!"的值是()。A、"python"B、"!!"C、"python!!"D、""正确答案:C

考题 多选题python的解释器有()。AcpythonBjythonCpypyDmpython正确答案: B,C解析: 暂无解析

考题 填空题Python源代码被解释器转换后的格式为()。正确答案: .pyc解析: 暂无解析

考题 填空题Python源代码被解释器转换后的格式为()。正确答案: .pyc解析: 暂无解析

考题 下列关于Python的说法中,错误的是()。A、Python是从ABC发展起来的B、Python是一门高级的计算机语言C、Python是一门只面向对象的语言D、Python是一种代表简单主义思想的语言正确答案:C
最新考题