如何面試Python后端工程師?
金三銀四,三月是個跳槽的好季節(jié),有人忙著找工作,有人忙著招人,作為招招聘企業(yè),如何找到一位靠譜的 Python 后端工程師是最重要的,作為候選人,找到一個心儀的公司是最重要的,只有雙方各自做足的準(zhǔn)備,才有可能達(dá)到自己的預(yù)期。
滴滴出行數(shù)據(jù)工程師羅伊老師列了一份面試清單,這份清單并非網(wǎng)絡(luò)上那些轉(zhuǎn)來轉(zhuǎn)去的面試題,而是從編程語言、操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫、Web安全等多方位考察候選人,不論你是準(zhǔn)備找人還是找工作,都值得參考。
一、語言
- 推薦一本看過最好的python書籍? 拉開話題好扯淡
- 談?wù)刾ython的裝飾器,迭代器,yield?
- 標(biāo)準(zhǔn)庫線程安全的隊(duì)列是哪一個?不安全的是哪一個?logging是線程安全的嗎?
- python適合的場景有哪些?當(dāng)遇到計(jì)算密集型任務(wù)怎么辦?
- python高并發(fā)解決方案?我希望聽到twisted->tornado->gevent,能扯到golang,erlang更好
二、操作系統(tǒng)
可以直接認(rèn)為是linux,畢竟搞后端的多數(shù)是和linux打交道。
- tcp/udp的區(qū)別?tcp粘包是怎么回事,如何處理?udp有粘包
- time_wait是什么情況?出現(xiàn)過多的close_wait可能是什么原因?
- epoll,select的區(qū)別?邊緣觸發(fā),水平觸發(fā)區(qū)別?
三、存儲
存儲可能包含rdbms,nosql以及緩存等,我以mysql,redis舉例
mysql相關(guān)
- 談?wù)刴ysql字符集和排序規(guī)則?
- varchar與char的區(qū)別是什么?大小限制?utf8字符集下varchar最多能存多少個字符
- primary key和unique的區(qū)別?
- 外鍵有什么用,是否該用外鍵?外鍵一定需要索引嗎?
- myisam與innodb的區(qū)別?innodb的兩階段鎖定協(xié)議是什么情況?
- 索引有什么用,大致原理是什么?設(shè)計(jì)索引有什么注意點(diǎn)?
redis相關(guān)
- 什么場景用redis,為什么mysql不適合?
- 談?wù)剅edis的事務(wù)?用事務(wù)模擬原子+1操作?原子操作還有其它解決方案嗎?
- redis內(nèi)存滿了會怎么樣?
四、安全
web安全相關(guān)
- sql注入是怎么產(chǎn)生的,如何防止?
- xss如何預(yù)防?htmlescape后能否避免xss?
- csrf是什么?django是如何防范的?
密碼技術(shù)
- 什么是分組加密?加密模式有哪些?ecb和cbc模式有什么區(qū)別?為什么需要iv向量?
- 簡單說說https的過程?
- 對稱加密與非對稱加密區(qū)別?
- 如何生成共享秘鑰? 如何防范中間人攻擊?
五.其他
- 是否關(guān)注新技術(shù)???golang,rust是否了解?numpy,pandas是啥?
- 是否緊跟時(shí)代潮流?逛不逛微博,刷不刷知乎?
這些問題可能你覺得問的好細(xì),但這好多都是平常經(jīng)常遇到,并需要解決的,細(xì)節(jié)更能體現(xiàn)一個人,如果你覺得小kiss,歡迎在知乎找他,他們招人,覺得有點(diǎn)問題,那還等什么,多讀書
- python參考手冊,絕對讓你更上一層樓
- 圖解密碼技術(shù),密碼入門不二之選
- mysql技術(shù)內(nèi)幕第五版,有點(diǎn)厚當(dāng)手冊讀讀,要有耐心,高性能mysql也強(qiáng)烈建議讀讀
- effective tcp/ip programming