爬蟲工程師的的薪資爲20K起,固然,由於大數據,薪資也將一路上揚。那麼,Python須要學到什麼程度呢?今天咱們來看看3位前輩的回答。python
一、前段時間快要畢業,而我又不想找本身的老本行Java開發了,因此面了不少Python爬蟲崗位。linux
由於我在南京上學,因此我一開始只是在南京投了簡歷,我一共面試了十幾家企業,其中只有一家沒有給我發offer,其餘企業都願意給到10K的薪資,不要拿南京的薪資水平和北上深的薪資水平比較,結合面試常問的問題類型說一說個人心得體會。git
第一點:Pythongithub
由於面試的是Python爬蟲崗位,面試官大多數會考察面試者的基礎的Python知識,包括但不限於:web
Python2.x與Python3.x的區別
Python的裝飾器
Python的異步
Python的一些經常使用內置庫,好比多線程之類的
第二點:數據結構與算法面試
數據結構與算法是對面試者尤爲是校招生面試的一個很重要的點,固然小公司不會太在乎這些,從目前的招聘狀況來看對面試者的數據結構與算法的重視程度與企業的好壞成正比,那些從不問你數據結構的你就要小心他們是否把你當碼農用的,固然以上狀況不絕對,最終解釋權歸面試官全部。算法
第三點:Python爬蟲sql
最重要也是最關鍵的一點固然是你的Python爬蟲相關的知識與經驗儲備,這一般也是面試官考察的重點,包括但不限於:數據庫
你遇到過的反爬蟲的策略有哪些?
你經常使用的反反爬蟲的方案有哪些?
你用過多線程和異步嗎?除此以外你還用過什麼方法來提升爬蟲效率?
有沒有作過增量式抓取?
對Python爬蟲框架是否有了解?
第四點:爬蟲相關的項目經驗編程
爬蟲重在實踐,除了理論知識以外,面試官也會十分注重爬蟲相關的項目:
你作過哪些爬蟲項目?若是有Github最好
你認爲你作的最好的爬蟲項目是哪一個?其中解決了什麼難題?有什麼特別之處?
以上是我在面試過程當中,會碰到的一些技術相關的問題的總結,固然面試中不光是技術這一點,可是對於作技術的,過了技術面基本上就是薪資問題了。
也許有人問我如今在哪家公司作爬蟲開發?很抱歉,最終我放棄了南京的全部機會到了上海作我更喜歡的崗位:數據工程師。
二、給你一點個人面經吧。
初級的:
網絡基礎:cookie,session,https,headers經常使用的字段,代理使用等等
python基礎:這個網上搜到的面經都得會,加上異步,多進程,多線程等等
爬蟲:xpath,requests如何處理https,常見的反爬措施,舉例說一個最難的爬蟲過程,scrapy使用中的細節,例如代理,cookie,傳參等等。
數據庫:數據庫操做,並表之類的。
中級:
網絡:幾層網絡層的細節,好比說說udp/tcp/smtp區別,說說10.x.x.x/127.x.x.x/192.x.x.x的區別,說說DNS,談談路由交換機的區別
python:多重繼承,多態,單例用裝飾器的實現,數組/生成器/列表解析效率等等稍深刻的細節
爬蟲:分佈式爬蟲的實現,給你一個任務你立刻給出一個合理的架構,驗證碼的處理,增量數據爬取,寫爬蟲時有沒寫些輔助工具。
數據庫:sql nosql的細節,性能上的。
加分項:數據挖掘,機器學習,天然語言處理,能寫網站,熟練操做linux,github小星星
在學習python中有任何困難不懂的能夠加入python交流qun 227-435-450多多交流問題,互幫互助,裏有不錯的學習教程和開發工具。學習python有任何問題(學習方法,學習效率,如何就業),能夠隨時來
三、首先說說Python吧
爬蟲給人的感受就是對於Python編程的知識要求並不高,確實,搞懂基本數據結構、語句,會寫寫函數好像就OK了。
本身業餘玩玩爬點數據還OK,可是你是要找工做成功爬蟲工程師的,紮實的編程基礎可不是會寫函數就夠了的。Python的高級特性、面向對象編程、多線程、裝飾器等等你至少須要瞭解一下吧。
如今不少爬蟲工程師的面試,編程的基本功要求仍是很高的。編程的功底,以及對語言的理解,從某種程度上能夠看出你的學習能力、發展潛力。
爬蟲技術
HTTP必需要有很深入的理解,這是你縱橫網絡的立身之本;
BeautifulSoup、xpath這些都是基礎操做了,必定要作到很是熟練;
Scrapy框架要會用,要能信手捏來寫個分佈式爬蟲;
Webdriver、Selenium、PhantomJS至少也要會使用吧;
反爬蟲的技巧,重中之重,能不能搞回來數據,能高多少數據回來,很大程度依賴於此。抓包、cookie分析、代理池搭建、字體加密、驗證碼處理等等,也都是常規操做了;
固然數據庫也少不了啊。通常企業要求至少會一種SQL和一種noSQL。
瞭解布隆過濾器,會增量爬取。
加分項:
掌握Python web相關的一些東西,可以進行後端開發;
掌握數據分析或者數據挖掘的技能,可以搞個算法模型,作個分析和預測。
今天就聊到這裏啦!