Redian新闻
>
来聊聊你见过的最难Python面试题

来聊聊你见过的最难Python面试题

公众号新闻

Offer帮官网:offerbang.io


要说时下数据行业最热门的工具,那一定非Python莫属!简单易学、功能强大、开发效率高......根据全球知名TIOBE编程语言社区发布的2022年编程语言排行榜显示,Python的使用率跃居榜首,已经是全球使用率最高的编程工具了



从各大企业数据相关岗位的招聘信息中,我们也可以看出Python逐渐变成了求职时的必备技能!



临近毕业季,想要从事数据行业的小伙伴们,你们对Python的掌握度达到什么水平了?有把握安全通过技术面吗?今天,我们为大家准备了一些面试题,大家不妨做做看,检测一下自己的水平吧。


最难的Python面试题


题目一:猜猜这种情况下的输出?(Lazy Operators)



答案:True,False


题目解析:函数All()有点复杂,因为它代表了空洞真理的概念。与链式惰性逻辑运算符一样,该算法是查找第一个False元素,如果没有找到则返回True。由于空序列中没有错误元素,因此Print(all([]))打印 True。


在函数Any()中,如果可迭代的任何元素为真,它将返回True。Python 中的逻辑运算符是懒惰的,该算法查找第一次出现的真元素,如果没有找到,则返回False。由于序列为空,因此没有元素可以为真,因此Print(any([])) 打印 False。


题目二:下列代码的输出是什么?



答案:0


题目解析发生这种情况是因为Python函数中的代码仅在调用时执行。这意味着只有在我们实际调用该方法时才会引发所有NameErrors并且变量将被绑定。


因此,在我们的例子中,在方法定义期间,Python允许我们引用尚未定义的类。但是,在执行过程中,Python会从外部范围绑定名称Follow,这意味着函数方法将返回一个新创建的Int实例。


题目三:下列代码的输出是什么?



答案:False


题目解析由于任意精度算术(长算术)的反直觉行为,Python支持Long类型的非常大的整数,但是 Python中浮点精度的限制是有限的。


数字是 2⁵³+ 1 = 9007199254740993


其次,是浮点精度限制,这意味着它不能完全表示为 Python浮点数,因此,为了执行 x + 1.0,Python将a强制转换为浮点数,将其四舍五入为Python可以轻松表示的9007199254740992.0,然后向其添加 1.0。但由于相同的表示限制,它将其设置回9007199254740992.0。


最后,由于比较规则。与其他语言不同,Python不会在Float与Int比较时抛出错误,也不会尝试将两个操作数转换为相同的类型。相反,他们比较实际的数值。并且因为9007199254740992.0低于9007199254740993,所以打印False。


最具参考价值的Python面试题


题目一:Fun(*args,**kwargs)中的*args,**kwargs什么意思?


答案:*args和**kwargs主要用于函数定义。可以将不定数量的参数传递给一个函数。这里不定的意思是:预先并不知道函数使用者会传递多少个参数给你,所以在这个场景下使用这两个关键字。


*args是用来发送一个非键值对的可变数量的参数列表给一个函数,如:



**kwargs可以将不定长度的键值对作为参数传递给一个函数。如果想要在一个函数里处理带名字的参数,就可以使用**kwargs。如:



题目二:Python中的Yield关键字有什么作用?(高频题)


答案保存当前运行状态,然后暂停执行,即将函数挂起。Yield关键字后面表达式的值作为返回值返回。当使用next()、send()函数从断点处继续执行。


题目三:在Python中split(),sub(),subn()的功能。


答案如果要修改字符串,Python的“re”模块提供了3种方法。他们是:


•split() - 使用正则表达式模式将给定字符串“拆分”到列表中。

•sub() - 查找正则表达式模式匹配的所有子字符串,然后用不同的字符串替换它们

•subn() - 它类似于sub(),并且还返回新字符串。


最具趣味的Python面试题


题目一创建一个函数,这个函数能把输入的字符串进行处理,并将返回替换了某些字符的字符串,规则如下:


•如果一个字母是大写辅音,请将该字符替换为“Iron”。

•如果字母是小写辅音或非字母字符,则对该字符不执行任何操作。

•如果一个字母是大写元音,请将该字符替换为“Iron Yard”。

•如果一个字母是小写元音,请用“Yard”替换该字符。


测试用例:

输入: "Hello WORLD!"

输出: "IronYardllYard IronIron YardIronIronIron!"


参考答案:入门解法:



进阶解法:

def tiy_fizz_buzz(s):   

  return "".join(("Iron "*c.isupper() + "Yard"*(c.lower() in "aeiou")).strip() or c for c in s)


