想找一份
Python开发
工作吗?那你很可能得证明自己知道如何使用Python
。下面这些问题涉及了与
Python
相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块。每一个问题都可以扩充为一个教程,如果可能的话。某些问题甚至会涉及多个领域。
我之前还没有出过和这些题目一样难的面试题,如果你能轻松地回答出来的话,赶紧去找份工作吧!
问题1
到底什么是Python
?你可以在回答中与其他技术进行对比(也鼓励这样做)。
问题2
补充缺失的代码
def
print_directory_contents(sPath):
"""
这个函数接受文件夹的名称作为输入参数,
返回该文件夹中文件的路径,
以及其包含文件夹中文件的路径。
"""
#
补充代码
问题3
阅读下面的代码,写出A0
,
A1
至
An
的最终值。
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
A1 = range(10)
A2 = [i
for i
in A1
if i
in A0]
A3 = [A0
for s
in A0]
A4 = [i
for i
in A1
if i
in A3]
A5 = {i:i*i
for i
in A1}
A6 = [[i,i*i]
for i
in A1]
问题4
Python
和多线程(
multi-threading
)。这是个好主意码?列举一些让
Python
代码以并行方式运行的方法。
问题5
你如何管理不同版本的代码?
问题6
下面代码会输出什么:
def
f(x,l=[]):
for i
in range(x):
l.append(i*i)
print lf(2)f(3,[3,2,1])f(3)
问题7
“
猴子补丁
”
(
monkey patching
)指的是什么?这种做法好吗?
问题8
这两个参数是什么意思:args
,
*kwargs
?我们为什么要使用它们?
问题9
这些是什么意思:@classmethod, @staticmethod, @property
?
问题10
阅读下面的代码,它的输出结果是什么?
问题11
阅读下面的代码,它的输出结果是什么?
问题12
简要描述Python
的垃圾回收机制(
garbage collection
)。
问题1
3
你有过失败的经历吗?
问题1
4
你有实施过个人项目吗?
真的?
结语
我给出的这些问题时,有意涉及了多个领域。而且答案也是特意写的较为啰嗦。在编程面试中,你需要展示自己对语言的理解,如果你能简要地说清楚,那请务必那样做。我尽量在答案中提供了足够的信息,即使是你之前从来没有了解过这些领域,你也可以从答案中学到些东西。我希望本文能够帮助你找到满意的工作。
来源:SDK.cn