真實Python後端開發工程師面試

真實Python後端開發工程師面試

來自專欄 Python面試筆試題4 人贊了文章

這兩周,深圳的雨從未間歇;我也從未間歇的尋找下一份工作。

在前程無憂/拉勾/智聯招聘上投遞以及開放簡歷,收到郵件/電話面試邀請20家上下(深信服/悅動/綠米聯創等),其中有少數的測試與爬蟲崗位(方向不符長期規劃,都已謝絕)。最後面試了其中的10家(有一個下午面試了兩家),最後收到了自己滿意的offer。

在這其中,收穫了許多的知識(感謝面試官的分享精神,公交費和洞洞鞋的錢掙回來了)。

招聘平台

在我所使用的招聘平台中,收穫到面試邀請最多的是前程無憂,其次是拉勾,最少的是智聯招聘。所以我會建議大家使用前程無憂和拉勾,因為反饋是最及時的,智聯招聘很少反饋。沒有使用BOSS直聘,因為一來二去的聊天覺得有點麻煩,還是喜歡直接發郵件面試邀請當面交流。

側重的知識

在我參加的後台開發崗位面試中,主要有以下知識是比較側重

1. 資料庫CRUD操作/查詢優化以及資料庫知識量

2. 框架的對比和了解/項目具體模塊的業務邏輯描述

3. 常見排序演算法

4. Linux系統的常用命令和Linux系統了解程度考核

5. 項目部署用到的伺服器的配置和了解程度

加分項

  1. 資料庫基本功必須掌握但同時更重要的是理解為什麼和是如何實現的,拓展自己知識面
  2. Linux系統的底層原理和了解程度
  3. 目前Golang在後端中也逐漸流行,有時間還是需要去掌握
  4. 技術沒有終點,保持樂於學習和接受新技術的心態,面試官看重技術能力同時也更看重你的心態
  5. 自信且好學

面試提問到的問題

問題就給大家了,答案自己去查找吧,只有經過自己努力的東西才會格外珍惜。

Python相關

  1. 實現一個單例模式
  2. 實現一個裝飾器
  3. 用Python實現快排
  4. 如果系統中需要很多個Python版本,如何進行Python版本的管理
  5. 如何實現一個全局變數?(除了global,還可以通過單例模式)

資料庫相關

  1. 資料庫的數據是實時更新的嗎?每點擊一次,資料庫數據修改一次?
  2. Redis hash的個數
  3. 如何修改Redis資料庫的庫的個數?
  4. Redis資料庫如何實現持久化
  5. Redis資料庫支持的數據類型
  6. Redis使用AOF方式持久化,aof文件不斷增大,如何處理?
  7. Redis資料庫如何設置密碼
  8. hash表是如何生成的
  9. MySQL資料庫如何使用sql語句插入一條數據
  10. MySQL資料庫的慢查詢有了解過嗎
  11. MySQL資料庫如何進行查詢優化
  12. 如何很多請求同時對Redis的同一個鍵進行訪問,如何保證數據安全
  13. 說說Redis的淘汰機制
  14. 我的MySQL資料庫每天晚上12點進行全備份。第二天有員工在9點鐘誤刪除了一個資料庫,但在10點鐘才被發現。問如何進行恢復被誤刪除的資料庫並同時保留9點到10點鐘新增的數據同時不影響業務的正常運行?
  15. 當數據越來越多,如何避免hash槽中key出現相同的情況?
  16. MongoDB在哪些場合使用過?

項目部署相關

  1. 大家都說Nginx快?快的原因是什麼?
  2. 對RPC了解嗎?
  3. 如何在伺服器上設置業務進程數?
  4. 說說正向代理和反向代理

Linux相關

  1. 如何查看剩餘內存
  2. 如何查看埠是否被佔用
  3. 如何查看一個程序的PID以及它的所有子進程
  4. 如何為一個目錄下的所有文件添加許可權
  5. 如果你對一個目錄具有寫許可權,那麼你是否具有對這個目錄下的所有文件具有刪除許可權?
  6. 對Linux多路復用的理解
  7. 修改IP地址的方法

前端相關

  1. 對前端HTML CSS 和 JS了解多少?熟悉嗎?
  2. 對React和bootstrap了解嗎?
  3. 如何進行http優化?(響應頭設置Content-Encoding: gzip)

網路編程相關

  1. 說一下實現TCP建立連接的過程以及當時進入了什麼狀態?為什麼建立連接只需要3次,斷開連接需要4次?為什麼斷開連接時第二次和第三次要分開,不能合在一起嗎?

項目相關

  1. 說一下一個請求過來到返回response的過程
  2. 如何實現單點登錄
  3. JWT token是如何進行生成和校驗的
  4. 了解過哪些後端框架?Tornado了解嗎?
  5. 了解過webapp2嗎
  6. Django如何實現csrf攻擊保護
  7. 說說你項目中遇到的困難以及如何解決
  8. 說說你認為自己最有成就感或最深刻的項目
  9. 對KAFKA了解嗎?用過哪些消息隊列?使用過RabbitMQ嗎?
  10. 項目團隊幾個人?開發多長時間?

版本控制相關

  1. 如何從遠程倉庫拉取分支到本地
  2. 如何進行版本回退

其他

  1. Celery的原理和應用場景
  2. Elasticsearch 的原理
  3. 平時是如何學習的?有關注哪些技術?
  4. Docker的了解,常用命令,如何暴露埠
  5. 對ERP了解嗎?Odoo了解嗎?

推薦閱讀:

用 150 行 Python 代碼寫的量子計算模擬器
knn演算法的原理與實現
如何評價Facebook發布的pyre?
從零開始的python世界的闖蕩之視頻學習篇 第一話 Linux命令基礎
一個完整的機器學習項目在Python中的演練(一)

TAG:Python | Python開發 | 職場 |