程式面試準備

October 25, 2024 · View on GitHub

通常刷題用C++/Java/Python,推薦使用Python

時間有限的刷題準備

blind 75 所需要的知識

  • graph
    • BFS
    • DFS

其他重點題

  • 大數問題
  • 質數問題

推薦刷題順序方法

  1. 對資料結構、演算法有基礎了解
    • 了解基本複雜度、知道array和linkedlist的優點、看到關鍵字時能知道去Google
  2. Leetcode Blind 75
    • 做完可以熟悉面試語言,建議用高階語言縮短面試答題時間
    • 如果有障礙可以看課程,[ALG101] 先別急著寫 leetcode
      • 推薦由淺入深
      • LidemyOJ,該網站的OJ系統
    • 每一題都要想一下普通和優化的作法,短時間做不出來就參考discuss
  3. 觀看付費課程Grokking the Coding Interview: Patterns for Coding Questions
    • 把題目依據patterns整理在一起,我還沒看完,初步覺得實用
    • 可參考此知乎文章的介紹
  4. 看程式面試書的題目
    • Cracking the coding interview
    • 劍指Offer
  5. 繼續刷Leetcode
    • 打周賽
    • 解鎖題目
    • 依據題型刷
  6. 補完該知道的資料結構、演算法知識

可執行的讀書會方式參考

  • 挑選題庫,並討論一天寫幾題
    • 如可選Blind 75,一天練習一題
  • 一個禮拜約一天,團員們從上禮拜進度,隨機抽取一題考對方
    • 模擬面試,包含面試官、面試者對題目的講解、優化討論
    • 可以用Google doc來寫code,模擬最克難的寫code環境
  • 再從題庫中選一題沒做過的,同時開始完成
    • 依照難易度限定完成時間
    • 從完程度較低的團員依序講解自己的解法
    • 一起討論有無優化可能、時間複雜度探討

ref