Python 30道高频面试题及详细解答

时间:2022-11-07 21:29:29

Python 30道高频面试题及详细解答

开学啦,开学啦!周末坐地铁的时候看到很多同学推着行李箱,拎着大包小包的穿梭在人群中,哎新的一学期又开始啦,同时也意味着很多同学要准备毕业啦,尤其是准大四,准研三的同学。

今年的招聘行情并不乐观,小公司的宣讲会少了,连大厂的宣讲会也少了很多。目前这个行情多一份技能就多一份竞争,懂Python的需要再学点Java,会Java的也能撸起袖子写Python的测试脚本,技多不压身啊。

今晚小编收罗了一些高频的Python面试题,为大家的求职面试添砖加瓦,帮你打call加油!

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

1.如何用一行代码生成[1,3,5,7,9,11,13,15,17,19]

Python 30道高频面试题及详细解答

2 .写一个等差数列

产生一个首项为8,公差为12,末项不大于100的列表

Python 30道高频面试题及详细解答

3.一行代码求1到1000内的整数和

Python 30道高频面试题及详细解答

4.字典按Value排序并返回新字典

简单的一个字典排序问题,字典是Python最重要的三大基础数据结构

Python 30道高频面试题及详细解答

5. 打乱一个列表

使用random模块可以轻松搞定,不得不说这个random库其实很有用,里面有很多重要的函数值得大家熟练掌握

Python 30道高频面试题及详细解答

6.如何删除list里面的重复的元素并保证顺序并不变化

很多人第一时间会想到set(),set可以去重复的,但是不能保证列表元素的顺序,正确的玩法是这样的:

Python 30道高频面试题及详细解答

7.字符串处理成字典

输入一个长的字符串,如何快速的编程字典,简单的规则可以用split,如果是复杂的需要构造自定义的正则去处理。

Python 30道高频面试题及详细解答

8.怎么找出两个列表的相同元素和不同元素

给定两个列表,需要你快速的寻找相同的元素,可以用很多方法,自己写算法也可以直接用set里面的内置函数intersection()和difference()

Python 30道高频面试题及详细解答

9.输入一个日期,判断这一天是今年的哪一天

日期的使用也是非常常见的,面试的时候会经常问,Python里面的datatime模块能轻松处理大部分的日期问题

Python 30道高频面试题及详细解答

10.遍历目录内子目录,抓取zip文件

利用os模块,walk方法进行层层遍历所有的文件,os.path.splittext()返回文件的名字和扩展名,然后过滤。这道题的出镜率还是很高,小编曾经面试某H公司就被问到的

Python 30道高频面试题及详细解答

11.如果你的PC是4G内存,如何处理1个10G的csv文件

可以用两种方法,使用Python的生成器yield 分行读取,还有就是用Python里面的神器pandas,这个库是Python玩数据分析最最厉害的库,设置里面的read_csv函数的chunk值即可,pandas是用c语言写的,处理大数据速度很快

Python 30道高频面试题及详细解答

12.统计一个单词本里面频次最高的10个单词

使用yield进行数据读取逐行读取,然后用正则进行清洗,最后保存到defaultdict对象中。

Python 30道高频面试题及详细解答

13.如何反转一个整数,比如-12345 变成-54321

这道题目还是稍微有点复杂的,需要化解为下面几步处理:

  • 如何x位于(-10,10)区间,直接返回;
  • 然后把x转换为字符串的对象sx;
  • 如果x是负数,截取sx[1:],并反转字符串;
  • 如果x是正数,直接反转字符串;
  • 最后使用内置函数int()转为整数;

Python 30道高频面试题及详细解答

14.lambda函数的形参和返回值

key值为lambda函数,说说lambda函数的形参和返回值?lambda函数在Python里面颇为神秘,用的好可以事半功倍,但是你是否真的理解它。

Python 30道高频面试题及详细解答

lambda的函数的形参为s,解包之后的元素值为{1,3,5,7},{1,5,7},{2,4,6,7,8}然后取它们的长度为4,3,5

15.使用filter()来求出列表中大于10的元素

filter函数配合lambda函数,可以轻松过滤

Python 30道高频面试题及详细解答

16.可变类型和不可变类型,列举3个

可变类型有list,dict,deque

不可变类型有字符串str,int,float,tuple

17. is 和==有什么区别

is 是用来判断两个对象的标示号(内存地址)是否相等

==是用来判断或者内容值是否相等

18.有什么方法可以获取类的所有属性和方法?

获取一个下面的类的所有属性和方法,可以使用dir()内置函数

Python 30道高频面试题及详细解答

熬夜太晚,小编有点体力不支太困太困啦,还有12道Python面试题,小编再出一篇进行总结。懂的同学,温故而知新,不懂的同学可以临时磨枪,不快也光呀。

面试这活除了经验和运气,成功有很大一部分是靠精心准备,准备的越充分,成功的几率越大,学霸除外,大家加油!