题目二寻找有趣的数字,给定两个整数m,n(1

例如:

42的除数:1,2,3,6,7,14,21,42。

除数的平方:1,4,9,36,49,196,441,1764。

平方除数的总和是:2500显然,2500 = 50 *50

满足题意,所以42是一个有效的数字,应该返回[42, 2500]


参考答案:入门解法:遍历m,n范围内的数字,计算每个数字的所有除数的平方和Z,判断Z是否是完全平方数,满足条件,则加入到结果中。



进阶解法:将范围内的每个数字作为Key,该数字的所有除数的平方为Value,构建字典映射数据关系,判断字典中的Value是否是完全平方数。



题目三给定N×N数组,将从最外层元素排列的数组元素返回到中间元素,顺时针移动。如下图:

参考答案:入门解法:利用递归的思想,如果列表不为空:

获取数组中的第一个列表中的值,将除去第一个列表的数组通过zip函数将列表的数组进行行转列(列转行)。



进阶解法:利用Numpy中Rot90实现数组的行转列(列转行),然后获取第一行数组值。



最常考的Python面试题


题目一解释Python中的Help()函数和Dir()函数。


参考答案:Help()函数是一个内置函数,作用是查看函数和详细说明模块用途。如:



运行结果如下:



Dir()函数是Python内置函数,Dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如:



运行结果如下:



题目二如何在Python中管理内存?


参考答案Python中的内存管理由Python私有堆空间管理。对象和数据结构位于私有堆中,开发者无权访问此私有堆,是Python解释器负责处理的。Python对象的堆空间分配由内存管理器完成。核心API提供了一些开发者编写代码的工具。Python内置的垃圾回收器会回收使用所有的未使用内存,使其适用于堆空间。


题目三:什么是Monkey Patch?


参考答案:Monkey patch,即运行时动态改变方法、类的方法。不管是定义在类外的普通方法、类里面的方法、甚至是模块都可以进行“动态替换操作”。


做完以上题目,大家对自己对Python的掌握度有所了解了吗?众所周知,面试过程中的技术面可谓是重中之重,掌握正确的姿势,可以让你的成功率超级加倍哦!我们可以从以下两个方面着手准备:


✅针对以下数据结构和算法的知识点进行重点复习:


1️⃣:各种排序算法,冒泡排序,堆排序,快速排序等,时间复杂度空间复杂度分析,能做到手写。

2️⃣:常用数据结构。链表、二叉树、堆、栈等等。

3️⃣:各种排序算法,冒泡排序,堆排序,快速排序等,时间复杂度空间复杂度分析,能做到手写。


✅重点复习高频考察的基础知识。


1️⃣:语言基础:可变对象、不可变对象、装饰器、迭代器和生成器、线程和进程、魔术方法、动态解释性、元类等。

2️⃣:web基础:Http请求、状态码、网络安全、Django处理请求的顺序、Cookie和Session。

3️⃣:数据库:MySQL的事务、索引、锁、性能调优,NoSQL数据库中Redis考察的也比较多。


而对于社招来说,项目经验同样也非常重要。在面试时,我们可以利用STAR原则,总结在项目中的难点和闪光点。



其实,只要专业知识过硬,并且具有行业相关的实习经历和项目经历,无论是哪个大厂的面试都能所向披靡!


如果你想从事数据分析/量化金融/数据科学的相关工作,不论你是可以熟练使用其他软件的程序员/数据分析师,或是编程小白,都可以通过可以扫描下方👇课程链接了解课程详情。或者直接添加🔍课程顾问微信免费试听或咨询优惠。轻松的掌握相关技能,从容应对面试。


 课程顾问 


课程顾问|Dianna

免费试听|咨询课程优惠


我们的学员们已成功斩获金融、咨询、数据等多个领域的Offer。能展示出的Offer只是冰山一角,这一份份实打实、沉甸甸的Offer,让我们团队的每一个人都倍感自豪。在未来的道路上,Offer帮会继续脚踏实地,用专业、诚信、用心的原则,助力所有学员的求职之路!


(点击图片可查看大图)


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
绝地求生压枪(Python 版)《Python机器学习》畅销书作者又出新书了,全方位扩展你的机器学习知识见过空降兵,你见过空降战犬吗?“让 Python 快 5 倍”最新计划:优化解释器和内存管理活久见!见过新西兰的羊,但你见过小羊开车吗?比 Python 快 3.5 万倍的 Mojo 融资七亿,LLVM之父:不会威胁到 Python,该恐惧的应该是 C++Python 吞噬世界,GPT 吞噬 Python!ChatGPT 上线最强应用衰老的天敌Python重量级证书!Meta官方盖章:7天拿证,留学生零门槛比Python快68000倍!Mojo正式发布,网友:Python生态系统最重要的升级来了详解Python文件: .py、.ipynb、.pyi、.pyc、​.pyd !你见过装的最好的绿茶是什么样子?救!摩根大通、Bain面试最难题目曝光,这类留学生当场被挂!突发!摩根大通掀起Python转型,金融圈再无Excel?也许只有Python之父才能救得了Rust厚着脸皮搞来的Python资料,请低调使用(待会删)内娱恋综再上热搜!00后用Python谈恋爱,蒲熠星看完直呼太会了..多送一节竞赛课!未来领域教育编程夏令营开课啦,这个暑期让孩子成为Python大神!用AutoGPT自动做Python私活,赚了!回国散记(1)- 中招之旅Python吞噬世界,GPT吞噬Python!ChatGPT 上线最强应用:分析数据、生成代码都精通Python 吞噬世界,GPT 吞噬 Python!ChatGPT 上线最强应用:分析数据、生成代码都精通人体特异功能【城事】四大不可错过的巴黎“奇葩”建筑,你见过几个?黑白双煞!!!!HR:今天面试了几个数据分析师,我来聊聊他们没通过的原因大隐隐于市!越南一家人在San Jose开的小店全是越南客人——Phở Cường 2偷偷爆料下Python接单心得LPython:最新的高性能Python实现、速度极快且支持多后端LPython:最新的高性能 Python 实现、速度极快且支持多后端惊呆!不会R语言、Python软件,零基础的师姐却三个月发二区生信SCI……比Python快3.5万倍的Mojo融资7亿,LLVM之父:不会威胁到Python,该恐惧的应该是C++Python 实现单例模式的五种写法!GitHub热榜登顶:开源版GPT-4代码解释器,可安装任意Python库,本地终端运行談談「書法」(現代詩)
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。