起薪2萬的爬蟲工程師,Python需要學到什麼程度才可以就業?

嬌兮心有之發表於2018-12-19

爬蟲工程師的的薪資為20K起,當然,因為大資料,薪資也將一路上揚。那麼,Python需要學到什麼程度呢?今天我們來看看3位前輩的回答。

Python學習資料或者需要程式碼、視訊加Python學習群:960410445

1、前段時間快要畢業,而我又不想找自己的老本行Java開發了,所以面了很多Python爬蟲崗位。

因為我在南京上學,所以我一開始只是在南京投了簡歷,我一共面試了十幾家企業,其中只有一家沒有給我發offer,其他企業都願意給到10K的薪資,不要拿南京的薪資水平和北上深的薪資水平比較,結合面試常問的問題型別說一說我的心得體會。

起薪2萬的爬蟲工程師,Python需要學到什麼程度才可以就業?

第一點:Python

因為面試的是Python爬蟲崗位,面試官大多數會考察面試者的基礎的Python知識,包括但不限於:

  • Python2.x與Python3.x的區別
  • Python的裝飾器
  • Python的非同步

Python的一些常用內建庫,比如多執行緒之類的

  • 第二點:資料結構與演算法
  • 資料結構與演算法是對面試者尤其是校招生面試的一個很重要的點,當然小公司不會太在意這些,從目前的招聘情況來看對面試者的資料結構與演算法的重視程度與企業的好壞成正比,那些從不問你資料結構的你就要當心他們是否把你當碼農用的,當然以上情況不絕對,最終解釋權歸面試官所有。

第三點:Python爬蟲

最重要也是最關鍵的一點當然是你的Python爬蟲相關的知識與經驗儲備,這通常也是面試官考察的重點,包括但不限於:

  • 你用過多執行緒和非同步嗎?除此之外你還用過什麼方法來提高爬蟲效率?
  • 有沒有做過增量式抓取?
  • 對Python爬蟲框架是否有了解?

第四點:爬蟲相關的專案經驗

爬蟲重在實踐,除了理論知識之外,面試官也會十分注重爬蟲相關的專案:

  • 你做過哪些爬蟲專案?如果有Github最好
  • 你認為你做的最好的爬蟲專案是哪個?其中解決了什麼難題?有什麼特別之處?

以上是我在面試過程中,會碰到的一些技術相關的問題的總結,當然面試中不光是技術這一點,但是對於做技術的,過了技術面基本上就是薪資問題了。

也許有人問我現在在哪家公司做爬蟲開發?很抱歉,最終我放棄了南京的所有機會到了上海做我更喜歡的崗位:資料工程師。

2、給你一點我的面經吧。

初級的:

  • 網路基礎: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小星星

3、首先說說Python吧

爬蟲給人的感覺就是對於Python程式設計的知識要求並不高,確實,搞懂基本資料結構、語句,會寫寫函式好像就OK了。

自己業餘玩玩爬點資料還OK,但是你是要找工作成功爬蟲工程師的,紮實的程式設計基礎可不是會寫函式就夠了的。Python的高階特性、物件導向程式設計、多執行緒、裝飾器等等你至少需要了解一下吧。

現在很多爬蟲工程師的面試,程式設計的基本功要求還是很高的。程式設計的功底,以及對語言的理解,從某種程度上可以看出你的學習能力、發展潛力。

爬蟲技術

  • HTTP必須要有很深刻的理解,這是你縱橫網路的立身之本;
  • BeautifulSoup、xpath這些都是基礎操作了,一定要做到非常熟練;
  • Scrapy框架要會用,要能信手捏來寫個分散式爬蟲;
  • Webdriver、Selenium、PhantomJS至少也要會使用吧;
  • 反爬蟲的技巧,重中之重,能不能搞回來資料,能高多少資料回來,很大程度依賴於此。抓包、cookie分析、代理池搭建、字型加密、驗證碼處理等等,也都是常規操作了;
  • 當然資料庫也少不了啊。一般企業要求至少會一種SQL和一種noSQL。

瞭解布隆過濾器,會增量爬取。

加分項:

  • 掌握Python web相關的一些東西,能夠進行後端開發;
  • 掌握資料分析或者資料探勘的技能,能夠搞個演算法模型,做個分析和預測。

今天就聊到這裡啦!

相關文章