- 硅谷Python工程師面試指南:數據結構、算法與系統設計
- 任建峰 全書學
- 692字
- 2024-06-27 15:59:28
前言
Preface
筆者目前就職于谷歌,擔任軟件工程師。與很多開發人員一樣,筆者在面試前也進行了充分的準備,其中“刷題”似乎格外令人痛苦和感到疲憊。然而筆者發現,雖然刷題的過程很痛苦,但也有很多收獲。首先,現在寫出來的代碼更加簡潔,編程也更高效。其次,提升了自己的系統設計能力,在面對實際問題時更有思路。最后,因為準備充分、發揮平穩,最終拿到了比一般軟件工程師更高的待遇。
在準備面試的過程中,筆者總結了一些經驗,現在把自己的經驗寫出來,分享給廣大讀者。
有一點需要說明:為什么本書使用Python語言呢?Python與C++相比更加簡潔,可以方便地調用很多函數。使用Python“刷題”,可以不必糾結煩瑣的細節。
本書分為四個部分,第一部分介紹硅谷公司面試流程,第二~四部分對應一般面試需要考查的三個基本技能。
?數據結構:主要介紹關于列表、堆棧、隊列、優先隊列、字典、集合、鏈表,以及樹和圖的一些基本應用。
?算法:主要介紹二分搜索、雙指針法、動態規劃、深度優先搜索、回溯、廣度優先搜索等算法,并提供了面試真題的實戰訓練。
?系統設計:包括系統設計理論和實戰,介紹了多線程編程設計,也介紹了機器學習的系統設計案例,包括搜索排名系統和Netflix電影推薦系統等。
本書具有以下特色。
?內容新穎:大多數案例都是目前大公司經常面試的實戰題目。
?免費代碼:附有大量經過測試的代碼。
?經驗總結:全面歸納和整理筆者積累的面試經驗。
?內容實用:結合大量實例進行講解。
本書的完成離不開恩師蔣立源教授的鼓勵,雖然他已經離開了這個世界,但是沒有他,筆者不會產生寫書的念頭。謹以此書獻給敬愛的蔣老師!
感謝師妹杜亞勤博士,她在百忙之中閱讀了全書并做了修改。
任建峰
于美國圣地亞哥
推薦閱讀
- 手機安全和可信應用開發指南:TrustZone與OP-TEE技術詳解
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- ReSharper Essentials
- MySQL 8從入門到精通(視頻教學版)
- Debian 7:System Administration Best Practices
- PowerCLI Cookbook
- Software Testing using Visual Studio 2012
- 程序員數學:用Python學透線性代數和微積分
- 三維圖形化C++趣味編程
- Visual Basic學習手冊
- Reactive Programming With Java 9
- 精通網絡視頻核心開發技術
- 快速念咒:MySQL入門指南與進階實戰
- Protocol-Oriented Programming with Swift
- Babylon.js Essentials