軟體工程面試與其他技術面試一樣,需要充分的準備。有許多主題需要涵蓋,以確保您準備好應對有關演算法、資料結構、設計、最佳化以及不斷增長的主題的連續問題。
因此,我在最後一輪面試中建立了一個清單,涵蓋了許多熱門話題。
為了幫助您追蹤進度,我們針對下面列出的相同問題編制了一份全面的清單; 該列表可以在這裡找到。
你怎麼做的?花點時間對這些經典作品進行評價。我們在面試過程中的某個時刻被問到了其中大部分問題,而且通常是在早期就被問到的淘汰式問題。它們通常與演算法和資料結構關係不大,但仍然需要對循環和陣列有很好的理解(是的,陣列是一種資料結構)。
在觀看有關資料結構和演算法的影片內容之前,請考慮嘗試以下這些問題。看看你能否回答他們。這將幫助您知道要關注什麼。
資料結構與演算法 #1 --- 什麼是資料結構? --- 影片
多調光--- 影片
動態陣列 --- 影片
調整陣列大小--- 影片
資料結構:鍊錶--- 影片
核心鍊錶與陣列--- 影片
指針到指針 --- 影片
資料結構:樹 --- 影片
資料結構:堆 --- 影片
資料結構:哈希表 --- 影片
電話簿問題---影片
資料結構:堆疊和佇列 --- 影片
使用堆疊後進先出--- 影片
資料結構:計算機科學速成課程#14 --- 影片
資料結構:嘗試 --- 影片
演算法:圖搜尋、DFS 和 BFS --- 影片
BFS(廣度優先搜尋)和DFS(深度優先搜尋) --- 影片
演算法:二分查找---影片
二元搜尋樹回顧--- 影片
用於面試的 Python 演算法 --- 影片
演算法:遞歸---影片
演算法:冒泡排序--- 影片
演算法:歸併排序--- 影片
演算法:快速排序---影片
大 O 表示法與時間複雜度簡介(資料結構與演算法 #7) --- 影片
哈佛 CS50 --- 漸近符號--- 影片
演算法複雜度分析的簡單介紹--- Post
備忘錄--- 帖子
編碼面試問答:最長的連續字元--- 影片
Sedgewick --- 子字串搜尋--- 影片
谷歌編碼面試 --- 普世價值樹問題--- 影片
在二元搜尋樹中找到最小和最大元素--- 影片
求二元樹的高度--- 影片
檢查二元樹是否為二元搜尋樹--- 影片
什麼是尾遞歸?為什麼這麼糟? --- 影片
現在您已經學習了一些,並觀看了一些影片,讓我們嘗試更多問題!
有些公司不會問你演算法問題。相反,他們可能會更專注於實施和營運問題。這些通常更小眾,涉及實際問題,例如循環資料和執行某種任務。這些類型的問題通常不需要太多練習,因為更多的是了解陣列和 HashMap 等基本概念並追蹤您對它們所做的事情。
系統設計問題是至關重要的問題,表明您不僅僅是一名編碼員。身為工程師,您需要能夠思考大局。某些服務屬於哪裡,您需要什麼樣的伺服器,您將如何管理流量等等。所有這些想法都表明您能夠設計軟體,而不僅僅是編寫人們告訴您編寫的程式碼。
作業系統問題比較少見,但是對執行緒、調度、記憶體等概念有紮實的理解是有好處的,即使只是基本的理解。當被問到進程和線程有什麼區別而不知道答案時,這是非常尷尬的。
LRU 快取的魔力(Google 開發 100 天) --- 影片
MIT 6.004 L15:記憶體層次結構--- 影片
中斷---影片
調度---影片
與作業系統類似,並不是每次面試都會問你有關物件導向程式設計的問題,但你永遠不知道。您需要確保記住計算機 162 課程中的基礎知識。
物件導向程式設計---影片
如果您像我們一樣,我們不會被教導所有各種設計模式。因此,最好了解它們的工作原理以及使用它們的原因。一些面試問題可以很簡單,例如“為什麼要使用工廠類?”
工廠設計模式---影片
觀察者設計模式---影片
適配器設計模式---影片
立面設計模式---影片
責任鏈設計模式---影片
解譯器設計模式---影片
單例設計模式教學--- 影片
第 6 章(第 1 部分)--- 模式(影片) --- 影片
Head First 設計模式--- 影片
這是最後一節。你們中的許多人可能不會被問到那麼多 SQL 問題。不過,我始終認為放在後口袋是件好事。
IQ15:6 個 SQL 查詢面試問題--- 影片
了解 ROW_NUMBER 和分析函數--- 影片
分析函數的高級實現--- 影片
分析函數的高級實現第 2 部分--- 影片
聰明的貓頭鷹 SQL 影片--- 影片
面試可能會很困難,因為你會覺得自己沒有任何進展。擁有本學習指南將幫助您追蹤您的進度並讓您更好地了解自己的表現!
祝你好運!
另外,如果您想閱讀/觀看更多精彩的貼文或影片:
在 SaturnCloud 上使用 Jupyter Notebook 連接到大查詢第 2 部分
原文出處:https://dev.to/seattledataguy/the-interview-study-guide-for-software-engineers-764