真實(shí) Python 爬蟲面試題
就在昨天我面試了蹬蚁,來(lái)到上海之后面試的第一家公司打月,面試過(guò)程挺順利趁怔,不出意外今天下午就會(huì)收到 offer湿硝。面試完之后,我走在路上润努,整個(gè)人都是在傻笑的狀態(tài)关斜,路人一臉關(guān)愛智障的眼神,但我還是非常的開心铺浇。
自己一路自學(xué)過(guò)來(lái)痢畜,不知道遇到多少 bug,不知道有多少個(gè)深夜,還在敲代碼丁稀,不知道有多少迷茫的時(shí)候吼拥。我只知道我必須要更加努力。幸運(yùn)的是线衫,這一路下來(lái)凿可,我沒有放棄。天道酬勤桶雀,寧?kù)o致遠(yuǎn)矿酵。
6 月底我從重慶一所普通二本學(xué)校畢業(yè)唬复,大學(xué)獲獎(jiǎng)屈指可數(shù)矗积,掛科卻不計(jì)其數(shù)。最開始我也連 C 語(yǔ)言的「hello world」敞咧,都要打錯(cuò) 4棘捣,5 遍。不是頭函數(shù)沒有加休建,就是少了一個(gè)字母乍恐。就單論大學(xué)的學(xué)習(xí),我就是一個(gè)學(xué)渣测砂。
我知道學(xué)習(xí)上比別人差茵烈,但至少在努力這個(gè)層面,我可以做到最好砌些。我清楚地記得最開始學(xué)技術(shù)的時(shí)候呜投,是看著別人的博客學(xué)。但我看一遍存璃,兩遍仑荐,甚至三遍根本就記不住。離開文章纵东,腦海里一片空白粘招,根本就不知道要寫什么代碼。
但那時(shí)候我根本不知道如何高效地學(xué)習(xí)偎球,于是我就用最低效率的方法洒扎,看的記不住,那我就抄一遍衰絮,把博客里的內(nèi)容袍冷,一個(gè)字一個(gè)字地敲打一遍。敲一遍記不住岂傲,那我就再敲一遍难裆。這就是我最早學(xué)習(xí)技術(shù)的方式。一個(gè)暑假的時(shí)間風(fēng)雨無(wú)阻,每天一篇博客敲打文乃戈,到了最后褂痰,有道云筆記里全是自己的敲打文。
現(xiàn)在回想起來(lái)那時(shí)候自己有多么的笨症虑,但卻又感謝曾經(jīng)努力的我缩歪。就是靠著比別人多努力一點(diǎn)點(diǎn),我慢慢能記得博客的內(nèi)容谍憔;就是比別人多努力一點(diǎn)點(diǎn)匪蝙,我能慢慢的寫一個(gè)小程序;就是比別人多努力一點(diǎn)點(diǎn)习贫,我能寫出幾千字的文章逛球;就是比別人多努力一點(diǎn)點(diǎn),公眾號(hào)發(fā)展至今已有 1.3W 的讀者數(shù)苫昌;就是比別人多努力一點(diǎn)點(diǎn)颤绕,如今來(lái)到我夢(mèng)寐以求的上海。
七月初祟身,獨(dú)身一人奥务,提著一包行李,買了張飛機(jī)票袜硫,就直接來(lái)到上海氯葬。上海我沒有朋友,沒有親戚婉陷,甚至不知道下飛機(jī)之后帚称,我該去往哪里。但這些都阻擋不了憨攒,我想要去上海的心世杀。
在此記錄下自己來(lái)到上海,第一家面試的公司肝集,面試到的題瞻坝。希望對(duì)你以后的 python 爬蟲道路有所幫助。等之后工作穩(wěn)定杏瞻,我再詳細(xì)寫一篇所刀,如何自學(xué) python 找到爬蟲工作。
筆試題
1. python 常用數(shù)據(jù)結(jié)構(gòu)有哪些捞挥?請(qǐng)簡(jiǎn)要介紹一下浮创。
2. 簡(jiǎn)要描述 Python 中單引號(hào)、雙引號(hào)砌函、三引號(hào)的區(qū)別斩披。
3. 如何在一個(gè) function 里面設(shè)置一個(gè)全局的變量溜族?
4. Python 里面如何拷貝一個(gè)對(duì)象?(賦值垦沉、淺拷貝煌抒、深拷貝的區(qū)別)
5. 如果 custname 字符串的內(nèi)容為 utf-8 的字符,如何將 custname 的內(nèi)容轉(zhuǎn)為 gb18030 的字符串厕倍?
6. 請(qǐng)寫出一段 Python 代碼實(shí)現(xiàn)刪除一個(gè) list 里面的重復(fù)元素寡壮。
7. 這兩個(gè)參數(shù)是什么意思:args,*kwargs讹弯?
8. 統(tǒng)計(jì)如下 list 單詞及其出現(xiàn)次數(shù)况既。
a=['apple', 'banana', 'apple', 'tomato', 'orange', 'apple', 'banana', 'watermeton']
9. 給列表中的字典排序:假設(shè)有如下 list 對(duì)象
alist=[{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c", "age":25}]
將 alist 中的元素按照 age 從大到小排序。
10. 寫出下列代碼的運(yùn)行結(jié)果
a = 1
def fun(a):
a = 2
fun(a)
print(a)
a = []
def fun(a):
a.append(1)
fun(a)
print(a)
class Person:
name = 'Lily'
p1 = Person()
p2 = Person()
p1.name = 'Bob'
print(p1.name)
print(p2.name)
print(Person.name)
11. 假設(shè)有如下兩個(gè) list:a = ['a', 'b', 'c', 'd', 'e']组民,b = [1, 2, 3, 4, 5]棒仍,將 a 中的元素作為 key,b 中元素作為 value邪乍,將 a降狠,b 合并為字典。
12. 使用 python 已有的數(shù)據(jù)結(jié)構(gòu)庇楞,簡(jiǎn)單的實(shí)現(xiàn)一個(gè)棧結(jié)構(gòu)。
面試官提的問(wèn)題
1. 項(xiàng)目上遇到了哪些難點(diǎn)否纬?如何解決吕晌?
2. 數(shù)據(jù)如何去重,清洗临燃,存入數(shù)據(jù)庫(kù)睛驳?
3. 有一個(gè)升序后又降序的數(shù)組,比如 1356742膜廊,如何查找到 2 的位置乏沸。
4. 如何查找到二叉樹兩個(gè)節(jié)點(diǎn)的最低公共祖節(jié)點(diǎn)?
5. mysql 的序列都有哪些爪瓜?
6. 遇到哪些反爬機(jī)制蹬跃?如何解決?
以上問(wèn)題铆铆,你是否能全部答出來(lái)蝶缀?