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

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

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

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

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

2 .写一个等差数列

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

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

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

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

5. 打乱一个列表

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

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

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

7.字符串处理成字典

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

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

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

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

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

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

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

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

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

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

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

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

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

  •  如何x位于(-10,10)区间,直接返回;

  •  然后把x转换为字符串的对象sx;

  •  如果x是负数,截取sx[1:],并反转字符串;

  •  如果x是正数,直接反转字符串;

  •  最后使用内置函数int()转为整数;

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

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

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

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

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

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

可变类型有list,dict,deque

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

17. is 和==有什么区别

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

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

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

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

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

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

 

相关推荐

1评论
表情
Inputable 255 chars
网站,小程序,A
just now
不错,看看一下