很多人认为Python语言简单(实际真的那么简单吗?语法简洁不代表容易学),都去自学Python编程语言,然后寻思出去找一份好的工作,其中学生居多。所以这套面试题我随机例举了几个罢了,文末有提示。

很多人认为Python语言简单(实际真的那么简单吗?语法简洁不代表容易学),都去自学Python编程语言,然后寻思出去找一份好的工作,其中学生居多。所以这套面试题我随机例举了几个罢了,文末有提示。

一般面试官见到初入社会的学生,他不会问你多少年的开发经验,最多他只会提你是自学还是系统学,熟悉哪些框架?所提的面试题也会相对简单,然而薪资方面也会大幅度降低,这是人之常情。

大型企业的面试题总会出一些新花样,来表示它们的与众不同之处。似是而非,感觉很容易,实际上你确实答不出来!这就是他们想要的效果,他们会说这么基础的Python知识点你都答不出来等等...从而降低你的月薪。

下面的面试问题主要涉及的都是Python语言本身,不是哪些模块与框架的掌握,每个面试题实际上都是一个教程,一些面试题甚至会涉及到多个编程领域。这是你以后面试的一道护身符。

1、 Python编程是什么?他会鼓励你与其它语言做对比。

答案:

  • Python为面对对象解释型语言。与C语言等其它封装的语言不同之处在于跑Python代码之前无需编译。
  • Python是动态类型语言,在声明变量时,无需说明变量的类型。举例X = 111 程序也不会报错,但是在其它语言里就不一定了。
  • Python代码简洁,所以编写速度很快,然而运行速度却比编译语言慢。但是Python可以与C语言嵌入式编程,所以我们可以解决这个问题。例:numpy模块运行速度非常快,但其算术运算却并不是由Python实现的。
  • Python用途非常广泛,爬虫,web,运维,大数据,人工智能等等,可以帮助其他语言和组件改善运行状况,所以称之为“胶水语言”。
  • Python有丰富的第三方库,程序员可以专注于算法与数据结构设计,而不用去处理底层的细节。

面试官为何问此问题,我觉得无需解释。

2、 补充下面代码中所缺失的代码部分

答案

  • 让你写代码,当然一方面可以检测你对代码的严谨程度。命名规范是否统一等。
  • 递归函数不仅需要递归而且需要终止,否则将会无休无止的调用栈,看你是否明白其中的原理。
  • 使用os模块和操作系统进行交互,交互方式可以跨平台。代码sChildPath = sPath + '/' + sChild,在Windows系统上是会报错的。
  • 当你不知道代码所需要实现的功能时,你可以大胆的问,不然你无法答题。

递归在Python中很重要,同时考验你操作系统进行交互的知识点是否掌握。

3、 A0,A1至An的最终值是什么

问题的意义

  • 列表解析对效率的提升显著,但是也是很多人的学习障碍。
  • 部分Python代码故意写的很怪的,就是让你知道以后你的同事可能就是如此。

4、 Python的多线程是什么?例举Python代码用并行方式运行的办法。

Python的多线程与其它语言有着本质的差别。Python确实有多线程包,但Python中有一个GIL的存在,它会让你的多个线程中,始终只有一个被执行,所以对提升代码效率没有任何意义。

但是当我们想同时执行一些任务,不考虑效率问题时,那么使用threading包是很方便的。

这个问题很关键: 许多学过其它编程语言的开发人员,始终不信多线程鸡肋,不碰南墙不回头,实际上也是看你是什么水平了。

5、 看代码,写出输出结果

答案

输出的结果用注解表示:

为何问这个问题:

面对对象的理解是Python编程的核心,考验你是否理解了继承与Python中super函数的使用方法。

6、 你是否有过失败经历?

错误答案

从未,举世无敌

人性考验:

公司需要敢承认错误,为自己的错误负责,并且能够从错误中学习的人。如果你真的没有过失败,那回答这个问题的时候你可能需要编故事了。

7、 是否独立用Python开发过项目,就算没问,你一定要自己补充。

真的?

做过个人项目,说明你的技能水平方面比一般人较高,而且愿意付出更多的努力,甚至你确实是热爱Python。同时你有维护你的Python个人项目,这可是属于工作之外的事情,言外之意就是你工作之外也坚持编程,到此,就懂了。

此Python面试题我拿来的都是最简单的,是真正的学生面试题,为什么我不拿难度高的呢?因为很多工程师面试题一般网友也无法做出来!如果你能够都答出来,那么你真的可以去面试了,但是我还是建议再修炼一段时间Python,因为这样的题表示你的薪资不会太高。

最后,非常感谢您阅读我的文章!有任何问题可以后台私信我,我都很乐意解答。


查理不是猹
7 声望7 粉丝