Python Web工程師面試相關問題總結
今天給大家?guī)硪粋€Python web工程師的面試總結,也許對你正在學習Python的也有幫助。

1 個人情況
先介紹下我的情況:通信背景,工作一年多不到兩年。之前一直在做C++的MFC軟件界面開發(fā)工作,公司為某不景氣的國企研究所(喏,我的工作經驗很水:1是方向不對;2是行業(yè)有偏差)。
目前是在尋找python后端開發(fā)這一塊的工作,使用的框架為django;之前一直通過CSDN以及其他幾家技術博客/論壇吸收大家的經驗,在感激之余,也想輸出點什么,造福大家,因此就有了這篇水文,希望大家能夠多多吸取我的經驗教訓,早日找到一份自己滿意的工作!
2 面試情況
北京的兩家創(chuàng)業(yè)公司,規(guī)模均在40-50人之間;果殼(止步于電話面,拉鉤投的);知乎(止步于電話面,論壇發(fā)帖后的內推);愛奇藝(拉鉤上投的);杭州的網易(同學內推)。
面試這一輪下來,最大的感受就一個:平時一定要堅持每天都碼點代碼。就算再爛的項目,也要堅持上傳github。。真的,只要你能堅持一周有5天以上都能持續(xù)上傳Git,半年下來,面試官絕對對你刮目相看。
其他感受:不同的公司著重點都不一樣,不過真的就如這篇博文的博主所說,木桶原理,哪塊都不能少。我就是因為平時只關注做自己的小博客系統(tǒng),而沒做其他的部分,導致愛奇藝倒在了手寫代碼上面…哎,憂傷。。平時多刷刷leetcode,看看劍指offer/面試金典,都是套路啊~~
面試這幾家公司所遇到的面試/筆試題,目前還能記住的如下。雖然可能絕大部分都是基礎,但希望大家不要只是看看就過去了,最好還是假裝你被問到這個問題,你來把答案說出來或寫出來:(不按公司分了)
3 python語法以及其他基礎部分
1).可變與不可變類型
2).淺拷貝與深拷貝的實現方式、區(qū)別;deepcopy如果你來設計,如何實現
__new__() 與 __init__()的區(qū)別
3).你知道幾種設計模式
4).編碼和解碼你了解過么
5).列表推導list comprehension和生成器的優(yōu)劣
6).什么是裝飾器;如果想在函數之后進行裝飾,應該怎么做
7).手寫個使用裝飾器實現的單例模式
8).使用裝飾器的單例和使用其他方法的單例,在后續(xù)使用中,有何區(qū)別
9).手寫:正則郵箱地址
10).介紹下垃圾回收:引用計數/分代回收/孤立引用環(huán)
11).多進程與多線程的區(qū)別,CPU密集型適合用什么
12).進程通信的方式有幾種
13).介紹下協(xié)程,為何比線程還快
14).range和xrange的區(qū)別
4 算法排序部分
1).手寫快排;堆排;幾種常用排序的算法復雜度是多少;快排平均復雜度多少,最壞情況如何優(yōu)化
2).手寫:已知一個長度n的無序列表,元素均是數字,要求把所有間隔為d的組合找出來,你寫的解法算法復雜度多少
3).手寫:一個列表A=[A1,A2,…,An],要求把列表中所有的組合情況打印出來;
4).手寫:用一行python寫出1+2+3+…+10**8
5).手寫python:用遞歸的方式判斷字符串是否為回文
6).單向鏈表長度未知,如何判斷其中是否有環(huán)
7).單向鏈表如何使用快速排序算法進行排序
8).手寫:一個長度n的無序數字元素列表,如何求中位數,如何盡快的估算中位數,9).你的算法復雜度是多少;
10).如何遍歷一個內部未知的文件夾(兩種樹的優(yōu)先遍歷方式)
5 網絡基礎部分
1).TCP/IP分別在模型的哪一層
2).socket長連接是什么意思
3).select和epoll你了解么,區(qū)別在哪
4).TCP UDP區(qū)別;三次握手四次揮手講一下
5).TIME_WAIT過多是因為什么
6).http一次連接的全過程:你來說下從用戶發(fā)起request——到用戶接收到response
7).http連接方式。get和post的區(qū)別,你還了解其他的方式么
8).restful你知道么
9).狀態(tài)碼你知道多少,比如200/403/404/504等等
6 數據庫部分
1).MySQL鎖有幾種;死鎖是怎么產生的; 為何,以及如何分區(qū)、分表;
2).MySQL的char varchar text的區(qū)別:
了解join么,有幾種有何區(qū)別,A LEFT JOIN B,查詢的結果中,B沒有的那部分是如何顯示的(NULL)
3).索引類型有幾種,BTree索引和hash索引的區(qū)別(我沒答上來這倆在磁盤結構上的區(qū)別)
4).手寫:如何對查詢命令進行優(yōu)化
5).NoSQL了解么,和關系數據庫的區(qū)別,redis有幾種常用存儲類型
7 Linux部分
講一下你常用的Linux/git命令和作用;
查看當前進程是用什么命令,除了文件相關的操作外,你平時還有什么操作命令;
(因為我本人Linux本身就很水,只會基本的操作,所以這部分面試官也基本沒怎么問。。反正問了就大眼瞪小眼唄)
8 Django項目部分
都是讓簡單的介紹下你在公司的項目,不管是不是后端相關的,主要是要體現出你干了什么
1).你在項目中遇到最難的部分是什么,你是怎么解決的; 你看過django的admin源碼么
2).看過flask的源碼么,你如何理解開源
3).MVC / MTV, 緩存怎么用, 中間件是干嘛的
4).CSRF是什么,django是如何避免的,XSS
5).如果你來設計login,簡單的說一下思路
6).session和cookie的聯系與區(qū)別,session為什么說是安全的
7).uWSGI和Nginx的作用;
相關文章
- 這篇文章主要介紹了python爬蟲面試必看的常見問題與參考答案,結合實例形式總結分析了Python爬蟲面試相關的Python基礎知識、概念、原理、算法及相關操作注意事項,需要的朋友2019-10-28
- 這篇文章主要介紹了python面試常見問題及知識點整理之列表、字典與綜合部分,總結整理了Python面試中關于列表、字典及其他常見數據類型操作技巧,需要的朋友可以參考下2019-10-23
- 這篇文章主要介紹了兩道阿里python面試題與參考答案,結合具體實例形式分析了Python數組創(chuàng)建、遍歷、拆分及隨機數等相關操作技巧,需要的朋友可以參考下2019-09-02
- 這篇文章主要介紹了60道硬核Python面試題,論面霸是如何煉成的,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-08-28
- 這篇文章主要介紹了關于Python爬蟲面試170道題,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-08-15
Python是目前編程領域最受歡迎的語言。在本文中,我將總結Python面試中最常見的50個問題。每道題都提供參考答案,感興趣的可以了解下2019-06-26- 這篇文章主要為大家介紹了Python常見的面試題與相應的Python知識點,包括Python變量、函數、對象、數據類型等,需要的朋友可以參考下2019-06-25
這篇文章主要介紹了110道Python面試題,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-24- 這篇文章主要介紹了春招面試,看這110道Python面試題就夠了,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-15
- 這篇文章主要介紹了大數據spark經典面試題目,整理總結了大數據spark面試中遇到的比較經典的簡答題與選擇題,涉及spark概念、原理、配置、使用等相關知識點,需要的朋友可以參2019-10-24



