无相兄
无相兄
7天前 · 2 人阅读

很多人认为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个人项目,这可是属于工作之外的事情,言外之意就是你工作之外也坚持编程,到此,就懂了。

收藏 0
关键词: python 代码 面试题 语言 多线程 编程
评论