BATJTMD,大廠招聘,都招什麼樣Java程式設計師?

小傅哥發表於2020-11-16


作者:小傅哥
部落格:https://bugstack.cn

沉澱、分享、成長,讓自己和他人都能有所收穫!?

一、前言

Java學到什麼程度可以找工作?

最近總看到類似這樣的問題,也有一些工作3年左右的小夥伴問小傅哥,該怎麼進大廠。其實你說 Java 學多少可以找到工作,主要看你想在哪個城市找、找什麼樣的公司、找什麼樣的待遇。因你的要求高低不同,你遇到的面試要求也會隨之改變。

因此,為了讓大家更清楚的看到學多少Java能找工作,我抽取了北京頭部網際網路公司的大量職位招聘要求,分析出一份可以讓你明卷面試的考點。看過都說?學習有方向、面試也不慌!

二、網際網路公司都分佈在哪裡

知己知彼,百戰不殆,先看看有哪些網際網路公司,都分佈在北京的哪些地方,也能方便你,面試不迷路、跳槽不辛苦。篩選了部分公司,還有很多不一一列舉了!

1. 常見大廠

圖 11-1 常見網際網路大廠,篩選20家

  • 沒有排名,隨機篩選,隨機排序
  • 公司包括:華為、聯想、新浪、百度、小米、58同城、搜狗、愛奇藝、騰訊、去哪網、美團、餓了嗎、汽車之家、位元組跳動、噹噹網、CSDN、亞馬遜、京東、360、滴滴

2. 地理位置

圖 11-2 網際網路大廠地理位置分佈

  • 從圖上可以看到大部分網際網路公司都分佈在北邊,?讓人怪不好意思的,集中在一塊挺好,下樓吃個飯就跳槽了。
  • 就我自己而言更喜歡靠邊一點的公司,因為租房便宜、不用擠地鐵、不用把時間浪費在路上、不用聽馬路的嘈雜。

三、什麼樣的技術能進入大廠

1. 你的簡歷

可能很大一部分1~3年找工作的小夥伴,只是按照模板填寫好簡歷就完事了,很少考慮公司都需要什麼、自己的職位是否匹配。

但你可能忽略了,你的這份簡歷才更多的決定了你會遇到一個什麼樣的公司、什麼樣的面試官、什麼樣的考題。最終決定你與這家公司的匹配的程度。

在與很多小夥伴溝通中發現,其實很大一部分程式設計師都不會寫簡歷的,或者說寫不好簡歷。好像是有話說不出來,或者是不知道該把這些話說在哪。一份簡歷主要得體現出你個人的資訊、技術棧廣度和深度、專案經驗以及最後一塊擴充內容。

而這份簡歷想達到最終的效果,也就是拿Offer。那麼一定要給面試官挖坑,當然這個坑不是真坑。而是你要在簡歷中突出自己的優勢項、技術亮點、優秀經歷,也同時在這些點中留出技術話題,讓面試官可以和你有的

但如果說你胡亂寫簡歷,說自己懂HashMap。那面試官來勁了,問你:Hash為什麼用31計算擾動函式的作用是什麼,以及它可以被應用在哪些地方負載因子嘎哈的HashMap是開放定址還是拉鍊定址連結串列什麼時候樹化以及遷移資料演算法是什麼2-3樹和紅黑樹有什麼關係等等,你不暈才怪,也不能給面試官留下好印象。如果你還不會這些技術,趕快看小傅哥的面經手冊 • 拿大廠Offer 吧!

2. 大廠考題

以下這部分考題分析資料是通過抽樣的方式,從Boss直聘中選取六個互聯公司,每個公司找3~5個,工作1~3年崗位應聘要求,從中分析各面試考點綜合彙總。

樣例資料

2.1 阿里、百度、騰訊

圖 11-3 阿里、百度、騰訊,1~3年招聘要求梳理

