北京Python培训
达内北京Python培训中心

010-62126400

热门课程

北京Python培训 > 企业面试题 >Python工程师常见面试题分享

Python工程师常见面试题分享

  • 时间:2017-11-21 18:07
  • 发布:北京Python培训
  • 来源:企业面试题

1、什么是Python?使用Python的优点有哪些?

Python是一种带有对象、模块、线程、异常和内存自动管理的编程语言。使用Python的优点有:简单、易学、轻便可移植、可扩展、具有多种内建数据类型、开源等等。

2、什么事PEP 8?

PEP 8是一种编码规范,是一系列关于如何让Python代码更加具有可读性的编码建议。

3、什么是序列化(pickling)和反序列化(unpickling)?

Pickle模块允许我们将Python对象转换成一个string表示的信息,并且可以使用dump函数将其保存到一个文件中去,这样的过程称为序列化。而使用文件中保存的对象信息重构Python对象的过程称为反序列化。

4、Python是如何被解释执行的?

Python是一种解释型语言,它可以直接从源代码运行程序。程序员编写的源代码首先转变成一种中间语言代码,然后再被转换成能够直接执行的机器语言代码。

5、Python是如何进行内存管理的?

Python内存空间是以Python私有堆的形式进行管理的。所有的Python对象和数据结构都存放在一个私有堆中。解释器可以访问私有堆,而程序员不可以。

将Python堆空间中的内存分配给Python对象的工作是由Python内存管理器完成的。而内核API则会提供给程序员一些相关的工具来完成涉及到内存的编码工作。

Python还内置垃圾回收器,从而进行回收释放内存到堆空间。

6、能够找到程序中的bug进行静态分析的工具有哪些?

PyChecker是一种能够发现Python源代码中的bug并对其中的代码风格和复杂度进行警告的静态分析工具。另外一种工具是Pylint,它能够验证模块是否满足编码标准。

7、什么是Python装饰器?

一个Python装饰器是我们在符合Python语法的同时又方便地对函数做的一些特定的修改。

8、列表和元组的区别是什么?

列表和元组的区别是列表是可变的,而元组不可以。而且元组可以被散列,例如作为字典的键。

9、参数是如何通过值或者引用传递的?

在Python中,一切都是对象,所有变量都是对象的引用。通过引用传递还是值传递要根据函数来确定(原文有语法错误,根据个人理解翻译);事实上,你不能改变引用的值,但是如果对象是可变的,则可以改变对象。

10、怎样理解字典和列表?

它们是一种用来创建可变对象的语法结构。

上一篇:Python基本面试题,你会吗
下一篇:python运维开发工程师面试常见问题有哪些?

python初学者面试题分享

python运维开发工程师面试常见问题有哪些?

Python工程师常见面试题分享

Python基本面试题,你会吗

选择城市和中心
贵州省

广西省

海南省