老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python超经典的6道面试题!老男孩Python全日制班

老男孩IT教育

常见问题

2022年1月7日 15:40

在经历一段时间的学习后,大家就要开始进入找工作阶段了,在面试中,除了自身技术够硬以外,还需要有扎实的基础知识和面试技巧,比如面试题,熟练掌握高频面试题,可以帮助我们提高面试成功率,本篇文章给大家带来了15个Python常见面试题,请看下文:

       在经历一段时间的学习后,大家就要开始进入找工作阶段了,在面试中,除了自身技术够硬以外,还需要有扎实的基础知识和面试技巧,比如面试题,熟练掌握高频面试题,可以帮助我们提高面试成功率,本篇文章给大家带来了15个Python常见面试题,请看下文:

python学习教程

       问题1:

       阅读下面的代码,写出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[s] 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]

       答案:

A0 = {"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}
A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
A2 = []
A3 = [1, 3, 2, 5, 4]
A4 = [1, 2, 3, 4, 5]
A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]

       问题2:

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

       可以向面试官概述下日常工作中是如何使用Git的,或者其他你喜欢的工具也可以,比如我偏向于使用Git作为版本控制系统(VCS),但还有其他的选择,比如subversion(SVN)。

       问题3:

       下面代码会输出什么?

def f(x,l=[]):
    for i in range(x):
        l.append(i*i)
    print l

f(2)
f(3,[3,2,1])
f(3)

       答案:

[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 0, 1, 4]

       问题4:

       下面这些是什么意思?<@classmethod, @staticmethod, @property?>

       答案:

       这些都是装饰器(decorator)。装饰器是一种特殊的函数,要么接受函数作为输入参数,并返回一个函数,要么接受一个类作为输入参数,并返回一个类。@标记是语法糖(syntactic sugar),可以让你以简单易读得方式装饰目标对象。

       问题5:

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

       这里能说的很多。你应该提到下面几个主要的点:

       1、Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。

       2、偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合o1.x==o2和o2.x==o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。

       3、Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

       问题6:

       你有实施过个人项目吗?

       如果做过个人项目,这说明从更新自己的技能水平方面来看,你愿意比最低要求付出更多的努力。如果你有维护的个人项目,工作之外也坚持编码,那么你的雇主就更可能把你视作为会增值的资产。即使他们不问这个问题,我也认为谈谈这个话题很有帮助。

       关于"Python超经典的6道面试题!"的话题到这里就结束了,老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定了Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!

  推荐阅读:

  【Python学习教程】Python语言构造字典的三种方法!

  Python中的排序算法你都了解多少?老男孩Python学习

  python培训课程之Django框架的ORM简介及优缺点!

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。