每個公司的每個職位要求會略有不同,所以不能一概而論,某一行沒有寫某項技術點也不能代表什麼。以上更多的是參考以及自己在面試求職時可以按照這個方式進行梳理。

  • 阿里,在技術上會更加希望你有深度和廣度,也善於把技術能應用到專案中,並有一定的學習能力。同時在工作中,要有責任心、溝通能力和解決問題的落地的能力。
  • 百度,同樣希望可以精通一些框架的深層次內容,有一定的技術經驗,更偏向於落地技能。同時也希望你是愛學習的面試者,最好有Github相關內容。工作中積極、主動、抗壓,認真,善於溝通。
  • 騰訊,除了基礎語言學習外,要有一些擴充套件,同時要深入理解語言特性。這可能和騰訊本身是用C、C++有關,要知其然,知其所以然。同時希望在資料結構和演算法上有一定的瞭解和認知,也可以在工作中有責任心、抗壓能力以及問題分析和解決能力。

2.2 位元組、美團、京東

圖 11-4 位元組、美團、京東,1~3年招聘要求梳理

分析完上面三家公司,再看看這三家網際網路對應聘者的要求。注意資料依舊是抽樣,所以面試者在投遞簡歷時,一定要自己拆解分析

  • 位元組,更注重Java基礎、演算法、資料結構,同時對於常用的技術要有一定的瞭解深度。對程式碼方面要有良好的設計和程式碼品味追求,同時希望你關注業界最新技術,有好奇心和進取心。工作中,有產品意識。對於研發來說,產品意識很重要
  • 美團,美團的技術科目屬於比較面的比較廣和深的,尤其是位元組碼程式設計技術,在其他一些招聘中是沒有看到的。除此之外更希望你有一定的學習能力,參與過Github開源專案,有技術鑽研精神。在工作中,有較強的思維邏輯,難點攻克,複雜問題推進落地,責任感等。這可能也和美團的技術氛圍有關,他們的技術部落格做的也不錯。百度搜美團技術,https://tech.meituan.com/
  • 京東,各家公司都非常注重Java基本功,這些面試題可能不難但也很難。另外在常用框架和相應的技術深度上要有一定了解,尤其是各個框架的原理和實現機制,如果你能自己動手寫一個,那麼會更好。另外在技術經驗上,可以有分散式、高併發等經驗,也可以非常用的運用設計模式,編寫出不錯的程式碼。同時希望你有一定的學習能力,部落格、開原始碼、Github、Gitee等。工作中,有過程控制意識、風險意識以及良好的溝通和解決問題的能力。

3. 考點總結

圖 11-5 面試官考點總結

綜上,各家公司的招聘要求,梳理出七個方向的考點,包括:基本功底、常用技術、技術深度、技術經驗、學習能力、工作能力、專案經驗。

  • 基本功底,是一個程式設計師的主科目語言的學習程度的一個基本考察,這部分內容需要平時大量積累和總結。否則一本簡單的Java書很難全部給你講透徹,因為Java中包括了太多的內容,遠不止API使用。
  • 常用技術,這個聊的是你的技術廣度,和崗位技術匹配度。比如需要用到過RPC,那你用過Dubbo。如果你的公司暫時用的技術不多,或者還是處於單體服務,那麼需要自己補充。
  • 技術深入,除了技術廣度接下來就是技術深入,在你常用的技術棧中,你有多瞭解他們,瞭解原始碼嗎、瞭解執行機制嗎、瞭解設計原理嗎。這部分內容常被人說是造火箭,但這部分內容非常重要,可以承上啟下的貫穿個人修為和薪資待遇。
  • 技術經驗,什麼是技術經驗呢?這是落地能力,除了你可能認為上面一些是紙上談兵,是造火箭。那麼接下來這部分內容就是你是否真造過一個火箭,真完成過一個難題。所以這部分是從結果證明,不是你會什麼,而是你做過什麼。
  • 學習能力,作為程式設計師你是否保持熱情,是否依舊在積極努力的關注技術,是否為自己的成長不斷添磚加瓦、是否還有好奇心和較強的求知慾。一般會從這裡看你是不是一個真正的Coder!
  • 工作能力,以上的種種能力,最終要體現到工作上,要能看出你的交付能力。否則即使你再優秀,也不能把你當成一個吉祥物。工作能力的體現,才是真的為團隊、為部門、為公司,貢獻價值的。
  • 專案經驗,這項內容會根據不同公司的不同業務線而不同,就像你懂交易、支付,那麼面試花唄、借唄、白條等工作崗位就會很吃香。

四、突破成長瓶頸的技術書籍

