it-swarm.cn

Python面试题

我打算在两周内面试一次涉及Python编程)的实习。

谁能建议我应该抛光哪些区域?我正在面试中寻找Python开头)的常见问题。除了我已经使用该语言已有一年以上的事实之外,我无法理解他们会问我什么。

就像进行C或C++采访一样,有很多问题,从字符串反转到建立链接列表,但是对于Python采访,我很无能为力。

欢迎个人经验和/或建议。

25
Andy

以下是一些简单的方法:

  1. 什么是Python装饰器,您将如何使用它们?
  2. 如何调试Python代码?
  3. 您将如何设置许多项目,其中每个项目使用Python和第三方库的不同版本?
  4. 您在编写代码时是否遵循PEP8?
8
Thierry Lam

对于涉及Python list comprehensions =)的东西呢?对我而言,在我在 读到Python

“编写一个列表理解,以建立从1到10(含10)(含)的偶数列表。”.
答案是这样的(请注意(range值避免出现篱笆错误):

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

因此,如果您了解Dive into Python中列出的所有概念,那将涵盖大多数重要功能。

7
Cyclops

是Python通过引用传递还是通过值传递也是一个很好的问题。

6
ismail

我被问到的问题:

  • 描述Python中的两种元编程方法。
  • 什么是GIL?
  • 为什么GIL重要?
  • 为什么还有Python nladen Swallow =)的替代实现?
  • Django,Pylons还是Zope?保卫你的位置。
6
Scant Roger

我没有这种经验,但是这里有一些猜测:

  1. (Im)可变性
  2. 头等舱功能/舱位
  3. 关闭

那是python)程序员应该知道的东西,否则您最好雇用C程序员担任该职位。

5
Kugel

我会去 此答案 中的列表。尝试尽可能刷新列表中的内容。如果您直到最后都无法做到,请不要担心。

3
Benjamin Bannier

人们提供了其他链接。我还建议 Python的隐藏功能 。以防万一他们向您提出一些棘手的问题。

2
grokus

您的感觉是什么,他们会尝试测试您是否了解Python,看看您是否可以用Python完成工作,还是测试您是否可以(使用Python)编程?

那是完全不同的事情。

如果他们想让您证明自己了解Python,则可能会强迫您执行诸如创建生成器之类的操作,然后无需使用yield就可以这样做。解释类的工作方式。解释C3方法的解析顺序。等等。

如果他们想让您证明可以使用Python完成工作,则需要具备基本的数据结构能力,并具有要用于各种任务的库列表。因此,您需要熟悉字典,集合和数组。同样,您需要了解BeautifulSoup之类的用于解析HTML的内容,能够讨论可用于Web开发的框架等。您不一定需要知道如何很好地使用这些内容,但是您应该知道去哪里,如何解决更多问题,并在面试官给您记录下来的内容后才能实际使用它们。

如果他们希望您证明您可以编程(使用Python),则需要了解基本数据结构和算法。这与您将要问到的C/C++问题非常接近,不同之处在于,您将被期望使用本机数据结构,从而使您的生活变得轻松。

为了安全起见,您应该在某种程度上为这三个做好准备。例如,通读 http://docs.python.org/tutorial/ 并给自己做一些笔记。希望您已经知道如何编程。然后尝试一些随机任务,并强迫自己使用您可能错过的库。因此,例如,读取一些CSV,以编程方式从网页中提取信息,使用框架构建小型网站等。

2
btilly