一。語言
2.談?wù)刾ython的裝飾器,迭代器,yield?
3.標(biāo)準(zhǔn)庫線程安全的隊(duì)列是哪一個(gè)?不安全的是哪一個(gè)?logging是線程安全的嗎?
4.python適合的場(chǎng)景有哪些?當(dāng)遇到計(jì)算密集型任務(wù)怎么辦?
5.python高并發(fā)解決方案?我希望聽到twisted-》tornado-》gevent,能扯到golang,erlang更好
可以直接認(rèn)為是linux,畢竟搞后端的多數(shù)是和linux打交道。
1.tcp/udp的區(qū)別?tcp粘包是怎么回事,如何處理?udp有粘包嗎?
2.time_wait是什么情況?出現(xiàn)過多的close_wait可能是什么原因?
3.epoll,select的區(qū)別?邊緣觸發(fā),水平觸發(fā)區(qū)別?
三。存儲(chǔ)
存儲(chǔ)可能包含rdbms,nosql以及緩存等,我以mysql,redis舉例
mysql相關(guān)
1.談?wù)刴ysql字符集和排序規(guī)則?
2.varchar與char的區(qū)別是什么?大小限制?utf8字符集下varchar最多能存多少個(gè)字符
3.primary key和unique的區(qū)別?
4.外鍵有什么用,是否該用外鍵?外鍵一定需要索引嗎?
5.myisam與innodb的區(qū)別?innodb的兩階段鎖定協(xié)議是什么情況?
6.索引有什么用,大致原理是什么?設(shè)計(jì)索引有什么注意點(diǎn)?
redis相關(guān)
1.什么場(chǎng)景用redis,為什么mysql不適合?
2.談?wù)剅edis的事務(wù)?用事務(wù)模擬原子+1操作?原子操作還有其它解決方案嗎?
3.redis內(nèi)存滿了會(huì)怎么樣?
四。安全
web安全相關(guān)
1.sql注入是怎么產(chǎn)生的,如何防止?
2.xss如何預(yù)防?htmlescape后能否避免xss?
3.csrf是什么?django是如何防范的?
密碼技術(shù)
1.什么是分組加密?加密模式有哪些?ecb和cbc模式有什么區(qū)別?為什么需要iv向量?
2.簡(jiǎn)單說說https的過程?
3.對(duì)稱加密與非對(duì)稱加密區(qū)別?
3.如何生成共享秘鑰? 如何防范中間人攻擊?
五。雜
是否關(guān)注新技術(shù)???golang,rust是否了解?numpy,pandas是啥鳥?
是否緊跟時(shí)代潮流?逛不逛微博,刷不刷知乎?
可能你覺得我問的好細(xì),但這好多都是平常經(jīng)常遇到,并需要解決的,細(xì)節(jié)更能體現(xiàn)一個(gè)人。
如果你覺得小kiss,歡迎投簡(jiǎn)歷給我yihaibo@longtugame.com,龍圖游戲運(yùn)營(yíng)支持中心數(shù)據(jù)分析部招人;覺得有點(diǎn)問題,那還等什么,趕快來和我交流交流。
更新:討論區(qū)挺熱鬧,有人說好簡(jiǎn)單,有人說好難,其實(shí)我覺得這只適合面試2~3年工作經(jīng)驗(yàn)的后端工程師。真的沒有問
很難的題目,只是可能你平時(shí)沒有注意。
在這里我推薦幾本書吧
python參考手冊(cè),絕對(duì)讓你更上一層樓
圖解密碼技術(shù),密碼入門不二之選
mysql技術(shù)內(nèi)幕第五版,有點(diǎn)厚當(dāng)手冊(cè)讀讀,要有耐心,高性能mysql也強(qiáng)烈建議讀讀
effective tcp/ip programming
為什么評(píng)論區(qū)有這么大差異?我想是個(gè)人經(jīng)歷不一樣吧,如果是搞web的對(duì)操作系統(tǒng)這塊和密碼技術(shù)會(huì)偏弱,但如果是系統(tǒng)工程師或是游戲服務(wù)端這塊會(huì)明顯偏強(qiáng)。
六。后記
最近我也面試了不少童鞋,我發(fā)現(xiàn)能達(dá)到要求的真的少之又少,很多hr都說Python是最難招聘的崗位,我想是有道理的,這真的很值得我們?nèi)ド钏迹?/p>
我想有一部分原因是Python這門語言造成的,會(huì)寫Python的人很多,但寫的好的人很少,大部分都把Python當(dāng)做腳本來寫,缺乏面向?qū)?象,模式的思想。想想Java,大家都習(xí)慣了接口,實(shí)現(xiàn)分離,設(shè)計(jì)模式在Java中也喊了很多年,尤其是ssh三大框架一出,用著用著就理所當(dāng)然的認(rèn)為就 該這么做,雖然也有點(diǎn)壞處,但對(duì)企業(yè)級(jí)Java開發(fā)無疑是一大進(jìn)步。
反觀Python,尤其是生成器,協(xié)程,元類給Python注入了很大的靈活性,想寫的Pythonic有不小難度,但其實(shí)Python高級(jí)特性就那么幾個(gè),干掉了也就沒有了。
當(dāng)你覺得Python遇到了瓶頸,不妨停下來好好想想。研究研究設(shè)計(jì)模式,想想重構(gòu),了解領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),敏捷開發(fā),再回來讀讀以前寫的代碼,當(dāng)眼界變高了,代碼也就美了。
當(dāng)然思想的提高不是一朝一夕,模式,原則會(huì)經(jīng)常讓你糾結(jié),糾結(jié)就會(huì)思索,思考就走出了自己的路,當(dāng)然條條大路通羅馬。
數(shù)據(jù)庫等存儲(chǔ)技術(shù)是研發(fā)工程師邁不過的坎,對(duì)關(guān)系數(shù)據(jù)庫以mysql舉例來說,你必須清楚的知道什么字段選擇什么類型,類型字節(jié)大小,限制條件,這 東西也很容易理解,多想想即可,比如set類型,要支持交并等操作,1個(gè)字節(jié)只能存8個(gè)類別。數(shù)據(jù)類型搞定了,下面就是索引了,mysql索引種類?主 鍵,唯一索引,普通索引。索引類別,BTree索引,hash索引。索引的優(yōu)缺點(diǎn),mysql的索引查找原理,join原理(大部分都是nested loop),以及一些特殊的情況,比如mysql子查詢慢等。其實(shí)到這里研發(fā)工程師就差不多,當(dāng)然你可以繼續(xù)深入下去,比如讀寫分離,集群管理,甚至一些 參數(shù)調(diào)優(yōu)。
革命尚未成功,同志任需努力?。。。?/p>
-
工程師
+關(guān)注
關(guān)注
59文章
1570瀏覽量
68514 -
python
+關(guān)注
關(guān)注
56文章
4795瀏覽量
84663
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論