標題:軟體開發人員面試準備路線圖(附資源)
已發布:真實
描述:準備軟體開發人員面試的書籍、課程、資源和主題的逐步指南
標籤:系統設計、編碼、程式設計、軟體工程
揭露:本貼文包含附屬連結;如果您透過本文提供的不同連結購買產品或服務,我可能會收到報酬。
大家好,開發人員,您是否正在準備軟體開發人員面試,但不知道從哪裡開始?您是否淹沒在資料結構、演算法、系統設計等等的海洋中,那麼您並不孤單,我們所有人在某個時間點都會有同樣的感受。
過去,我分享過最好的資料結構面試書籍和軟體工程書籍、 最好的系統設計書籍和課程,在本文中,我將與您分享一種系統的方法來準備編碼面試並涵蓋所有基礎知識。
在這個艱難的市場中找工作並不容易,因為很多人都在找工作,而且由於世界上正在發生的事情,市場上充斥著大量有才華的人。
但這不應該成為藉口;您還需要提升自己的水平才有機會。
為了做好萬全的準備,您可以做以下事情。
順便說一句,如果您正在尋找一站式商店來準備軟體開發人員面試,那麼DesignGurus.io是一個很好的起點。
他們有許多 Grokking 課程來準備軟體開發人員面試,例如 OOP 設計、系統設計、動態規劃等,您可以透過加入他們的全課程包以很大的折扣獲得所有課程的存取權限。您還可以使用程式碼 GURU 獲得 30% 的折扣。
以下是您做好準備並破解程式設計面試並涵蓋所有重要主題的逐步指南:
對於任何軟體開發人員來說,這都是最重要的主題。至少你應該了解一些基本的資料結構,例如
大批,
鍊錶,
堆,
隊列,
二元樹,
二元搜尋樹,
哈希圖,
以及搜尋和排序演算法等演算法,以及圖形演算法(如BFS和DFS)。
如果您可以學習高級資料結構(如堆、優先隊列、布隆過濾器以及動態規劃、回溯和編碼面試模式),那麼您將獲得加分,這些可以幫助您解決面試中的未知問題。
如果你還生疏,可以先從這些網站上的熱門面試問題開始:
Algomonster --- 由前Google工程師編寫的面試模式
Educative-99 --- 99 個精選程式設計面試題(Python 和 Java 版本),教你 26 個關鍵程式設計面試模式
盲打75 ——leetcode精選題目列表,為了獲得最大收益,一定要做。
Grind 75 --- 客製化的 leetcode 學習計劃,其中包含一組最常見的問題。
練習 C++ STL或 Java Collections,或使用您選擇的語言的資料結構庫——對於快速編碼至關重要
如果您是初學者,DSA 需要 3 個月以上的積極練習。我在這篇文章中省略了細節
如果您正在尋找線上課程,因為它們更實惠,那麼 ZTM Academy 上的 「掌握程式設計面試:資料結構 + 演算法」課程是一個很好的資源。本周和下週也是免費的。
這是對於軟體開發人員和軟體工程師的面試來說非常重要的另一個主題。至少,您應該熟悉系統設計基礎知識,例如可擴展性、安全性、負載平衡、快取、複製、分片等。
以下是您可以用來準備高級設計的書籍和資源:
1. 書籍:從 Alex Xu 的《系統設計內幕指南》第 1 捲和第 2 卷開始
2. 加入Educative 上的系統設計面試準備速成課程- 良好的平台、互動學習和有關係統設計的優質內容。
3. 影片:系統設計面試基本概念的良好管道- 請看這裡
4. 積極參與並嘗試自己解決問題
5. 在Pramp 、 tyrExponent和其他平台(如DesignGurus.io 、 MeetPro等)上進行模擬面試。
5. 在Codeemia上用 Leetcode 風格練習系統設計問題
如果你對 LLD 還不熟悉,可以先閱讀以下內容:
1. 設計原則:閱讀《Head First 設計模式》 (閱讀第二版)
2. OOP 概念應該非常清晰,例如 C++ 中的虛擬方法、抽象類別與介面、重載與覆蓋、方法隱藏等。
3. 問題:很棒的低階設計 --- https://github.com/ashishps1/awesome-low-level-design由AlgoMaster 時事通訊的 Ashish Pratap Singh 撰寫,我強烈推薦給程式設計師。
4. 練習題,計時 45 分鐘
5. 解決方案:低階設計播放清單 --- https://www.youtube.com/playlist?list=PL12BCqE-Lp650Cg6FZW7SoZwN8Rw1WJI7 (感謝 Soumyajit Bhattacharyay)
從 GateSmashers 影片中學習 --- https://www.youtube.com/@GateSmashers
作業系統--- 請參閱這些課程
1. 使用STAR 方法(情境、任務、行動、結果)
2. 保持每個部分簡潔:每部分 4-5 句話,以便在面試時能夠在規定時間內講完
3. 準備詳細和簡短的答案
4. 如需資源,請查看 Educative 上的免費課程《Grokking the Behavioral Interview》 。
1. 你可以使用Codemia.io解決公司標記的問題
2. Leetcode Premium 中的「探索」標籤 --- https://leetcode.com/explore/
3. 使用 Leetcode 的「面試」標籤進行練習 → 評估 → 選擇進行電話面試或現場面試的公司 --- https://leetcode.com/assessment/
就這樣吧,朋友們。我知道在這個艱難的市場中透過軟體開發人員面試並不容易,但遵循本指南並準備本文中提到的所有重要主題可以大大提高您的機會。
我希望這些建議能對你的準備有幫助。如果您有任何疑問或需要指導,請隨時與我們聯繫。
另外,如果你還沒讀過,你也可以閱讀我之前分享的《開發人員必讀的 10 本軟體工程書籍》 ,它包含了軟體工程師和開發人員除了演算法之外的其他書籍。
祝大家旅途愉快! !
原文出處:https://dev.to/somadevtoo/the-software-developer-interview-prep-roadmap-with-resources-332l