這是本人整理的一些與Golang後端研發崗位相關的面試筆記,歡迎大家及時補充
當然並不局限於Golang研發崗位,筆記中還包括計算機網絡、操作系統、MySQL、Redis、系統設計等八股文,其他語言崗位的也可以閱讀
一些建議:
簡介明了:保持簡歷簡潔明了,使用清晰的佈局和格式,使得信息易於閱讀。限制簡歷長度在一頁或兩頁之內,但必須包含基本的個人信息,比如年齡、性別、電話、郵件以及教育經歷
突出重點:
- 項目經驗:如果有相關的項目經驗,可以列出項目的名稱、時間、描述和您在項目中承擔的角色和職責,最好別是那些爛大街的項目(點名某外賣、某論壇等),如果實在沒有,可以參考我個人做的分佈式定時任務管理平台Crony ,建議看看源碼,不是很難,至於怎麼在簡歷中寫,可以參考程序員推薦簡歷,簡介明了,還有怎麼在面試過程中介紹這個項目可以參考項目經歷介紹.md
- 實習經歷:現在應屆生如果沒有實習經歷真不好找工作了,建議大二或大三的時候找一份實習工作
130套簡歷
程序員推薦簡歷,簡介明了
整理的一些面試八股文,答案不一定準確,如果感覺不准確的可以自行在網上查找驗證
其中❤表示重點
Go語言
Golang面試題,包括Go語言的基礎語法、垃圾回收、內存管理、 GMP模型以及常見數據結構(channel、map、select...)的底層原理等
推薦閱讀地鼠文檔, 可以在裡面找到許多與go語言相關的文檔
比如Go專家編程、 Go語言標準庫等都值得閱讀
代碼編程
面試過程中面試官可能要求實現的一些代碼編程
比如:
兩個協程交替打印10個字母和數字
啟動2個groutine 2秒後取消, 第一個協程1秒執行完,第二個協程3秒執行完
...
常見算法和模板
一些常見算法的模板,比如KMP、LRU算法、二分法、回溯法、分治法、滑動窗口等
推薦閱讀algorithm-pattern ,是基於Go語言的,閱讀此文檔可以解決面試中絕大部分算法題
MySQL
MySQL的一些面試題,包括:
存儲引擎
索引及其優化
事務(MVCC)和鎖
分庫分錶和主從復制
...
Redis
Redis面試題
包括基本的數據類型、過期鍵的處理策略、持久化、集群、主從和哨兵等
計算機網絡
計算機網絡相關面試題
比如網絡協議、TCP三次握手、四次揮手、http和https等
作業系統
操作系統面試題
比如線程、進程以及它們之間如何通信的、多路IO復用、內存等
海量數據高頻面試題
在海量數據場景下的一些面試題,比如:
尋找熱門查詢,300萬個查詢字符串中統計最熱門的10個
在2.5億個整數中找出不重複的整數,內存空間不足以容納這2.5億個整數
在5億個int找它們的中位數
...
微服務
微服務場景下的面試題,比如服務治理、熔斷和降級等
系統設計
在某些特定場景下設計的面試題,比如:
分佈式ID生成器
短網址系統
定時任務調度器
...
架構設計
與架構設計相關的面試題,比如:
為什麼要做多級緩存
MQ中間件是如何實現消息可靠性投遞的
...
還在更新中...
本項目主要以簡單問答的形式介紹面試八股文,如果想深入了解計算機網絡、操作系統、數據庫等,強烈推薦閱讀小林coding (xiaolincoding.com)
面試問題和答案大部分來自於網絡,包括:
答案不一定準確,歡迎大家提issues或者pull requests進行補充