根據以上大廠崗位要求,總結了可以破敵的技術書籍!

技術成長的每一個階段都會遇到一個與之匹配的、難以跨越的,技術瓶頸期!這個階段沒有一次能解決的神藥,只有自己不斷的積累、沉澱、破局,到最後的爆發。而這些知識可能最開始都是枯燥的,就像看了大A不會小a,看了小a又牽扯出小b,沒辦法只能一層層的扒,一層層的學。

書籍下載:掃碼關注公眾號:bugstack蟲洞棧,回覆:電子書

1. 推薦

- 小傅哥的《重學 Java 設計模式》 ⭐⭐⭐⭐

本書是作者小傅哥,投入50天時間,從網際網路實際業務開發中抽離出,交易、營銷、秒殺、中介軟體、原始碼等22個真實業務場景,編寫了18萬字271頁的實戰型Java程式設計資料。如果書中含有不易理解的內容,一定是作者在編寫的過程中缺少必要的描述和嚴格的校準,感謝把你的意見或者疑問提交給我,也歡迎與我多一些互動,互相進步共同成長。

- 小傅哥的《位元組碼程式設計》 ⭐⭐⭐

讓人怪不好意思的,說是出書有點膨脹,畢竟這不是走出版社的流程,選題、組稿、編著、審讀、加工到出版發行。但全書共計107頁,11萬7千字,20個章節涵蓋三個位元組碼框架(ASM、Javassist、Byte-budy)和JavaAgent使用並附帶整套案例原始碼!

- 《JAVA核心知識點整理》 ⭐⭐⭐⭐

一份整理的蠻不錯的Java核心知識點。覆蓋了JVM、鎖、併發、Java反射、Spring原理、微服務、Zookeeper、資料庫、資料結構等大量知識點。

- 計算機是怎樣跑起來的(日)矢澤久雄 ⭐⭐⭐⭐⭐ - 點選購買(支援作者)

矢澤久雄,曾在Software House做過程式設計師,電腦作家之友會會長。工作之餘筆耕不輟,從電路到程式語言均有涉及。代表作有《程式是怎樣跑起來的》等。本書以圖配文,以計算機的三大原則為開端、相繼介紹了計算機的結構、手工彙編、程式流程、演算法、資料結構、物件導向程式設計、資料庫、TCP/IP 網路、資料加密、XML、計算機系統開發以及SE 的相關知識。

2. Java

1. 《Java虛擬機器規範(Java SE 7)》 ⭐⭐⭐⭐ - 點選購買(支援作者)

如果不太熟悉jvm,這個讀起來非常乏味(只有規範,沒有多餘解釋),但如果閱讀過相關深入java虛擬機器,再讀這個,會非常有親切感。

2. 《深入理解Java虛擬機器:JVM高階特性與最佳實踐(第3版)》⭐⭐⭐⭐ - 點選購買(支援作者)

這是一部從工作原理和工程實踐兩個維度深入剖析JVM的著作,是計算機領域公認的經典,繁體版在臺灣也頗受歡迎。作者周志明,是資深Java技術、機器學習和企業級開發技術專家,現任遠光軟體研究院院長,人工智慧博士在讀。

3. 《JAVA核心知識點整理》⭐⭐⭐⭐

一份整理的蠻不錯的Java核心知識點。覆蓋了JVM、鎖、併發、Java反射、Spring原理、微服務、Zookeeper、資料庫、資料結構等大量知識點。

4. 《On Java 8 程式設計思想》⭐⭐⭐⭐

本書原作者為 [美] Bruce Eckel,即《Java 程式設計思想》的作者。譯者在翻譯中同時參考了谷歌、百度、有道翻譯的譯文以及《Java程式設計思想》第四版中文版的部分內容(對其翻譯死板,生造名詞,語言精煉度差問題進行規避和改正)。最後結合譯者自己的理解進行本地化,儘量做到專業和言簡意賅,方便大家更好的理解學習。

5. 深入淺出+Java+多執行緒 ⭐⭐⭐⭐

