很多人在面試前都很焦慮,包括我自己都一樣,但是自從我閱讀了《思維力:高效的系統思維》這本書以後,並利用裡面的方法進行系統複習以後,幾乎不再焦慮。
看這本書得益於我的實習導師,他說我的思維比較發散,缺乏系統思維,讓我去了解一下如何培養系統思維,就這樣,我開始了培養系統思維的研究當中。
在知乎上,我搜尋系統思維,通過一頓篩選以後,找到一本比較適合我並且評價極高的書《思維力:高效的系統思維》。這本書是王世民著作,YouCore 創始人,知乎專欄 “框架力量” 作者。王世民老師(我對大牛都尊稱為老師,覺得直呼大名很不禮貌)善於利用思維導圖進行分析和總結,這種方式也確實高效,被很多人廣泛利用。
###何為系統思維?
我一直在說系統思維,那什麼是系統思維?基層思維分為4種:發散思維,水平思維,收斂思維,系統思維。
發散思維,可以理解為一點引伸出無數的線條一般,天馬行空無限制的思維;
水平思維,是多個方面看待同一個問題的思維方式;
收斂思維,是將各種零碎規整到一起的思維方式;
系統思維,是利用框架來系統思考和表達的思維方式。
我們都明白思維導圖的對於我們學習與瞭解某個東西的重要,框架是對一個系統的簡化,在一定程度上能讓我們對一個問題的思辨上更有邏輯。這裡我不想如何擴充套件怎麼學習,具體細節還請讀者去看書瞭解,我想談一談如何利用系統思維準備面試。
我強烈建議想要提高學習效率的朋友去看看這本書,並認真實踐,會大大提高學習效率,避免很多學習誤區。
面試前需要思考哪些問題?
我相信看到這個腦圖,都能明白其中的道理,因為我是一個程式設計師,所以我會以程式設計師的角度來講解面試。
企業招人角度
-
你想要進一傢什麼樣的公司?
那麼針對這樣的公司,你的價值觀,專業,素質,成長空間等等是否符合公司的要求?
-
想要成為什麼樣的人?
- 選擇快速成長的行業(建議網際網路行業)
- 選擇優秀的公司(建議選擇在你很感興趣的細分領域有特色的,能夠幫助你快速成長的公司)
- 選擇崗位(看你的專業匹配度和喜好)
接受不能改變的
學歷,學校,畢業年限,長相和性別這些暫時不能改變,所以只能接受,你需要把重點放在可以改變的上面。
改變可以改變的
- 技能樹:儘自己最大努力培養自己的技能樹,這個在後面會重點講,畢竟這是面試的重頭戲,其他準備再好,技能不達標總是會大打折扣的。
- 實習經驗和工作經驗:這個你先前有則好,沒有也只能接受,而且實習和工作經驗最好寫與你所要找的工作匹配度高一些會比較好,如果都不匹配,就酌情考慮是否要往簡歷上寫。
- 個人氣質:面試技巧,面試的一些禮貌用語,面試中的微表情,語氣等等可以通過後期練習達到比較好的狀態,想要詳細瞭解的可以去網上搜,Google,知乎,簡書,掘金,CSDN 上會有很多。
面試問題清單
- 準備 HR 常問的一些問題。
- 準備技術面試官常問的問題。
搭建自己的技能樹
在看了《思維力:高效的系統思維》本書之後,書上提到想要建立自己的知識系統,需要搭建系統框架,根據框架中的點來逐漸完善知識體系。
搭建系統框架有兩種方式:自下而上提煉框架 和 自上而下提煉框架。這裡我並不想仔細講解這兩種系統框架搭建的區別,這不是重點,你可以去看下我推薦的書,裡面會有詳細的講解。
如果你是一個應屆生,那麼你重點在於基礎知識的加強以及實習經驗。
而你需要羅列的關於計算機方向的基礎,我之前準備的是 Android 相關的面試,所以羅列的是關於 java 和計算機方面的基礎以及 Android 相關的知識。
以上的每一個點,當你羅列出 java 技能樹的時候,你需要學習的不僅僅是一些基本知識,還有底層實現原理。當我羅列出 java 知識點以後,我並沒有直接在網上找部落格,資料,而是直接將相關的書籍細看,我一直覺得只有書才能將很多東西的來龍去脈講清楚,而且還能涉及到其他你不知道的東西,這在我看來是細分領域的系統學習。
你看到我這麼說一定會覺得好多啊,是的,確實挺多,單單我列出的 java 技能樹都有十幾本書要看呢,但是我想說一點,我最開始也覺得好痛苦,被嚇到了,但是,在一次看書過程中我好像突然釋懷了,我看到微信讀書上面一本書完全讀完最多也就 10 個多小時,如果你是那種看書特別快的人,那麼你也許 8 小時就可以看完一本書。所以這樣一想,我發現十幾本書我最多一個月也可以啃完了,這樣一來,看書這個事情在我的自我安慰下竟然變得簡單了很多。
如果你還是覺得多,那麼我還要告訴你一點,其實書不一定要全部看完,因為有一些章節你不用仔細研究,只需要知道大概就好。如果你基礎好一點,這對你來說又是一個好訊息,你也許會看的比較快。
我特別強調一點,請你看書的時候不要只是看書,對於書中的重點請用紙筆或者 md 記錄,怎麼記錄又是需要技巧的。
####如何記錄書中的重點
因為是要準備面試,而不是像平時在學校一樣很悠閒的看,你需要有針對性的看。
- 先在網上搜尋一下面試高頻題,針對這些題,在書中找到相應的章節,仔細閱讀兩遍,我希望你在看的時候能夠明白其中的原理,而不是基本的概念,面試官在問你的時候,你知道概念,一般還會深入問,如果你能知道原理,那麼這就是你的加分項。
- 看書過程中不斷梳理知識點的邏輯,幫助你理解整本書的結構。
- 記錄要點之後有什麼用?方便你在面試前期的複習。當你看完一兩遍以後,基本上關上書也就忘記 70% - 80% 了。而你記錄的重點就會幫助你回想起你看的內容。在面試之前,你不需要再翻書,只需要將記錄的知識點拿出來背誦就可以。
- 為什麼我會說是背誦?我以前總以為看幾遍知道就行,結果根本沒用,面試的時候很緊張,腦袋一片空白,完全不知道之前看的是什麼,而你如果能將這個知識點背誦個八九不離十,那麼在面試官眼裡,就認為你對這個知識點已經非常熟悉,這又是一個加分項。
演算法
我想推薦 七月線上 的演算法題講解,當時買的時候很便宜,每個模組才 1 塊錢,遇上搞活動了吧。現在我又看了下,漲價到 99 了,我並不是想說價格,我想說的是老師講課真的很良心,從演算法的最基礎的知識講起,帶我們刷演算法,利用很多方式幫助我們如何理解演算法的原理。我建議想要學好演算法的朋友可以關注一下,七月線上的老師資歷都很高,講課思路清晰,很棒。
我最開始將上面的演算法教程都看了一兩遍,然後再 leetcode 刷題,重點刷的是 《劍指 Offer》這本書上的題,很多大公司都喜歡問上面的題,概率很高,透露一下,《劍指 Offer》這本書我刷了 5 遍,面試的時候基本上每道題都能手寫下來,不過過了這麼久,很多都忘了。
資料庫
我看的是大學的教材《資料庫實用教程》,大學的書籍對於應屆生來說完全夠用了,不需要要另外再去買書,所有的基本上都是,你需要知道資料庫的一些常見的問題,比如:正規化,結構化查詢語句,資料庫的設計,資料庫的優化,這些你看部落格都講得比較淺顯,建議看書深入理解一下會更好。
JVM
我直接看了《深入理解 Java 虛擬機器》裡面比較重要的章節,但是由於當時時間比較趕,好幾個章節沒有看完,之後面試問到卻成了我的減分項,明明看過卻答不上來,給面試官的感覺就是你的學習能力不行,學了就像沒學一樣,所以這裡我想要強調一下,對於你看過的東西,一定要能夠對答如流,要麼就說不會(不過這也許是我的看法)。
網路
我看的大學的《網路程式設計》這本書,在簡書上有我寫的重點章節的筆記,感興趣的可以看看,我看的有一些書的筆記記錄在 A4 紙上的,還沒有更新到簡書上,之後我會將我看的這些書上的內容總結出來放在簡書。
網路程式設計重點需要掌握的是:OSI 七層模型,TCP/IP 四層模型,三次握手,四次揮手,DNS 域名,網路安全,如何解決無狀態協議等等。
我上面所說的並不是讓你只是知道概念,比如 TCP/IP 四層模型,你需要知道每一層有什麼內容,作用,尤其是 HTTP,HTTP 有什麼特點,版本的區別,狀態碼,請求方法及其區別,websocket 以及長連線,HTTP 和 HTTPS 的區別,你可以針對我列舉的這個例子再去思考一下其他知識點你應該看什麼。
其實我只是舉個例子,你如果有書,書上列舉的比我說得更詳細。
這裡已經說得很多了,再說下去感覺已經沒有盡頭了,我上面花了這麼大的篇幅講述羅列知識點以及如何進行復習,對於思維導圖上的所有知識點,我希望你也可以按照我說的方法照做,當你看完並且整理好知識點之後,基本上面試都沒什麼問題。
但是一些公司的一些硬性要求就沒辦法改變了,我只能說從技能方面可以進行強化並且改變。
Android 技能樹
我所羅列的是 Android 中的基礎部分,主要是一些主要的框架及其底層原理。下面的這個思維導圖知識點主要是 《Android 開發藝術探索》裡面的,主要講的偏原理,我覺得對於面試來說很有幫助,知道原理才能更好的理解程式碼。
還是想要重點強調一點,請看書的時候邊看邊記錄,然後將記錄的知識點理解透徹,能夠做到對答如流。
總結
我利用很大的篇幅針對軟實力和硬實力進行了講解,面試前需要思考的問題以及如何搭建自己的技能樹,我知道說這麼多還是需要自己實踐。
這裡我是針對 Android 面試進行的講解,你可以進行擴充套件,你面試的崗位進行調整,儘早做準備。
- 針對你自己的情況,思考面試前要考慮哪些問題。
- 針對你要面試的崗位,整理思維導圖,系統的進行復習,在時間還很充裕的情況下(一般有兩個月就可以),我強烈建議看書並做筆記。
- 技能樹培養的差不多的情況下,還要整理一下你所做的專案,尤其是專案如何實現,遇到什麼難題,你是如何解決,一定要能夠清晰的講出來。(記得我在小米終面的時候,專案忘記準備,JVM 虛擬機器看太少,兩個都成了我的減分項,最後的演算法題我之前也沒有做過,幾個加起來最終成了我與之失之交臂的墳墓,淚奔)
- 簡歷一定要認真準備,簡歷上只要是你寫到的點,你都一定要保證全部能回答上來,否則不要寫,回答不上來就會成為減分項。面試官問到簡歷上沒有的,還會覺得你知道的很多,就成了加分項。
PS
想要思維導圖和電子書的可以留言或者關注公號留言【思維導圖】。