首页 存档 技术 查看内容

Python面试必须要看的15个问题

2018-3-30 13:00 |来自: 互联网 567 0

摘要: 本文由EarlGrey@编程派编译,转载请务必注明作者及出处。 点击“阅读原文”查看答案即可。 引言 想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Python。下面这些问题涉及了与Python相关的许多技能,问 ...

本文由EarlGrey@编程派编译,转载请务必注明作者及出处。 点击“阅读原文”查看答案即可。

引言

想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Python。下面这些问题涉及了与Python相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块。每一个问题都可以扩充为一个教程,如果可能的话。某些问题甚至会涉及多个领域。

我之前还没有出过和这些题目一样难的面试题,如果你能轻松地回答出来的话,赶紧去找份工作吧!

问题1

到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做)。

问题2

补充缺失的代码

  1. def print_directory_contents(sPath):

  2. """

  3. 这个函数接受文件夹的名称作为输入参数,

  4. 返回该文件夹中文件的路径,

  5. 以及其包含文件夹中文件的路径。

  6. """

  7. # 补充代码

问题3

阅读下面的代码,写出A0,A1至An的最终值。

  1. A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))

  2. A1 = range(10)

  3. A2 = [i for i in A1 if i in A0]

  4. A3 = [A0[s] for s in A0]

  5. A4 = [i for i in A1 if i in A3]

  6. A5 = {i:i*i for i in A1}

  7. A6 = [[i,i*i] for i in A1]

问题4

Python和多线程(multi-threading)。这是个好主意码?列举一些让Python代码以并行方式运行的方法。

问题5

你如何管理不同版本的代码?

问题6

下面代码会输出什么:

  1. def f(x,l=[]):

  2. for i in range(x):

  3. l.append(i*i)

  4. print lf(2)f(3,[3,2,1])f(3)

问题7

“猴子补丁”(monkey patching)指的是什么?这种做法好吗?

问题8

这两个参数是什么意思:args,*kwargs?我们为什么要使用它们?

问题9

这些是什么意思:@classmethod, @staticmethod, @property?

问题10

阅读下面的代码,它的输出结果是什么?

  1. class A(object):

  2. def go(self):

  3. print "go A go!"

  4. def stop(self):

  5. print "stop A stop!"

  6. def pause(self):

  7. raise Exception("Not Implemented")class B(A):

  8. def go(self):

  9. super(B, self).go()

  10. print "go B go!"class C(A):

  11. def go(self):

  12. super(C, self).go()

  13. print "go C go!"

  14. def stop(self):

  15. super(C, self).stop()

  16. print "stop C stop!"class D(B,C):

  17. def go(self):

  18. super(D, self).go()

  19. print "go D go!"

  20. def stop(self):

  21. super(D, self).stop()

  22. print "stop D stop!"

  23. def pause(self):

  24. print "wait D wait!"class E(B,C): pass

  25. a = A()

  26. b = B()

  27. c = C()

  28. d = D()

  29. e = E()

  30. # 说明下列代码的输出结果

  31. a.go()

  32. b.go()

  33. c.go()

  34. d.go()

  35. e.go()

  36. a.stop()

  37. b.stop()

  38. c.stop()

  39. d.stop()

  40. e.stop()

  41. a.pause()

  42. b.pause()

  43. c.pause()

  44. d.pause()

  45. e.pause()

问题11

阅读下面的代码,它的输出结果是什么?

  1. class Node(object):

  2. 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除


路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部