隨著互聯(lián)網(wǎng)的發(fā)展,python語言現(xiàn)在變得越來越火爆,Python程序員越來越受到大家的青睞!那么想進入Python行業(yè),面試時需要注意些什么問題呢?我們在參加Python開發(fā)崗位面試的時候都要做哪些準備?一般Python技術方面的面試會問哪些問題?
今天,我們從2位面試官的角度來看看,參加 Python 開發(fā)崗面試需要做哪些準備。
(一)
我之前在豆瓣負責過一段時間我們組的技術面試。由于現(xiàn)在不再去面試,可以爆一爆。
1. 我從來不問google可獲得的答案的問題, 只是問問面試者「在過去的工作中,遇到的Ta認為較有成就感的一件事情是什么」和「如果出現(xiàn)了一個google不到的問題,你會怎么解決」這樣的問題。
2. 我從來不問操作系統(tǒng)等和Python無關的話題,優(yōu)先是我不怎么問和工作太無關的話題,有些東西用不到很多就被會遺忘,挑起來這種問題其實挺無聊;其次我是非計算機專業(yè)畢業(yè),問的東西說不定我自己都沒有把握,那就不出來獻丑了。我只關注面試者的學習能力和解決問題的方式,說白了,是不是就是看他是不是「聰明的人」。
3. 不問面試者的短處。我在自己被面試的時候有過這種精力,面試者問他擅長的內(nèi)容,我不一定搞的定,如果反過來面試Ta,我也會滅掉Ta。所以我會盡力尋找面試者的優(yōu)勢和優(yōu)點,尤其是對方已經(jīng)明確承認。其實很多經(jīng)驗和能力,只是需要一個機會和環(huán)境,所以我不想放過任何一個合適的人。
4. 面試者不會Python也沒有關系。面試者的主動性和學習能力覺得更重要,如果他在其他領域能證明做的不錯或者能讓我感覺到這個一個未來有潛質(zhì)成為優(yōu)秀工程師的人,不會Python沒有關系。 嗯目前看來,我沒有看錯過。
5. 我從來不問Python語法這種看書和google就能學會的問題,我只想了解Ta是否愿意去學。舉個例子,我會讓面試者「講講日常開發(fā)中都用到了那些Python內(nèi)置的模塊」,基本上說完我就能評估出他的能力和風格,繼而就是再問一些問題去驗證我的評估是不是準確。
6. 較后,我一般都會和面試者細聊一個Ta認為在過去的工作或者自己開源的項目中較熟悉的一個,從項目設計、踩過的坑兒、開發(fā)周期以及如何安排、如何確定需求、如何和其他人協(xié)作等方面,較后評估下Ta是否能很容易的融入到我們現(xiàn)在的團隊,大家是否可以接受Ta,對工作不負責的、沒有用心工作的、沒有團隊意識的、溝通能力有缺陷的就放棄掉,對性格上容易發(fā)生沖突的、不適合團隊合作的我就得考慮下,未來也會如實反饋給HR。
(二)
吃午飯的時候我就一直在想這個問題,我覺得重點不是Python而是后端工程師,因為Python只是系統(tǒng)的一部分,linux基礎操作要熟吧,sql要懂吧,消息隊列要知道吧,git要熟悉吧。..。..木桶理論,每一環(huán)都不能落下,精通其中一兩環(huán)就更好了。
基礎功扎實,新東西學得快,代碼寫得溜,命令敲得順,bug解的好,媽媽再也不用擔心我天天加班了~~~
一。語言
1.推薦一本看過較好的python書籍? 拉開話題好扯淡
2.談談python的裝飾器,迭代器,yield?
3.標準庫線程安全的隊列是哪一個?不安全的是哪一個?logging是線程安全的嗎?
4.python適合的場景有哪些?當遇到計算密集型任務怎么辦?
5.python高并發(fā)解決方案?我希望聽到twisted-》tornado-》gevent,能扯到golang,erlang更好
二。操作系統(tǒng)
可以直接認為是linux,畢竟搞后端的多數(shù)是和linux打交道。
1.tcp/udp的區(qū)別?tcp粘包是怎么回事,如何處理?udp有粘包嗎?
2.time_wait是什么情況?出現(xiàn)過多的close_wait可能是什么原因?
3.epoll,select的區(qū)別?邊緣觸發(fā),水平觸發(fā)區(qū)別?
三。存儲
存儲可能包含rdbms,nosql以及緩存等,我以mysql,redis舉例
mysql相關
1.談談mysql字符集和排序規(guī)則?
2.varchar與char的區(qū)別是什么?大小限制?utf8字符集下varchar較多能存多少個字符
3.primary key和unique的區(qū)別?
4.外鍵有什么用,是否該用外鍵?外鍵一定需要索引嗎?
5.myisam與innodb的區(qū)別?innodb的兩階段鎖定協(xié)議是什么情況?
6.索引有什么用,大致原理是什么?設計索引有什么注意點?
redis相關
1.什么場景用redis,為什么mysql不適合?
2.談談redis的事務?用事務模擬原子+1操作?原子操作還有其它解決方案嗎?
3.redis內(nèi)存滿了會怎么樣?
四。安全
web安全相關
1.sql注入是怎么產(chǎn)生的,如何防止?
2.xss如何預防?htmlescape后能否避免xss?
3.csrf是什么?django是如何防范的?
密碼技術
1.什么是分組加密?加密模式有哪些?ecb和cbc模式有什么區(qū)別?為什么需要iv向量?
2.簡單說說https的過程?
3.對稱加密與非對稱加密區(qū)別?
3.如何生成共享秘鑰? 如何防范中間人攻擊?
五。雜
是否關注新技術啊?golang,rust是否了解?numpy,pandas是啥鳥?
是否緊跟時代潮流?逛不逛微博,刷不刷知乎?
可能你覺得我問的好細,但這好多都是平常經(jīng)常遇到,并需要解決的,細節(jié)更能體現(xiàn)一個人。
有人說好簡單,有人說好難,其實我覺得這只適合面試2~3年工作經(jīng)驗的后端工程師。真的沒有問很難的題目,只是可能你平時沒有注意。
在這里我推薦幾本書吧
《python參考手冊》,絕對讓你更上一層樓
《圖解密碼技術》,密碼入門不二之選
《mysql技術內(nèi)幕第五版》,有點厚當手冊讀讀,要有耐心
為什么大家的意見有這么大差異?我想是個人經(jīng)歷不一樣吧,如果是搞web的對操作系統(tǒng)這塊和密碼技術會偏弱,但如果是系統(tǒng)工程師或是游戲服務端這塊會明顯偏強。
-
工程師
+關注
關注
59文章
1603瀏覽量
71230 -
python
+關注
關注
58文章
4889瀏覽量
90328
發(fā)布評論請先 登錄
研發(fā)工程師和測試工程師對于產(chǎn)品新功能的見解有何不同?#電子工程師 #電路知識 #人工智能
算法工程師需要具備哪些技能?
什么是BSP工程師
想成為硬件工程師?我教你?。∧愕孟葘W會這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
人工智能工程師高頻面試題匯總:循環(huán)神經(jīng)網(wǎng)絡篇(題目+答案)
電子發(fā)燒友工程師看!電子領域評職稱,技術之路更扎實
測試工程師都在用的Linux命令清單(建議收藏)
Python工程師面試時需要準備什么
評論