筆者在讀完市⾯上關於Java併發程式設計的資料後,感覺有些知識點不是很清晰,於是
在RedSpider社群內展開了對Java併發程式設計原理的討論。鑑於開源精神,我們決定
將我們討論之後的Java併發程式設計原理整理成書籍,分享給⼤家。
如果您或者您的單位願意贊助本書或本社群,請傳送郵件到RedSpider社群郵件組redspider@qun.mail.163.com或加微信redspider-worker進⾏洽談。

6. 《Java核心技術 I》 ⭐⭐⭐⭐ - 點選購買(支援作者)

不同於一般的 Java入門書,此書對api的講解非常詳細,細節部門頗多。舉個例子,java物件序列化時會寫入什麼內容,本書都有詳細的介紹

7. 《effective java 3》 ⭐⭐⭐⭐ - 點選購買(支援作者)

全書以一種比較鬆散的方式將這些條目組織成11章,每一章都涉及軟體設計的一個主要方面。因此,本書並不一定需要按部就班地從頭讀到尾,因為每個條目都有一定程度的獨立性。這些條目相互之間經常交叉引用,因此可以很容易地在書中找到自己需要的內容。

8. 《Java解惑》 ⭐⭐⭐

挺有意思的一本書,它列舉了許多平常不太注意的細節問題,可能大部分時候我們都不會碰到此類問題,但如果讀過,一旦碰到,就會留意此類問題。

9. 《Thinking In Java 4》⭐⭐⭐⭐⭐ - 點選購買(支援作者)

值得用2年深入撫摸的書籍,對於學習java技術除了最開始的入門書籍後,這是一本非常值得閱讀的書籍。

10. 《Java記憶體模型》 ⭐⭐⭐⭐

Java執行緒之間的通訊由Java記憶體模型(本文簡稱為JMM)控制,JMM決定一個執行緒對共享變數的寫入何時對另一個執行緒可見。從抽象的角度來看,JMM定義了執行緒和主記憶體之間的抽象關係:執行緒之間的共享變數儲存在主記憶體(main memory)中,每個執行緒都有一個私有的本地記憶體(local memory),本地記憶體中儲存了該執行緒以讀/寫共享變數的副本。本地記憶體是JMM的一個抽象概念,並不真實存在。它涵蓋了快取,寫緩衝區,暫存器以及其他的硬體和編譯器優化。

11. 《Java併發程式設計實踐(全)》 ⭐⭐⭐⭐ - 點選購買(支援作者)

隨著多核處理器的普及,使用併發成為構建高效能應用程式的關鍵。Java 5以及6在開發併發程式中取得了顯著的進步,提高了Java虛擬機器的效能以及併發類的可伸縮性,並加入了豐富的新併發構建塊。在《JAVA併發程式設計實踐》中,這些便利工具的創造者不僅解釋了它們究竟如何工作、如何使用,還闡釋了創造它們的原因,及其背後的設計模式。

12. 《Spring揭祕》 ⭐⭐⭐⭐⭐ - 點選購買(支援作者)

本書內容全面,論述深刻入理,必將成為每個Java專業開發人員必備的Spring圖書。

難得的國產良心技術書籍,既沒有大量堆砌Spring原始碼,也沒有原封不動地翻譯官方文件。作者以自己的深厚功力和獨特視角一步一步地把Spring框架抽絲剝繭地展現在讀者面前,從謀篇佈局和字裡行間都能看出作者的用心之處。如果你想深入瞭解Spring的方方面面,這本書非讀不可,而且讀一遍都不夠,要每隔一段時間反覆閱讀,尤其第二部分IOC和第三部分AOP,它們是Spring的基礎,也是這本書的精華所在。這裡不妨給個建議,以這本書為藍本把Spring框架用到的設計模式和原則認真梳理一遍,結合原始碼認真理解為何要這樣設計。如若這樣,假以時日,功力必有小成啊。最後感謝作者,感謝我能遇到這本書

13. 《Spring原始碼深度解析》 ⭐⭐⭐ - 點選購買(支援作者)

由淺入深、由易到難地對Spring原始碼展開了系統的講解,包括Spring的設計理念和整體架構、容器的基本實現、預設標籤的解析、自定義標籤的解析、bean的載入、容器的功能擴充套件、AOP、資料庫連線JDBC、整合MyBatis、事務、SpringMVC、遠端服務、Spring訊息服務等內容。

14. 《深入理解SpringCloud與微服務構建》⭐⭐⭐⭐ - 點選購買(支援作者)

