码农的世界python热爱者程序员

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

2018-07-07  本文已影响17人  Python新世界

人生存在不可预测的变数,每个人都会存在几次跳槽,程序员更是如此。每跳一次就多一次某某公司经历,多一年开发经验。别以为这是说笑,事实就是这样的!

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

作为一个Python程序员,不管你应聘web开发还是爬虫工作,或者数据分析、自动化运维。这些陷阱你总会碰到。

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

总结了Python面试的十个大陷阱,如果你是Python程序员,那么请保存好!

问题1:修改下面的Python代码,使代码调用类A的show方法? image 面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答:考的是类继承,只要通过class 方法指定类对象即可。补充的Python代码如下所示:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

问题2:修改Python代码使它可以跑起来?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答:考的是方法对象,需要实现 call 方法才能能让对象实例能被直接调用:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

问题3:这段代码的输出结果?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

init 是创建对象是调用的。

问题4:这段Python代码会输出什么?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答案:考验你对列表和字典的生成的理解。

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

问题5:此Python代码得出的结果?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答案:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

考验全局变量和局部变量的理解。num并不是一个全局变量,因此每一个函数都得到了自己的 num 拷贝,想修改 num ,就必须用 global 关键字声明。

问题6:怎样实现用一行Python代码交换两个变量值?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答案:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

完全是考验基本功了这道题。

问题7:怎么添加代码,让没有定义的方法全部调用mydefault方法?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答案:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

考验Python的默认方法, 必须当没有定义的方法调用时,才会调用 getattr方法。当 fn1 方法传入参数的时候,能够帮 mydefault 方法增加一个 *args 不定参数用来兼容。

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

问题8:一个包里有三个模块

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答案:在包中增加 init.py 文件,而且在文件中增加:

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

问题9:写一个函数,接收整数参数 n ,返回一个函数,函数返回n和参数的积。

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

问题10:如果此段Python代码是在Python2中,那么会出现什么BUG?

面试十次Python工程师,十次都是回去等消息,总结了十大陷阱!

答案:考验Python2的基础知识,你以为2020年Python2不再使用是针对所有人吗?NO!企业里面的那么多程序不是三年两载考验改变的,不过是企业付费而已。因为变量str是个不可变对象,当迭代时,python就会生成新的str对象来存储新的字符串,num越大,创建的str对象越多,内存消耗就越大!

上一篇下一篇

猜你喜欢

热点阅读