官术网_书友最值得收藏!

前言
Preface

筆者目前就職于谷歌,擔任軟件工程師。與很多開發人員一樣,筆者在面試前也進行了充分的準備,其中“刷題”似乎格外令人痛苦和感到疲憊。然而筆者發現,雖然刷題的過程很痛苦,但也有很多收獲。首先,現在寫出來的代碼更加簡潔,編程也更高效。其次,提升了自己的系統設計能力,在面對實際問題時更有思路。最后,因為準備充分、發揮平穩,最終拿到了比一般軟件工程師更高的待遇。

在準備面試的過程中,筆者總結了一些經驗,現在把自己的經驗寫出來,分享給廣大讀者。

有一點需要說明:為什么本書使用Python語言呢?Python與C++相比更加簡潔,可以方便地調用很多函數。使用Python“刷題”,可以不必糾結煩瑣的細節。

本書分為四個部分,第一部分介紹硅谷公司面試流程,第二~四部分對應一般面試需要考查的三個基本技能。

?數據結構:主要介紹關于列表、堆棧、隊列、優先隊列、字典、集合、鏈表,以及樹和圖的一些基本應用。

?算法:主要介紹二分搜索、雙指針法、動態規劃、深度優先搜索、回溯、廣度優先搜索等算法,并提供了面試真題的實戰訓練。

?系統設計:包括系統設計理論和實戰,介紹了多線程編程設計,也介紹了機器學習的系統設計案例,包括搜索排名系統和Netflix電影推薦系統等。

本書具有以下特色。

?內容新穎:大多數案例都是目前大公司經常面試的實戰題目。

?免費代碼:附有大量經過測試的代碼。

?經驗總結:全面歸納和整理筆者積累的面試經驗。

?內容實用:結合大量實例進行講解。

本書的完成離不開恩師蔣立源教授的鼓勵,雖然他已經離開了這個世界,但是沒有他,筆者不會產生寫書的念頭。謹以此書獻給敬愛的蔣老師!

感謝師妹杜亞勤博士,她在百忙之中閱讀了全書并做了修改。

任建峰

于美國圣地亞哥

主站蜘蛛池模板: 舒兰市| 临武县| 象山县| 富源县| 顺昌县| 玛曲县| 岳阳县| 台南县| 西宁市| 辽中县| 谷城县| 饶平县| 聂荣县| 岳普湖县| 锡林浩特市| 广南县| 社会| 龙江县| 鄂托克旗| 沛县| 漳浦县| 绍兴县| 东台市| 凤冈县| 大竹县| 盐亭县| 汉川市| 崇礼县| 威远县| 哈尔滨市| 嫩江县| 和田县| 枣阳市| 清水县| 花垣县| 邵武市| 山阳县| 株洲县| 延寿县| 邵阳市| 喀什市|