本書以微服務的基本概念介紹性開篇,逐步引出Java平臺下打造微服務的利器SpringBoot微框架。書中從SpringBoot微框架的“出身”開始,循序漸進,為大家剖析SpringBoot微框架的設計理念和原理,並對框架的重點功能和模組進行了逐一講解。

15. 《美團技術後臺篇》 ⭐⭐⭐⭐

2019年美團點評高階技術彙總,深入且清晰設計到Java核心技術。包括;位元組碼程式設計、全鏈路監控、美團分散式 ID 生成服務開源等。

16. Java Concurrency in Practice ⭐⭐⭐⭐⭐

This book covers:
Basic concepts of concurrency and thread safety
Techniques for building and composing thread-safe classes
Using the concurrency building blocks in java.util.concurrent
Performance optimization dos and don'ts
Testing concurrent programs
Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

3. DB

1. 《MySQL王者晉級之路》 ⭐⭐⭐⭐ - 點選購買(支援作者)

十年磨一劍,彙集作者多年MySQL資料庫領域的一線實戰與教學經驗,由淺入深剖析MySQL的體系結構、備份恢復、複製、高可用叢集架構、優化、故障排查、新版本特性、監控、升級及技術面試寶典等知識點。

2. 《資料庫索引設計與優化》⭐⭐⭐⭐ - 點選購買(支援作者)

作者通過系統的講解及大量的案例清晰地闡釋了關係型資料庫的訪問路徑選擇原理,以及表和索引的掃描方式,詳盡地講解了如何快速地估算SQL 執行的CPU 時間及執行時間,幫助讀者從原理上理解SQL、表及索引結構、訪問方式等對關係型資料庫造成的影響,並能夠運用量化的方法進行判斷和優化,指導關係型資料庫的索引設計。此書適用於已經具備了SQL 這一關係型語言相關知識,希望通過理解SQL 效能相關的內容,或者希望通過了解如何有效地設計表和索引而從中獲益的人員。

3. MYSQL技術內幕:INNODB儲存引擎 - ⭐⭐⭐⭐ - 點選購買(支援作者)

這本書更深入地介紹InnoDB儲存引擎的核心,例如latch、B+樹索引、事務、鎖等,從原始碼的角度深度解析了InnoDB的體系結構、實現原理、工作機制,並給出了大量最佳實踐,幫助使用者真正瞭解一個資料庫儲存引擎的開發。

4. Redis

1. 《Redis設計與實現》⭐⭐⭐⭐ - 點選購買(支援作者)

黃健巨集 軟體開發者,他喜歡函數語言程式設計,熱愛開源軟體。出於對資料庫的強烈興趣,他開始閱讀和分析 Redis 原始碼,並對 Redis 2.6 和 Redis 3.0 的原始碼進行了詳細註釋。

2. 《Redis 深度歷險:核心原理與應用實踐》⭐⭐⭐⭐ - 點選購買(支援作者)

作者:錢文品,老錢。可以說這是一本深挖到redis骨頭的技術書籍,整個內容涵蓋;基礎和應用篇、原理篇、叢集篇、擴充篇、原始碼篇共 5 大塊內容,值得學習。

3. 《Redis開發與運維》 ⭐⭐⭐⭐- 點選購買(支援作者)

付磊,張益軍 | 搜狐視訊高階研發工程師,都擁有多年Redis開發運維經驗,為公司多個核心業務提供Redis服務。兩人共同編寫了本書,在本書中全面講解Redis基本功能及其應用,並結合線上開發與運維監控中的實際使用案例,深入分析並總結了實際開發運維中遇到的“陷阱”,以及背後的原因, 包含大規模叢集開發與管理的場景、應用案例與開發技巧,為高效開發運維提供了大量實際經驗和建議。

5. 架構&設計

1. 《程式碼整潔之道》 ⭐⭐⭐⭐ - 點選購買(支援作者)

本書提出一種觀念:程式碼質量與其整潔度成正比。乾淨的程式碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為程式設計領域的佼佼者,本書作者給出了一系列行之有效的整潔程式碼操作實踐。

2. 《Head_First設計模式(中文版)》⭐⭐⭐⭐ - 點選購買(支援作者)

