来源:数据分析师 CPDA | 时间:2019-09-10 | 作者:admin
由于Python仍然是当今增长最快的编程语言,因此对该语言的知识很重要的职业机会也相应增加。因此,任何想要在关键的编程面试中取得好成绩的求职者都应该把Python知识作为技能的一部分。
此外,Python是当前数据分析人员和数据科学家的一个很好的选择,他们希望改进和提高他们的知识库,因为Python语言在这些领域中得到了广泛的应用。显然,任何想要在分析/数据科学岗位上增加价值的人都应该学习和理解Python的基本原理。
但现在,让我们把注意力集中在那些正在进行与蟒蛇有关的重要面试的人身上。面试的有趣之处在于,你很容易紧张和慌张,导致你忘记了你平时知道的信息。你看,是压力;有时候你也会这样。如果面试转向技术细节,这可能会带来大麻烦。
这就是为什么拥有一种刷新记忆的方法很重要,一种为那些不可避免的技术问题做准备的方法。这就是为什么你需要这篇文章!
下面是一系列最常见的与蟒蛇有关的面试问题和答案。看看他们,温习一下你的知识,带着更大的信心去应对面试!
我们将从超级简单的问题开始,然后逐步解决更具挑战性的问题。
问题1:什么是Python?
Python是一种高级的、交互式的、解释的和面向对象的编程语言。
问题2:Python的好处是什么?
与其他语言相比,Python使用英语关键字,语法结构更少。这使得Python具有很高的可读性,并且非常容易学习。除此之外,它还是一种开源编程语言。
问题3:谈到好处,请详细说明Python的一些更值得注意的特性。
Python中更有用的特性是:Python支持自动垃圾收集
它可以很容易地与C、c++、COM、ActiveX、CORBA和Java集成
Python可以用作脚本语言,也可以编译为字节码,用于构建大型应用程序
它支持函数式和结构化编程方法以及面向对象编程(OOP)。
问题4:PEP 8是什么?
PEP 8是一组关于如何以更可读的格式编写Python代码的建议。这是一种编码惯例。
问题5:什么是酸洗和去酸洗?
pickle是将Python对象层次结构转换为字节流的过程。解选正好相反——将字节流转换回对象层次结构。用于这些进程的其他替代术语是“序列化”、“封送处理”和“扁平化”。
问题6:PYTHONPATH环境变量的目的是什么?
变量的角色类似于PATH。它告诉Python解释器在哪里定位导入程序的模块文件,这些信息应该包括Python源库目录以及包含Python源代码的目录。此外,Python安装程序偶尔会预置PYTHONPATH。
问题7:什么是Python装饰器?
decorator是Python语法中的一种特殊更改,可以方便地更改函数。不,他们和那些把蛇打扮成五颜六色的样子或者给蛇纹身的人没有任何关系。
问题8:PEP 8是什么?
Pep 8是一组建议和编码约定,旨在向您展示如何使Python代码更具可读性。
问题9:Python是区分大小写的语言吗?是的
问题10:Python如何管理内存?
Python使用私有堆空间进行内存管理。因此,所有对象和数据结构都将位于一个私有堆中,尽管程序员没有获得对这个堆的访问权。相反,Python解释器处理私有堆。同时,核心API允许程序员访问一些Python工具,以便开始编码。
内存管理器为Python对象分配堆空间,而内置的垃圾收集器则回收所有没有用于增加可用堆空间的内存。
问题11:如何用Python删除文件?
使用操作系统。删除(文件名)或os.unlink(文件名)
问题12:Python上下文中的名称空间是什么?
在Python中,“name”只是给Python对象的一个名称。名称空间将您定义的每个“名称”映射到相应的对象。它类似于一个包含所有内置名称的框。每当程序员搜索变量时,都会搜索此框以获得相应的对象。
问题13:弗拉斯克是什么?它有什么好处?
Flask是一个第三方Python库,用于为Python开发web应用程序。它最初是围绕Werkzeug和Jinja的包装,现在越来越受欢迎。它也被认为是一个轻量级框架,因为它几乎不依赖于任何外部库。它非常适合构建较小的应用程序,而不像金字塔,金字塔是为较大的应用程序设计的。弗拉斯克的简单性还意味着它对更新的依赖程度较低,安全性bug也更少。
问题14:狗堆效应是什么?如何预防?
dogpile效应是缓存过期时的效果,同时,网站会受到多个客户端请求的攻击。使用信号量锁可以防止狗堆效应。在这个系统中,当值过期时,第一个进程获取锁,然后生成一个新值。
问题15:如何在Unix上运行Python脚本?
采取以下两步:
脚本文件的模式必须是可执行的
第一行必须以# (#!/usr/local/bin/python)开头
问题16:说出Python支持的五种数据类型,哪些是可变的,哪些是不可变的?
类型是:
数字
字符串
列表
元组
字典
列表、字典和集合都是可变的,这意味着您可以更改它们内部的内容,同时保持它们的标识不变。字符串和元组是不可变的,所以它们的内容一旦创建就不能更改。
问题17:使用什么工具来帮助发现bug并执行静态分析?
PyChecker和Pylint是两个主要工具。Pychecker是一个静态分析工具,用于检查Python脚本中的bug,并就bug的样式和复杂性向程序员发出警告。Pylint验证模块是否符合编码标准。
问题18:PYTHONPATH环境变量的目的是什么?
PYTHONPATH的角色很像PATH。这个特殊的变量让Python解释器知道在哪里可以找到导入程序的模块文件。这应该包括Python源库目录以及包含Python源代码的目录。PYTHONPATH通常由Python的安装程序预先设置。
问题19:PYTHONSTARTUP、PYTHONCASEOK和PYTHONHOME的目的是什么?
PYTHONSTARTUP包含包含Python源代码的初始化文件的路径。每次启动解释器时都会执行它。它在Unix中名为.pythonrc.py,包含加载实用程序或修改PYTHONPATH的命令。
PYTHONCASEOK在Windows中用于查找区分大小写的文件系统上的模块。它通过将变量设置为任意值来激活。
PYTHONHOME是另一种模块搜索路径,通常嵌入在PYTHONSTARTUP或PYTHONPATH目录中,以便轻松切换模块库。
问题20:解释列表和元组之间的区别。
List对象包含在括号[]中,它们可以更改。元组对象包含在圆括号()中,并且不能更改。如果您将元组视为只读列表,这将有所帮助。
问题21:在Python上下文中,什么是模块?
python中的模块有助于以逻辑方式组织python代码。它包含导入语句、函数、类和变量定义,以及Python可运行代码。每个Python程序文件实际上都是一个模块,它依次导入其他模块,如对象和属性。
问题22:什么是字典?
Python中的字典类似于现实世界中的字典,其工作原理类似于Perl中的关联数组或散列。它包含用于存储数据值的键值对。尽管几乎任何Python类型都可以是字典键,但它们通常是数字或字符串。
问题23:那你怎么编字典?
字典可以使用大括号{}创建。可以使用方括号[]分配和访问字典的值。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict ={“名称”:“约翰”,“代码”:6734年,“部门”:“销售”}
问题24:其中一个是无效陈述。哪一个?
美国广播公司(abc) = 1000000
a b c = 1000 2000 3000
a b c = 1000 2000 3000
a_b_c = 1000000
正确答案是“b”。
问题25:用Python编写一个数值数据集的排序算法。
这段代码可以用Python对列表进行排序:
list = [" 1 ", " 4 ", " 0 ", " 6 ", " 9 "]
list = [int(i) for i in list]
list.sort ()
print(列表)