1、前段時間快要畢業(yè),而我又不想找自己的老本行Java開發(fā)了,所以面了很多Python爬蟲崗位。
因為我在南京上學(xué),所以我一開始只是在南京投了簡歷,我一共面試了十幾家企業(yè),其中只有一家沒有給我發(fā)offer,其他企業(yè)都愿意給到10K的薪資,不要拿南京的薪資水平和北上深的薪資水平比較,結(jié)合面試常問的問題類型說一說我的心得體會。
第一點:Python
因為面試的是Python爬蟲崗位,面試官大多數(shù)會考察面試者的基礎(chǔ)的Python知識,包括但不限于:
Python2.x與Python3.x的區(qū)別
Python的裝飾器
Python的異步
Python的一些常用內(nèi)置庫,比如多線程之類的
第二點:數(shù)據(jù)結(jié)構(gòu)與算法
數(shù)據(jù)結(jié)構(gòu)與算法是對面試者尤其是校招生面試的一個很重要的點,當(dāng)然小公司不會太在意這些,從目前的招聘情況來看對面試者的數(shù)據(jù)結(jié)構(gòu)與算法的重視程度與企業(yè)的好壞成正比,那些從不問你數(shù)據(jù)結(jié)構(gòu)的你就要當(dāng)心他們是否把你當(dāng)碼農(nóng)用的,當(dāng)然以上情況不絕對,最終解釋權(quán)歸面試官所有。
第三點:Python爬蟲
最重要也是最關(guān)鍵的一點當(dāng)然是你的Python爬蟲相關(guān)的知識與經(jīng)驗儲備,這通常也是面試官考察的重點,包括但不限于:
你遇到過的反爬蟲的策略有哪些?
你常用的反反爬蟲的方案有哪些?
你用過多線程和異步嗎?除此之外你還用過什么方法來提高爬蟲效率?
有沒有做過增量式抓取?
對Python爬蟲框架是否有了解?
第四點:爬蟲相關(guān)的項目經(jīng)驗
爬蟲重在實踐,除了理論知識之外,面試官也會十分注重爬蟲相關(guān)的項目:
你做過哪些爬蟲項目?如果有Github最好
你認(rèn)為你做的最好的爬蟲項目是哪個?其中解決了什么難題?有什么特別之處?
以上是我在面試過程中,會碰到的一些技術(shù)相關(guān)的問題的總結(jié),當(dāng)然面試中不光是技術(shù)這一點,但是對于做技術(shù)的,過了技術(shù)面基本上就是薪資問題了。
也許有人問我現(xiàn)在在哪家公司做爬蟲開發(fā)?很抱歉,最終我放棄了南京的所有機會到了上海做我更喜歡的崗位:數(shù)據(jù)工程師。
2、給你一點我的面經(jīng)吧。
初級的:
網(wǎng)絡(luò)基礎(chǔ):cookie,session,https,headers常用的字段,代理使用等等
python基礎(chǔ):這個網(wǎng)上搜到的面經(jīng)都得會,加上異步,多進程,多線程等等
爬蟲:xpath,requests如何處理https,常見的反爬措施,舉例說一個最難的爬蟲過程,scrapy使用中的細節(jié),例如代理,cookie,傳參等等。
數(shù)據(jù)庫:數(shù)據(jù)庫操作,并表之類的。
中級:
網(wǎng)絡(luò):幾層網(wǎng)絡(luò)層的細節(jié),比如說說udp/tcp/smtp區(qū)別,說說10.x.x.x/127.x.x.x/192.x.x.x的區(qū)別,說說DNS,談?wù)劼酚?a href="http://www.asorrir.com/v/tag/1392/" target="_blank">交換機的區(qū)別
python:多重繼承,多態(tài),單例用裝飾器的實現(xiàn),數(shù)組/生成器/列表解析效率等等稍深入的細節(jié)
爬蟲:分布式爬蟲的實現(xiàn),給你一個任務(wù)你馬上給出一個合理的架構(gòu),驗證碼的處理,增量數(shù)據(jù)爬取,寫爬蟲時有沒寫些輔助工具。
數(shù)據(jù)庫:sql nosql的細節(jié),性能上的。
加分項:數(shù)據(jù)挖掘,機器學(xué)習(xí),自然語言處理,能寫網(wǎng)站,熟練操作linux,github小星星
在學(xué)習(xí)python中有任何困難不懂的可以加入我的python交流學(xué)習(xí)qun :227-435-450,多多交流問題,互幫互助,群里有不錯的學(xué)習(xí)教程和開發(fā)工具。學(xué)習(xí)python有任何問題(學(xué)習(xí)方法,學(xué)習(xí)效率,如何就業(yè))。
3、首先說說Python吧
爬蟲給人的感覺就是對于Python編程的知識要求并不高,確實,搞懂基本數(shù)據(jù)結(jié)構(gòu)、語句,會寫寫函數(shù)好像就OK了。
自己業(yè)余玩玩爬點數(shù)據(jù)還OK,但是你是要找工作成功爬蟲工程師的,扎實的編程基礎(chǔ)可不是會寫函數(shù)就夠了的。Python的高級特性、面向?qū)ο缶幊獭⒍嗑€程、裝飾器等等你至少需要了解一下吧。
現(xiàn)在很多爬蟲工程師的面試,編程的基本功要求還是很高的。編程的功底,以及對語言的理解,從某種程度上可以看出你的學(xué)習(xí)能力、發(fā)展?jié)摿Α?/p>
爬蟲技術(shù)
HTTP必須要有很深刻的理解,這是你縱橫網(wǎng)絡(luò)的立身之本;
BeautifulSoup、xpath這些都是基礎(chǔ)操作了,一定要做到非常熟練;
Scrapy框架要會用,要能信手捏來寫個分布式爬蟲;
Webdriver、Selenium、PhantomJS至少也要會使用吧;
反爬蟲的技巧,重中之重,能不能搞回來數(shù)據(jù),能高多少數(shù)據(jù)回來,很大程度依賴于此。抓包、cookie分析、代理池搭建、字體加密、驗證碼處理等等,也都是常規(guī)操作了;
當(dāng)然數(shù)據(jù)庫也少不了啊。一般企業(yè)要求至少會一種SQL和一種noSQL。
了解布隆過濾器,會增量爬取。
加分項:
掌握Python web相關(guān)的一些東西,能夠進行后端開發(fā);
掌握數(shù)據(jù)分析或者數(shù)據(jù)挖掘的技能,能夠搞個算法模型,做個分析和預(yù)測。
-
工程師
+關(guān)注
關(guān)注
59文章
1589瀏覽量
69219 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86180
發(fā)布評論請先 登錄
電源工程師的核心技能樹體系
一個優(yōu)秀的射頻測試工程師需要具備哪些技能?


如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
硬件工程師手冊(全套)
如何成為一名嵌入式軟件工程師?
Allegro工程師能力升級建議 工程師技能如何升級進階

嵌入式軟件工程師就業(yè)好不好?
如何成為一名合格的北向應(yīng)用開發(fā)工程師

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技

評論