Head First陸續的介紹了策略模式、觀察者模式、裝飾者模式、工廠方法模式、抽象工廠模式、單件模式、命令模式、介面卡模式、外觀模式、模板方法模式、迭代器模式、組合模式、狀態模式、代理模式,在介紹各種模式的期間,用簡單的應用場景、通俗的語言引導讀者去思考這些模式是如何利用和遵循相應OO原則的,然後再清晰的總結出每種模式的定義。

3. 《編寫可讀程式碼的藝術》 ⭐⭐⭐ - 點選購買(支援作者)

細節決定成敗,思路清晰、言簡意賅的程式碼讓程式設計師一目瞭然;而格式凌亂、拖沓冗長的程式碼讓程式設計師一頭霧水。除了可以正確執行以外,優秀的程式碼必須具備良好的可讀性,編寫的程式碼要使其他人能在最短的時間內理解才行。本書旨在強調程式碼對人的友好性和可讀性。

4. 《重構 改善既有程式碼的設計》 ⭐⭐⭐⭐ - 點選購買(支援作者)

“不要容忍破窗戶” 如果兩個或更多的地方實現同一職責,則改變時會帶來麻煩。所以要遵循DRY原則,單一職責。這本書的每一項都介紹一種經過實證的程式碼變換手法(code transformation)的動機和技術。向你講述如何有效的重構以及是否進行重構。

5. 《設計資料密集型應用 Designing Data Intensive Applications》 ⭐⭐⭐⭐ - 點選購買(支援作者)

作者是英國劍橋大學的一名分散式系統研究員,在此之前他曾是軟體工程師和企業家,在 Linkedin 和 Rapportive 工作過,從事大規模資料基礎設施相關的工作。書中包含:深入分析你已經在使用的系統,並學習如何更高效地使用和運維這些系統、理解分散式系統研究,這些研究是現代資料庫構建的基石、瞭解一致性、可伸縮性、容錯性和複雜度之間的權衡。推薦人:BK

6. 《企業應用架構模式》 ⭐⭐⭐⭐ - 點選購買(支援作者)

作者是當今物件導向軟體開發的權威,他在一組專家級合作者的幫助下,將40多種經常出現的解決方案轉化成模式,最終寫成這本能夠應用於任何一種企業應用平臺的、關於解決方案的、不可或缺的手冊。

6. 其他系列

1. 《阿里工程師的自我修養》 ⭐⭐⭐⭐

從入門到進階,從普通員工到主管,從知識到落地,從量的積累到質的飛躍,在不確定性的世界中,你遇到的種種難題,阿里工程師正在探索著最優解。3大思維、10個技巧、10年感悟……每經過一次大的戰役,阿里工程師都會覆盤、沉澱,這些經驗值得細品。

2. Java開發手冊(嵩山版) ⭐⭐⭐⭐

《阿里巴巴 Java 開發手冊》主要提煉了阿里巴巴集團技術團隊的集體程式設計經驗和軟體設計智慧,可全面、立體地幫助開發者的成長和團隊程式碼文化形成。嵩山版首次新增前後端規約等內容,可幫助開發者碼出規範,碼出質量。

3. 《Http權威指南》⭐⭐⭐⭐ - 點選購買(支援作者)

如果以前沒有深入瞭解http,讀了此書,會覺得以前瞭解的關於http的內容都弱爆了。經典書籍,中文版2012年發版,翻譯的還不錯,值得閱讀。

4. Elasticsearch 權威指南 中文版 ⭐⭐⭐⭐ - 點選購買(支援作者)

這本指南都會幫助你瞭解其中最基本的概念,從最基本的操作開始學習 Elasticsearch。同時將向你介紹講解結構化搜尋、統計、查詢過濾、地理定位、自動完成以及你是不是要查詢的提示。並且探討如何給資料建模能提升 Elasticsearch 的效能,以及在生產環境中如何配置、監視你的叢集。

5. 計算機是怎樣跑起來的(日)矢澤久雄 ⭐⭐⭐⭐⭐ - 點選購買(支援作者)

