Python爬蟲工程師面試常見題
一.專案問題:
一般面試官的第一個問題八成都是問一下以前做過的專案,所以最好準備兩個自己最近寫的有些技術
含量的專案,當然一定要自己親手寫過的,在別的地方看的原始碼,就算看的再清楚,總歸沒有自己敲的
瞭解的多。以下是抽出的幾點
1.你寫爬蟲的時候都遇到過什麼反爬蟲措施,你是怎麼解決的
2.用的什麼框架,為什麼選擇這個框架(我用的是scrapy框架,所以下面的問題也是針對scrapy)
二.框架問題(scrapy)可能會根據你說的框架問不同的問題,但是scrapy還是比較多的
1.scrapy的基本結構(五個部分都是什麼,請求發出去的整個流程)
2.scrapy的去重原理 (指紋去重到底是什麼原理)
3.scrapy中介軟體有幾種類,你用過那些中介軟體,
4.scrapy中介軟體再哪裡起的作用(面向切面程式設計)
三.代理問題
1.為什麼會用到代理
2.代理怎麼使用(具體程式碼,請求在什麼時候新增的代理)
3.代理失效了怎麼處理
四.驗證碼處理
1.登陸驗證碼處理
2.爬取速度過快出現的驗證碼處理
3.如何用機器識別驗證碼
五.模擬登陸問題
1.模擬登陸流程
2.cookie如何處理
3.如何處理網站傳參加密的情況
六.分散式
1.分散式原理
2.分散式如何判斷爬蟲已經停止了
3.分散式去重原理
七.資料儲存和資料庫問題
1.關係型資料庫和非關係型資料庫的區別
2.爬下來資料你會選擇什麼儲存方式,為什麼
3.各種資料庫支援的資料型別,和特點,比如:redis如何實現持久化,mongodb
是否支援事物等。。
八.python基礎問題
# 基礎問題非常多,但是因為爬蟲性質,還是有些問的比較多的,下面是總結
1.python2和python3的區別,如何實現python2程式碼遷移到python3環境
2.python2和python3的編碼方式有什麼差別(工作中發現編碼問題還是挺讓人不爽的)
3.迭代器,生成器,裝飾器
4.python的資料型別
九.協議問題
# 爬蟲從網頁上拿資料肯定需要模擬網路通訊的協議
1.http協議,請求由什麼組成,每個欄位分別有什麼用,https和http有什麼差距
2.證書問題
3.TCP,UDP各種相關問題
十.資料提取問題
1.主要使用什麼樣的結構化資料提取方式,可能會寫一兩個例子
2.正則的使用
3.動態載入的資料如何提取
4.json資料如何提取
十二.演算法問題
# 這個實在不好總結,比較考驗程式碼功力,大部分會讓你寫出時間複雜度比較低的
演算法。小夥伴們要善用python的資料型別,對python的資料結構深入瞭解。
以上就是總結內容,歡迎小夥伴們共同探討。每個公司各有特點,但是這些算是基礎,也是常見問題。
祝大家能找到理想工作,不寫bug