千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  正文

Python培训分享:Python经典面试题

来源:千锋教育
作者:qyf
2022-01-10
分享

  学会了Python技术后,同学们接下来面临的第一个问题就是面试找工作,很多面试题都是要提前有所准备的,小编下面就为大家详细的介绍一下Python经典面试题,希望能够帮助到大家。

面试

  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经典面试题”内容,希望能帮助到正在面试找工作的同学们,学习Python离人工智能更近一步,学习Python未来可期,更多Python相关的内容尽在千锋教育培训机构,敬请关注!

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • linux备份文件命令(linux备份文件命令cp怎么用) linux下备份一个目录下所有文件及目录,应该用什么命令1、dump命令 Linux dump命令用于备份文件系统。dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件
  • linuxuseradd命令详解(linux中useradd和adduser) linux中useradd,usermod命令的使用方法是什么1、通过 usermod -L 用户名锁住密码,这时在root用户下su -l 用户名还是可以进入到系统中,因为root用户su到任意用
  • linux清空日志log命令(linux如何清日志) 在Linux下如何清除系统日志1、每天0点执行 usrnginxdellog.sh 保存后退出,输入命令crontab root就会看到varspoolcron文件夹下看到相应的副本文件root。至
  • linux新建用户命令(linux创建用户命令) linux系统添加用户命令是什么1、Linux如何创建用户打开xshell软件,远程访问您的服务器或虚拟机。Linux添加用户名的命令是:Suduseraded。输入用户文件夹,查看是否已经有一个包
  • linux打开文件夹命令(linux常用命令 打开文件) linux进入管理员模式命令在Linux的命令提示窗口下。输入su命令,然后输入密码就可以进入管理员了。首先打开linux vi,进入到编辑页面中,然后按下“ESC”按键就可以切换到命令模式中了。然
  • linux安装rz(Linux安装maven) Linux下rz命令怎么使用解决方法:本地系统中安装Xshell,用Xshell连接虚拟机Linux,在Xshell中输入命令rz即可上传文件。通过你的描述,将本地的文件上传至linux ,可以通过