欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-04-03 09:45:53
人生存在不可预测的变数,每个人都会存在几次跳槽,程序员更是如此。每跳一次就多一次某某公司经历,多一年开发经验。别以为这是说笑,事实就是这样的! 作为一个Python程序员,不管你应聘web开发还是爬虫工作,或者数据分析、自动化运维。这些陷阱你总会碰到。 总结了Python面试的十个大陷阱,如果你是P ......

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

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

 

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

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

 

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

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

面试十次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对象越多,内存消耗就越大!