Python面試你可能會被問到的面試題

pythontab發表於2017-11-30

在Python面試過程中你可能會遇到各種各樣的面試題, 這裡總結了一下, 非常全面,包含了各個方面, 希望對大家的面試起到幫助。

這些知識可以從以下幾個方面來區分:

一.語言 

1.推薦一本看過最好的python書籍?

2.談談python的裝飾器,迭代器,yield,記憶體管理等? 

3.標準庫執行緒安全的佇列是哪一個?不安全的是哪一個?logging是執行緒安全的嗎? 

4.python適合的場景有哪些?當遇到計算密集型任務怎麼辦? 

5.python高併發解決方案?- 計算密集型,IO密集型任務怎麼辦

二.作業系統 

可以直接認為是linux,畢竟搞後端的多數是和linux打交道。 

1.tcp/udp的區別?tcp粘包是怎麼回事,如何處理?udp有粘包嗎? 

2.time_wait是什麼情況?出現過多的close_wait可能是什麼原因? 

3.epoll,select的區別?邊緣觸發,水平觸發區別?

4.Http協議

三.儲存 

儲存可能包含rdbms,nosql以及快取等,我以mysql,redis舉例 mysql相關 

1.談談mysql字符集和排序規則? 

2.varchar與char的區別是什麼?大小限制?utf8字符集下varchar最多能存多少個字元 

3.primary key和unique的區別? 

4.外來鍵有什麼用,是否該用外來鍵?外來鍵一定需要索引嗎? 

5.myisam與innodb的區別?innodb的兩階段鎖定協議是什麼情況? 

6.索引有什麼用,大致原理是什麼?設計索引有什麼注意點? 

redis相關 

1.什麼場景用redis,為什麼mysql不適合? 

2.談談redis的事務?用事務模擬原子+1操作?原子操作還有其它解決方案嗎? 

3.redis記憶體滿了會怎麼樣?

四.安全 

web安全相關 

1.sql注入是怎麼產生的,如何防止? 

2.xss如何預防?htmlescape後能否避免xss? 

3.csrf是什麼?django是如何防範的? 

密碼技術 

1.說下你對md5(hash)演算法的看法,以及它的優缺點?

2.簡單說說https的過程? 

3.對稱加密與非對稱加密區別? 

4.如何生成共享秘鑰? 如何防範中間人攻擊?


相關文章