矢澤久雄,曾在Software House做過程式設計師,電腦作家之友會會長。工作之餘筆耕不輟,從電路到程式語言均有涉及。代表作有《程式是怎樣跑起來的》等。本書以圖配文,以計算機的三大原則為開端、相繼介紹了計算機的結構、手工彙編、程式流程、演算法、資料結構、物件導向程式設計、資料庫、TCP/IP 網路、資料加密、XML、計算機系統開發以及SE 的相關知識。

6. 編碼:隱匿在計算機軟硬體背後的語言 ⭐⭐⭐⭐⭐ - 點選購買(支援作者)

是一本講述計算機工作原理的書。不過,你千萬不要因為“工作原理”之類的字眼就武斷地認為它是晦澀而難懂的。作者用豐富的想象和清晰的筆墨將看似煩雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。更重要的是,你會因此更加深刻地理解計算機的工作原理。這種理解不是抽象層面上的,而是具有一定深度的,這種深度甚至不遜於“電氣工程師”和“程式設計師”的理解。

7. 計算機程式的構造和解釋(原書第2版) ⭐⭐⭐⭐⭐

《計算機程式的構造和解釋(原書第2版)》1984年出版,成型於美國麻省理工學院(MIT)多年使用的一本教材,1996年修訂為第2版。在過去的二十多年裡,《計算機程式的構造和解釋(原書第2版)》對於電腦科學的教育計劃產生了深刻的影響。第2版中大部分重要程式設計系統都重新修改並做過測試,包括各種直譯器和編譯器。作者根據其後十餘年的教學實踐,還對其他許多細節做了相應的修改。

8. 程式碼大全(第2版) ⭐⭐⭐⭐⭐

第2版的《程式碼大全》是著名IT暢銷書作者史蒂夫·邁克康奈爾11年前的經典著作的全新演繹:第2版不是第一版的簡單修訂增補,而是完全進行了重寫;增加了很多與時俱進的內容。這也是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。它從軟體質量和程式設計思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程式示例。

9. 程式設計匠藝 ⭐⭐⭐⭐

如果你可以編寫出合格的程式碼,但是想更進一步、創作出組織良好而且易於理解的程式碼,並希望成為一名真正的程式設計專家或提高現有的職業技能,那麼Pete Goodliffe編寫的這本本書都會為你給出答案。本書的內容涵蓋程式設計的各個要素,如程式碼風格、變數命名、錯誤處理和安全性等。此外,本書還對一些更廣泛的程式設計問題進行了探討,如有效的團隊合作、開發過程和文件編寫,等等。

10. Zookeeper 分散式過程 ⭐⭐⭐⭐ - 點選購買(支援作者)

作者介紹Flavio Junqueira 是微軟研究院在英國劍橋大學的研究人員之一。他擁有美國加州大學聖地亞哥分校電腦科學博士學位。他的研究範圍涉及分散式系統的各個方面,包括分散式演算法、併發性和可擴充套件性。他是Apache專案如Apache ZooKeeper(PMC主席和提交者)和Apache BookKeeper(提交者)的積極貢獻者。他一有空就喜歡睡覺。

11. 黑客與畫家 ⭐⭐⭐⭐ - 點選購買(支援作者)

本書是矽谷創業之父Paul Graham 的文集,主要介紹黑客即優秀程式設計師的愛好和動機,討論黑客成長、黑客對世界的貢獻以及程式語言和黑客工作方法等所有對計算機時代感興趣的人的一些話題。書中的內容不但有助於瞭解計算機程式設計的本質、網際網路行業的規則,還會幫助讀者瞭解我們這個時代,迫使讀者獨立思考。

五、總結

  • 面試也是一場有準備的戰鬥,知己知彼才能遊刃有餘。面試怎麼面主要是看簡歷怎麼寫,最終是你來主導面試,還是被主導,更多也是依賴於你的技術身家。
  • 任何時候都需要主動學習、有技術眼光和魄力,既能吹得了造火箭的牛、也能落地出實際的產物、技能幫公司實現價值,也能讓自己有一定的收入。才是你應該永久追求的目標,和突破瓶頸的價值。
  • 少一些躁動、少一些不安,多一些沉穩、多一些沉澱,只要你願意積累就一定會突破瓶頸,都是這條路上的打工人,不要總讓自己的大腦被別人牽著走,也不要活在別人嘴裡。奧利給? 閱讀原文,進入知識寶藏!

六、系列推薦

相關文章