某大厂Python面试题目(回忆版)

Python面试基础

  1. 什么是PEP8
    1. pep8是一种编程规范,内容是一堆让你的程序更具有可读性的建议
  2. 什么是pickling和unpickling?
    1. pickl模块读取任何Python对象,将他们转化为字符,然后使用dump函数将其转储到一个文件中的过程叫做pickling
    2. 反之从存储的字符串文件中提取原始的Python对象的过程,叫做unpickling
  3. Python语言是一种解释性的语言,它的源代码可以直接被执行。python解释器会将源代码转化为中间语言,之后再翻译成机器码再执行。
  4. Python是如何管理内存的?
    1. Python的内存是有私有的heap空间管理的,所有的Python对象和数据结构都在一个私有heap中,程序员没有访问heap的权限,只有解释器才能进行操作。
    2. 为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。
    3. Python有自带的垃圾回收机制,它回收并释放没有被使用的内存,让他们能够被其他程序使用。
  5. 那些工具可以帮助Python做debug或者做静态分析?
    1. pychecker是一个静态分析工具,它不仅仅报告源代码的错误,并报告错误类型和复杂度。pylint是检验代码标准的另一个工具。
  6. Python解释器是Python中特定变化,可以使修改函数变得更容易。
  7. 字典推导式和列表推导:快速创建字典和列表的语法结构
  8. 什么是Python的命名空间?
    1. 在Python中,所有的名字都存在于一个空间中,他们在该空间中存在或者被操作就是命名空间。
    2. 它就像一个盒子,每一个变量名字都对应着一个对象。找变量的时候从盒子里查找。
  9. pass在Python中是一个占位符。
  10. 生成器:是实现迭代器的一种机制。依赖于yeild表达式。
  11. python 中的lambda是什么?这是一个常用于单个表达式的匿名函数。匿名函数lambda没有语句的原因是它常在代码中被执行的时候构建新的函数对象并返回。
  12. Python中的unittest是什么?
    1. 它拥有支持共享搭建、自动检测、自动测试的函数,在测试中暂停代码、将不同的测试迭代成一组,等等功能。
  13. Python中的docstring是什么?在Python中文档字符串被称为docstring,他在Python代码的中的作用是为函数模块和类做注释成文档。
  14. 将数字转化为字符串?
    1. str()函数
    2. 十进制转化为八进制或者十六进制:oct()或者hex()
  15. xrange和range的区别?
    1. xrange用于返回一个xrange对象,range返回一个数组
    2. xrange不管范围多大。都是占有固定的内存大小。
  16. Python中的模块和包是什么?
    1. 模块是搭建程序的一种方式,每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。
    2. 包是一个包含很多Python代码文件的文件夹,一个包里面可以包含模块和子文件夹。

你可能感兴趣的:(python小工具编写)