找工作的複習安排
self發表於2018-08-26
根據自己的實際情況做的安排,實時調整
- 2018年7月23日開始----每天刷2-3道leetcode,然後是看書
- 從自己筆試的情況來看,編碼能力和演算法能力太弱了,所以目前主要是看演算法相關的書籍
怎麼具體準備複習
- 大佬找工作的原話: 計算機的東西實在又是太多,程式設計、資料結構、演算法設計、作業系統、體系結構、編譯原理、資料庫、軟體工程等分支
- 編譯的話太難(一千個碼農裡也沒幾個人能在紙上寫一個最基礎的遞迴下降LLParser)
- 軟體工程、體系結構、資料庫這些太水(不是說這些分支沒用,而是它們很難考察,尤其對應屆生來說這些都是些文字遊戲,比如說物件導向的三要素五原則,有個鳥用
- 這麼一排除,再把資料結構和演算法設計一合併,就剩下程式設計、演算法和作業系統。沒錯,這三項搞定,國內外IT公司通殺
- 程式設計:
- 把基礎的資料結構的C語言實現在紙上寫三遍以上,用我能想到的最精簡最優化的方法
- 閱讀CARM和TCPL,確保不會遺漏C語言的每個細節
- 重溫之前自己做過的靠譜專案,並總結裡面的關鍵難題和解決思路
- 重讀Writing Solid Code、Elements of Programming、Practice of programming
- 閱讀Science of Programming,做到可以證明自己的程式的正確性(前條件+後條件+不變式)
- 演算法:
- 重讀Algorithm Design Manual,重點閱讀Dynamic Programming和Backtraverse
- 重讀Programming Pearls和More Programming Pearls,並完成所有課後題
- 獨立解決程式設計之美里面的題目(國內不少企業選題用的這本書)
- 完成Careercup裡Amazon、Google和Microsoft這三個分類下面的前20頁面試題
- 完成TopCoder的數十道D1L2~D2L1難度區間的演算法題目
- 作業系統:
- 重讀Modern Operating System,重溫OS的核心概念
- 重讀Computer Systems a Programmer's Perspective的關鍵章節,回顧裡面的關鍵點
從七月底開始一直到十一月,花了接近四個月,很多東西都是一邊面試一邊準備:面試->發現盲點->修復盲點。
一些面試心得
- 記住, 第一印象很重要
- 我被教著這麼做, 但從沒有想過為什麼 --- 這句話一般會留下一個非常壞的印象