震惊!几道Python 理论面试题,Python面试题No18

本面试题题库,由公号:非本科程序员 整理发布

第1题: 简述解释型和编译型编程语言?

解释型语言编写的程序不须要编译,在执行的时候,专门有一个解释器可以将VB语言翻译成机器语言,每一个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低。python

用编译型语言写的程序执行以前,须要一个专门的编译过程,经过编译系统,把源高级程序编译成为机器语言文件,翻译只作了一次,运行时不须要翻译,因此编译型语言的程序执行效率高,但也不能一律而论,程序员

部分解释型语言的解释器经过在运行时动态优化代码,甚至可以使解释型语言的性能超过编译型语言。面试

第2题:Python解释器种类以及特色?

  • Python编程

    当 从Python官方网站下载并安装好Python2.7后,就直接得到了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,因此叫 CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。浏览器

  • IPython编程语言

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的,比如不少国产浏览器虽然外观不一样,但内核实际上是调用了IE。性能

  • PyPy

PyPy是另外一个Python解释器,它的目标是执行速度,PyPy采用JIT技术,对Python代码进行动态编译,因此能够显著提升Python代码的执行速度。学习

  • Jython

Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。优化

  • IronPython

IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。网站

在Python的解释器中,使用普遍的是CPython,对于Python的编译,除了能够采用以上解释器进行编译外,技术高超的开发者还能够按照本身的需求自行编写Python解释器来执行Python代码,十分的方便!

第3题: 位和字节的关系?

  • bit就是位,也叫比特位,是计算机表示数据最小的单位
  • byte就是字节

1byte=8bit

1byte就是1B

一个字符=2字节

1KB=1024B

字节就是Byte,也是B

位就是bit也是b

转换关系以下:

  • 1KB=1024B
  • 1B= 8b

第4题: 字节码和机器码的区别?

机器码(machine code)

机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。

一般意义上来理解的话,机器码就是计算机能够直接执行,而且执行速度最快的代码。

用机器语言编写程序,编程人员要首先熟记所用计算机的所有指令代码和代码的涵义。
手编程序时,程序员得本身处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程当中每步所使用的工做单元处在何种状态。
这是一件十分繁琐的工做,编写程序花费的时间每每是实际运行时间的几十倍或几百倍。
并且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。
如今,除了计算机生产厂家的专业人员外,绝大多数的程序员已经再也不去学习机器语言了。

机器语言是微处理器理解和使用的,用于控制它的操做二进制代码。

8086到Pentium的机器语言指令长度能够从1字节到13字节。

尽管机器语言好像是很复杂的,然而它是有规律的。

存在着多至100000种机器语言的指令。这意味着不能把这些种类所有列出来。

总结:机器码是电脑CPU直接读取运行的机器指令,运行速度最快,可是很是晦涩难懂,也比较难编写,通常从业人员接触不到。

字节码(Bytecode)

字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件。字节码是一种中间码,它比机器码更抽象,须要直译器转译后才能成为机器码的中间代码。

一般状况下它是已经通过编译,但与特定机器码无关。字节码一般不像源码同样可让人阅读,而是编码后的数值常量、引用、指令等构成的序列。

字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。字节码的实现方式是经过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为能够直接执行的指令。字节码的典型应用为Java bytecode。

字节码在运行时经过JVM(JAVA虚拟机)作一次转换生成机器指令,所以可以更好的跨平台运行。

总结:字节码是一种中间状态(中间码)的二进制代码(文件)。须要直译器转译后才能成为机器码。

第5题:Python3和Python2中 int 和 long的区别?

Python 2有为非浮点数准备的int和long类型。
int类型的最大值不能超过sys.maxint,并且这个最大值是平台相关的。
能够经过在数字的末尾附上一个L来定义长整型,显然,它比int类型表示的数字范围更大。

在Python 3里,只有一种整数类型int,大多数状况下,它很像Python 2里的长整型。
因为已经不存在两种类型的整数,因此就没有必要使用特殊的语法去区别他们。

第6题:关注题,最近在公号更新一个神奇的系列入门文章

欢迎关注梦想橡皮擦的的公众号,搜索 — 非本科程序员

打开直接关注

https://weixin.sogou.com/weixin?type=1&ie=utf8&query=%E9%9D%9E%E6%9C%AC%E7%A7%91%E7%A8%8B%E5%BA%8F%E5%91%98

序号 文章
Python面试题No1 Python基础面试,看这篇文章画重点吧
Python面试题No2 Python面试快问快答,理论要的就是速度与精准
Python面试题No3 学习Python一年,基础忘记了,看看面试题回忆回议
Python面试题No4 去面试Python工程师,这几个基础问题必定要能回答
Python面试题No5 2019年,Python工程师必考的6个面试题
Python面试题No6 昨天去面试,这5个Python面试题都被考到了
Python面试题No7 周三面试Python开发,这几道Python面试题差点答错,Python面试题No7
Python面试题No8 面试Python工程师,这几道编码题有必要背背
Python面试题No9 又面试了Python爬虫工程师,碰到这么几道面试题
Python面试题No10 朋友去面试Python工程师,又带回来几道基础题
Python面试题No11 刚毕业去面试Python工程师,这几道题太难了
Python面试题No12 五一4天就背这些Python面试题了
Python面试题No13 大意了,这几道Python面试题没有答对
Python面试题No14 明天找python工做,看看这几道Python面试题吧
Python面试题No15 这几道Python面试题,稳准狠
相关文章
相关标签/搜索