Python 30道高頻面試題及詳細(xì)解答
開學(xué)啦,開學(xué)啦!周末坐地鐵的時候看到很多同學(xué)推著行李箱,拎著大包小包的穿梭在人群中,哎新的一學(xué)期又開始啦,同時也意味著很多同學(xué)要準(zhǔn)備畢業(yè)啦,尤其是準(zhǔn)大四,準(zhǔn)研三的同學(xué)。
今年的招聘行情并不樂觀,小公司的宣講會少了,連大廠的宣講會也少了很多。目前這個行情多一份技能就多一份競爭,懂Python的需要再學(xué)點Java,會Java的也能擼起袖子寫Python的測試腳本,技多不壓身啊。
今晚小編收羅了一些高頻的Python面試題,為大家的求職面試添磚加瓦,幫你打call加油!
1.如何用一行代碼生成[1,3,5,7,9,11,13,15,17,19]
2 .寫一個等差數(shù)列
產(chǎn)生一個首項為8,公差為12,末項不大于100的列表
3.一行代碼求1到1000內(nèi)的整數(shù)和
4.字典按Value排序并返回新字典
簡單的一個字典排序問題,字典是Python最重要的三大基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
5. 打亂一個列表
使用random模塊可以輕松搞定,不得不說這個random庫其實很有用,里面有很多重要的函數(shù)值得大家熟練掌握
6.如何刪除list里面的重復(fù)的元素并保證順序并不變化
很多人第一時間會想到set(),set可以去重復(fù)的,但是不能保證列表元素的順序,正確的玩法是這樣的:
7.字符串處理成字典
輸入一個長的字符串,如何快速的編程字典,簡單的規(guī)則可以用split,如果是復(fù)雜的需要構(gòu)造自定義的正則去處理。
8.怎么找出兩個列表的相同元素和不同元素
給定兩個列表,需要你快速的尋找相同的元素,可以用很多方法,自己寫算法也可以直接用set里面的內(nèi)置函數(shù)intersection()和difference()
9.輸入一個日期,判斷這一天是今年的哪一天
日期的使用也是非常常見的,面試的時候會經(jīng)常問,Python里面的datatime模塊能輕松處理大部分的日期問題
10.遍歷目錄內(nèi)子目錄,抓取zip文件
利用os模塊,walk方法進(jìn)行層層遍歷所有的文件,os.path.splittext()返回文件的名字和擴(kuò)展名,然后過濾。這道題的出鏡率還是很高,小編曾經(jīng)面試某H公司就被問到的
11.如果你的PC是4G內(nèi)存,如何處理1個10G的csv文件
可以用兩種方法,使用Python的生成器yield 分行讀取,還有就是用Python里面的神器pandas,這個庫是Python玩數(shù)據(jù)分析最最厲害的庫,設(shè)置里面的read_csv函數(shù)的chunk值即可,pandas是用c語言寫的,處理大數(shù)據(jù)速度很快
12.統(tǒng)計一個單詞本里面頻次最高的10個單詞
使用yield進(jìn)行數(shù)據(jù)讀取逐行讀取,然后用正則進(jìn)行清洗,最后保存到defaultdict對象中。
13.如何反轉(zhuǎn)一個整數(shù),比如-12345 變成-54321
這道題目還是稍微有點復(fù)雜的,需要化解為下面幾步處理:
- 如何x位于(-10,10)區(qū)間,直接返回;
- 然后把x轉(zhuǎn)換為字符串的對象sx;
- 如果x是負(fù)數(shù),截取sx[1:],并反轉(zhuǎn)字符串;
- 如果x是正數(shù),直接反轉(zhuǎn)字符串;
- 最后使用內(nèi)置函數(shù)int()轉(zhuǎn)為整數(shù);
14.lambda函數(shù)的形參和返回值
key值為lambda函數(shù),說說lambda函數(shù)的形參和返回值?lambda函數(shù)在Python里面頗為神秘,用的好可以事半功倍,但是你是否真的理解它。
lambda的函數(shù)的形參為s,解包之后的元素值為{1,3,5,7},{1,5,7},{2,4,6,7,8}然后取它們的長度為4,3,5
15.使用filter()來求出列表中大于10的元素
filter函數(shù)配合lambda函數(shù),可以輕松過濾
16.可變類型和不可變類型,列舉3個
可變類型有l(wèi)ist,dict,deque
不可變類型有字符串str,int,float,tuple
17. is 和==有什么區(qū)別
is 是用來判斷兩個對象的標(biāo)示號(內(nèi)存地址)是否相等
==是用來判斷或者內(nèi)容值是否相等
18.有什么方法可以獲取類的所有屬性和方法?
獲取一個下面的類的所有屬性和方法,可以使用dir()內(nèi)置函數(shù)
熬夜太晚,小編有點體力不支太困太困啦,還有12道Python面試題,小編再出一篇進(jìn)行總結(jié)。懂的同學(xué),溫故而知新,不懂的同學(xué)可以臨時磨槍,不快也光呀。
面試這活除了經(jīng)驗和運(yùn)氣,成功有很大一部分是靠精心準(zhǔn)備,準(zhǔn)備的越充分,成功的幾率越大,學(xué)霸除外,大家加油!