簡歷是一個提供信息、展示自己的平臺。對于剛畢業、沒有什么工作經驗的人來說,簡歷一般控制在一頁為宜,如果是PhD,需要適當列舉一些相關的文章發表信息,那么簡歷可以擴展至兩頁。這里就給一個示例,它在一頁紙的長度中精煉地描述了求職者的教育背景、實習經歷、技能和專業背景,如圖1-1所示。

圖1-1 一頁紙的簡歷
簡歷的第一要務是讓對方能夠認識并聯系上你,所以名字、郵件、電話、地址等基本信息缺一不可。特別的,對于在美國本地求職的人而言,郵編很重要,因為網上的申請系統往往會根據郵編將申請者按地域劃分。對于很多公司而言,他們會優先考慮本地的申請者。所以當你申請的公司在當地有總部/分部時,務必寫上本地的郵編。
這里有個小技巧,由于絕大部分科技公司都在加州,特別是北加州硅谷附近,所以如果有朋友在加州的話不妨寫朋友的地址。這樣做的確可以提高被選中面試的幾率,甚至有些小公司可能會跳過一輪電話面試直接邀請你去公司面試。現在絕大部分面試過程都是通過電話或郵件確定,除了最后給你發Offer,招聘的中間部分都不會給你提供地址寄送任何文件。如果公司決定給你Offer,你也完全有機會和HR確認/更新你的實際地址。這樣做的缺點是,可能去公司面試的時候你需要自己安排機票住宿,如果真到了這一步,權且就當花錢買個機會了。
基本信息之外,對于剛畢業的學生而言最重要的信息包括學校、專業和學位。學習成績對于大部分公司而言只是加分項,如果GPA低于3.3,可以考慮不包括成績。當然,如果GPA是你的亮點之一,那也完全可以包含此信息。在這方面,Oracle是出了名的名校控,如果你高GPA、名校出身,基本上半只腳已經踏入了Oracle。相對而言,其他公司并沒有這樣的要求。此外,對學生而言可以列舉一些在校學過的相關課程。只需要列舉課程名即可,內容數量以5項左右為宜,課程名盡量選擇大家熟知的,比如算法、數據結構、操作系統等,如果是研究生課程,可以加上“高級(advanced)”關鍵字。
簡歷中另一個十分關鍵的內容是之前做過的項目描述,包括工作經歷、實習經歷或者課程項目經歷,這些部分的目的在于展示你具有相關經驗,具有較強的技術實力,能夠加入團隊一起完成一個復雜的項目。這里,我們主要介紹如何選擇合適的項目,在描述技巧部分,會進一步介紹如何描述使得你的項目更有趣。就項目內容而言,你需要優先選擇和職位描述相關的項目,相關性包括:需要相似的知識,需要使用相同的軟件或開發環境,需要類似的編程語言或編程模式,需要實現類似的功能等等。這些項目最能體現你的價值,使得你從一堆申請者中脫穎而出。如果沒有相似的經歷,那么你可以列舉一些比較復雜的項目,突出你的綜合能力。這些可以包括:畢業設計、課程的學期作業、網上參與合作的開源項目等。列舉的目的主要是突出你的技術水準優秀,具有與他人合作的能力。就項目種類而言,你需要優先選擇業界的工作實習經歷,只要它們和你所求職位的描述大體在同一個行業即可。畢竟,有實際的工作經驗可以傳達下列信息:你對業界有一定的了解,熟悉業界的開發模式和開發周期,能夠適應公司的工作環境。
簡歷的最后部分可以用來列舉你的技能,包括熟悉的編程語言、開發環境、技術強項等。這部分的目的在于讓HR能夠從簡歷庫中匹配到你的信息。通常,每個職位都有一些技術要求,HR會通過查詢關鍵字,從簡歷庫中選擇匹配程度高的簡歷。這部分可以大大增加簡歷被匹配上的可能性。列舉的原則是,并不需要特別熟悉,只要實際用過就可以在此列舉。注意,如果你有幸被安排了面試,一定要回到這個部分,確保你所列舉的部分至少都能回答一些基本的問題,千萬不要給人做假的感覺。往往,HR并不一定了解你項目部分的描述是否與職位要求一致,因此,你這部分所列舉的技能需要盡量用業界標準的語言,列舉名詞即可。
- 內容提要
- 作者簡介
- 前言
- 我的故事,你的故事
- 現狀
- 目的
- 特色
- 第1章 簡歷、面試和Offer
- 1.1 簡歷
- 1.1.1 格式
- 1.1.2 內容安排
- 1.1.3 描述技巧
- 1.2 面試
- 1.2.1 HR
- 1.2.2 技術面試官
- 1.2.3 老板
- 1.3 Offer
- 1.4 常見問題
- 1.5 工具箱
- 第2章 數組和字符串
- 2.1 知識要點
- 2.1.1 數組
- 2.1.2 哈希表
- 2.1.3 String
- 2.2 模式識別
- 2.2.1 使用哈希表
- 2.2.2 利用哈希表實現動態規劃的思想
- 2.2.3 String相關問題的處理技巧
- 2.3 工具箱
- 第3章 鏈表
- 3.1 知識要點
- 3.2 模式識別
- 3.2.1 鏈表的基本操作
- 3.2.2 啞節點
- 3.2.3 Runner和Chaser
- 3.2.4 遍歷并處理節點
- 3.2.5 交換節點的問題
- 3.2.6 同時操作兩個鏈表
- 3.2.7 倒序處理
- 3.3 工具箱
- 第4章 棧和隊列
- 4.1 知識要點
- 4.1.1 棧
- 4.1.2 隊列
- 4.2 模式識別
- 4.2.1 通過棧實現特殊順序的讀取
- 4.2.2 “Save for later”問題
- 4.2.3 用棧解決自上而下結構的問題
- 4.3 工具箱
- 第5章 樹和圖
- 5.1 知識要點
- 5.1.1 樹
- 5.1.2 字典樹
- 5.1.3 堆與優先隊列
- 5.1.4 圖
- 5.1.5 圖的遍歷
- 5.1.6 單源最短路徑問題
- 5.1.7 任意兩點之間的最短距離
- 5.2 模式識別
- 5.2.1 利用分而治之(D&C)策略判斷樹、圖的性質
- 5.2.3 樹和其他數據結構的相互轉換
- 5.2.4 尋找特定節點
- 5.2.5 圖的訪問
- 5.3 工具箱
- 第6章 位操作
- 6.1 知識要點
- 6.2 模式識別
- 6.2.1 基本的位操作
- 6.2.2 位掩碼
- 6.3 工具箱
- 第7章 面向對象的設計
- 7.1 知識要點
- 7.1.1 設計題解答要領
- 7.1.2 模擬面試
- 7.1.3 抽象、面向對象和解耦(Decoupling)
- 7.1.4 繼承/組合/參數化類型
- 7.1.5 設計模式
- 7.2 模式識別
- 7.3 工具箱
- 第8章 遞歸和動態規劃
- 8.1 知識要點
- 8.1.1 構建從子問題到最終目標的方法
- 8.1.2 遞歸的空間與時間成本
- 8.1.3 自底向上與自頂向下
- 8.1.4 算法策略
- 8.2 模式識別
- 8.2.1 用動態規劃(自底向上)解決收斂結構問題
- 8.2.2 最長子序列類型的問題
- 8.2.3 用Memorization(自頂向下)解決收斂結構問題
- 8.2.4 用回溯法(自上而下)解決發散結構問題
- 8.2.5 用D&C策略解決獨立子問題
- 第9章 排序和搜索
- 9.1 知識要點
- 9.1.1 常見的內排序算法
- 9.1.2 常見的外排序算法
- 9.1.3 快速選擇算法
- 9.1.4 二分查找
- 9.2 模式識別
- 9.2.1 動態數據結構的維護
- 9.2.2 對于有序/部分有序容器的搜索,用二分查找
- 9.2.3 數據范圍有限、離散的排序問題
- 9.2.4 Scalability & Memory Limits 問題
- 9.3 工具箱
- 第10章 測試
- 10.1 知識要點
- 10.1.1 測試現實世界的物體、軟件或函數
- 10.1.2 故障排除
- 10.2 模式識別
- 10.3 工具箱
- 第11章 網絡
- 11.1 知識要點
- 11.1.1 網絡分層
- 11.1.2 路由
- 11.1.3 常用網絡統計指標
- 11.1.4 TCP vs. UDP
- 11.2 模式識別
- 11.3 工具箱
- 第12章 計算機底層知識
- 12.1 知識要點
- 12.1.1 進程vs.線程
- 12.1.2 上下文切換
- 12.1.3 系統調用
- 12.1.4 Semaphore/Mutex
- 12.1.5 死鎖
- 12.1.6 生產者消費者
- 12.1.7 進程間通信
- 12.1.8 邏輯地址/物理地址/虛擬內存
- 12.1.9 文件系統
- 12.1.10 實時vs.分時操作系統
- 12.1.11 編譯器
- 版權信息
- 看完了