掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

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

引言

想找一份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

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

微信截图_20170214131907.png

问题11

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

下载.png

问题12

简要描述Python的垃圾回收机制(garbage collection)。

问题13

将下面的函数按照执行效率高低排序。它们都接受由0至1之间的数字构成的列表作为输入。这个列表可以很长。一个输入列表的示例如下:[random.random() for i in range(100000)]。你如何证明自己的答案是正确的。

  1. def f1(lIn):

  2.    l1 = sorted(lIn)

  3.    l2 = [i for i in l1 if i<0.5]

  4.    return [i*i for i in l2]

  5. def f2(lIn):

  6.    l1 = [i for i in lIn if i<0.5]

  7.    l2 = sorted(l1)

  8.    return [i*i for i in l2]

  9. def f3(lIn):

  10.    l1 = [i*i for i in lIn]

  11.    l2 = sorted(l1)

  12.    return [i for i in l1 if i<(0.5*0.5)]

问题14

你有过失败的经历吗?

问题15

你有实施过个人项目吗?

真的?

结语

我给出的这些问题时,有意涉及了多个领域。而且答案也是特意写的较为啰嗦。在编程面试中,你需要展示自己对语言的理解,如果你能简要地说清楚,那请务必那样做。我尽量在答案中提供了足够的信息,即使是你之前从来没有了解过这些领域,你也可以从答案中学到些东西。我希望本文能够帮助你找到满意的工作。

编程派.jpg

原文来自:编程派

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

0512-88869195
数 据 驱 动 未 来
Data Drives The Future