100道Python常見面試題,PDF打包下載

Python現(xiàn)在已經(jīng)成為最熱門的編程語言之一,IEEE Spectrum統(tǒng)計數(shù)據(jù)顯示,Python無論從普及度和生態(tài)規(guī)模都已位居編程語言第一,而且相關(guān)職位也越來越多,無論數(shù)據(jù)崗、測試崗亦或開發(fā)崗都對Python技能有著高度的需求。

從求職來看,無論筆試還是面試,想要順利通過,刷題都是最好的路徑,python崗位更是如此。
之前在github上看到一個項目,作者收集了接近100個常見的Python面試題,涉及語言特性、操作系統(tǒng)、數(shù)據(jù)庫、web、數(shù)據(jù)結(jié)構(gòu)等等,非常詳細(xì)。
部分面試題清單:
Github地址:https://github.com/taizilongxu/interview_python
星球君已經(jīng)下載匯總好高清PDF,大家在Python星球公眾號后臺回復(fù)【7】,即可獲得完整版本。
下面是部分面試題:
1、臺階問題/斐波那契
一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。
fib = lambda n: n if n <= 2 else fib(n - 1) + fib(n - 2)
第二種記憶方法
def memo(func):
cache = {}
def wrap(*args):
if args not in cache:
cache[args] = func(*args)
return cache[args]
return wrap
@memo
def fib(i):
if i < 2:
return 1
return fib(i-1) + fib(i-2)
第三種方法
def fib(n):
a, b = 0, 1
for _ in xrange(n):
a, b = b, a + b
return b
2、變態(tài)臺階問題
一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。
fib = lambda n: n if n < 2 else 2 * fib(n - 1)
3、矩形覆蓋
我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
第
2*n個矩形的覆蓋方法等于第2*(n-1)加上第2*(n-2)的方法。
f = lambda n: 1 if n < 2 else f(n - 1) + f(n - 2)
4、楊氏矩陣查找
在一個m行n列二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)。
使用Step-wise線性搜索。
def get_value(l, r, c):
return l[r][c]
def find(l, x):
m = len(l) - 1
n = len(l[0]) - 1
r = 0
c = n
while c >= 0 and r <= m:
value = get_value(l, r, c)
if value == x:
return True
elif value > x:
c = c - 1
elif value < x:
r = r + 1
return False
5、去除列表中的重復(fù)元素
用集合
list(set(l))
用字典
l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()
print l2
用字典并保持順序
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2
列表推導(dǎo)式
l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
sorted排序并且用列表推導(dǎo)式.
l = ['b','c','d','b','c','a','a'] [single.append(i) for i in sorted(l) if i not in single] print single
想要獲得完整面試題,大家可以去搜索作者github項目。
Github地址:https://github.com/taizilongxu/interview_python
星球君也已經(jīng)下載匯總好高清PDF,大家在Python星球公眾號后臺回復(fù)【7】,即可獲得完整版本。
覺得不錯,點(diǎn)個在看哦 
