讀《程序員面試攻略》(Programming Interviews Exposed: Secrets to Landing Your Net Job, Third Edition)

front cover
back cover


前言

又是一本買了很久才看完的書,
這本書沒記錯的話應該是大學還沒畢業的時候就買了。
應該是大四的時候,
逛清大對面的若水堂看到這本,
翻了一下覺得內容還不錯就買了。

直到去年準備要找工作的時候才開始看,
仍舊是用我那龜速的看速度。
我印象最深的就是去年底跑去台南的時候也帶著這本書在看,
jserv 安排了一天三場分別由 MediaTek, Google, Facebook 的工程師演講那天,
中午聚餐吃完飯在等待的時間拿出來看,
然後就被 jserv 嗆:

不要再看什麼書了啦,
裝什麼認真,
旁邊有這麼多強者現場就可以問,
還不趕快去找他們聊天,
有什麼想問的就趕快問,
這是書上學不到的經驗,
書自己找時間再看就好啦,
懂嗎?

直到現在猶如當頭棒喝。

然後這本書在我找到工作後就這麼擱著,
直到最近才又拿出來閱讀,
然後在上個月 25 號讀完了。
至於為什麼會拿出來看,
那又是另外一個故事了。


紀錄

我覺得這本書大略可以分成 3 個部份:

  1. 第 0~3 章
    • 介紹求職應該有什麼樣的心態、注意事項以及面試時回答問題和談薪水的技巧。
  2. 第 4~13 章
    • 基本的資訊學科相關問題,包含:Linked List, Tree, Graph, Array, String, Recursion, Sorting, Concurrency, Object-Oriented, Design Pattern, Database, Bitwise operation.
  3. 第 14~17 章和附錄
    • 一些估算與智力測驗相關還有非技術性的問題(為了瞭解人格特質是否適合團隊)。然後附錄是如何撰寫 Resume 的範例,有給出改過前後的對比以及講說大概要怎麼寫。
    • 但第 16 章又回到比較技術性的問題,主要是在做一些名詞解釋以及比較的問答。

之前是看到 Sorting 的部份,
最近才從 Concurrency 的部份繼續看完。
個人覺得裡頭提到的技術相關問題真的都算蠻基本的題目,
畢竟也沒有深入到問些 Operating System, Computer Architecture, Compiler 底層實作和效能比較相關的問題,
至於第 16 章針對各種不同的名詞解釋並比較其優缺點,
列出來的內容也算蠻基本的,
我覺得也算是面試中常常會被問到的問題。

然後我自己覺得收穫比較多的應該算是一些非技術性的部份,
像是第一部份提到的,
關於找工作的心態、談薪水的技巧、解程式問題時的思路還有該如何跟面試官討論等等,
還有第三部份講到一些智力測驗問題的估算還有人格特質會影響拿不拿得到 offer 等等。

至於附錄的履歷撰寫部份,
因為之前找工作的時候有紀錄了一篇 程式設計師的履歷撰寫要點
個人覺得講的差不多,
所以就沒有細看。


結論

這本書我覺得無法拿來準備些技術性比較深的面試,
然後偏 Web front-end 跟 App 開發的人可能也比較不太適合看這本書,
因為很多東西可能不需要用到,
但就看面試的公司會出什麼樣的題目吧。
(前陣子也是看到一堆美國的公司在找網頁前端開發人員要考演算法、資料結構的)

至於比較偏 Operation System, Computer Architecture, Compiler 這塊的人,
看這本書的技術性相關的部份應該會覺得非常簡單,
所以比較有收穫的應該會是關於非技術性的面試技巧的部份吧。

總之這本書我最近應該會再快速翻閱一次就是。

所以結論是這本書大概就是給我這種基礎學科沒學好的人來複習用的 (?)


Share


Donation

如果覺得這篇文章對你有幫助, 除了留言讓我知道外, 或許也可以考慮請我喝杯咖啡, 不論金額多寡我都會非常感激且能鼓勵我繼續寫出對你有幫助的文章。

If this blog post happens to be helpful to you, besides of leaving a reply, you may consider buy me a cup of coffee to support me. It would help me write more articles helpful to you in the future and I would really appreciate it.


Related Posts