1. 簡介程序員
筆者普通院校畢業,沒有光鮮亮麗的職業背景,憑着本身的激情和兩個月的準備最終拿到京東和阿里巴巴 Offer。下面就是做者這次跳槽經歷全部準備工做和心得,但願對你有幫助,做者工做經驗有限,此文適合少於5年工做經驗者。初次寫做若有不對之處,歡迎批評指正。面試
本文是做者覆盤本身兩個月的面試經歷,但願經過個人分享,對你們有幫助,祝你們跳槽成功。數據庫
2. 克服心理是投簡歷的第一步編程
第一章是枯燥的心理建設,若是你心裏足夠強大,直接略過看下一章。設計模式
2.1 擺脫溫馨區緩存
筆者妄自揣度讀者的內心,公司如今經營不景氣、公司沒有發展、公司可能會倒閉、本身的職業生涯沒有規劃、公司如今作的東西和個人理想不一致等各類緣由,但卻說服不了處於溫馨區的本身走出來。安全
大多數的咱們都是呆在溫馨區,在這個區域壓力和變化都很小,讓咱們的生活很平靜,同時改變相對就少不少了。在溫馨區待久的咱們真的很難邁出一步去挑戰本身,由於咱們須要再次去學習,去挑戰本身。性能優化
離開溫馨區就意味着較高的風險和焦慮,它能夠致使積極的和消極的結果,然而學習區是真正的 「 產入 」 階段。是讓人精力和行爲達到最佳狀態的區域,在學習區你會消失由於期待帶來的不安,也不會有天天無所事事,自怨自艾的 「 工做迷茫 」,更不會天天晚上感嘆一天又是無所事事。微信
當你真正挑戰本身時,你所作出的成就會讓人驚歎。正如一句話:「 你不逼本身,永遠不知道本身有多強。然而要把握好本身的容忍度,若是到了恐慌區不只工做效率不高,還會失去信心。因此如今的你應該考慮本身是否是那個在溫馨區的本身,若是你還想挑戰本身,而不是天天自怨自艾,請行動起來。筆者也是特別不肯意投第一封簡歷,也不想去面試,有一天實在忍不下去了,咬着牙投出去第一封,接下來就會投 2,3,4 ...數據結構
結語:你不逼本身永遠不知道本身有多強,若是你不想成天自怨自艾,那麼就讓本身行動起來,邁出一步,後面就好走多了。
2.2 地球沒有你同樣能夠轉
固然此段落可能說的不是你,以前和好幾個朋友聊過,他們都以爲公司對本身不錯,同事關係很好,並且公司業績正在發展,如今不能沒有我,遲遲不忍心動手。那麼若是你有這種想法你就錯了,地球沒有誰都在轉動,若是你真的以爲本身沒有在成長,那麼果斷的離開,對於你和公司都是一件好事。
對於公司,沒有那麼忠誠的你他們能夠找更好的,並且你要知道,一個產品的靈魂其實更多的是 PM 賦予的,咱們這種作程序的是這個行業最容易替換的職位,因此公司不會由於一個技術的離開會一蹶不振;對於你,若是你沒有更好的平臺、經從來武裝本身,時間久了就會和正在成長的公司、朋友們脫節,如今也許大家在一個起跑線,過一段時間,再好的關係也會變得陌路。
結語:地球沒有誰都在轉動,換工做沒有對不起誰,對不起的只是本身,只有本身才能爲本身買單。
2.3 明日復明日,明日何其多
以前遇到一堆問題無從下手的時候,時不時用 「 明日復明日,明日何其多 」 給本身打趣。其實你本來計劃的事情沒有完成,究源仍是你的時間管理不規範致使,隨便拿一個 「 奇妙清單 」 就過來使用其實效果很很差,若是你以爲本身的計劃和時間也安排的亂糟糟,請看看這本書。《搞定Ⅰ:無壓工做的藝術》 ,這本書是時間管理領域最具影響力的著做之一,書中介紹的 GTD(Getting Things Done)時間管理方法也成爲全球千萬讀者用來輕鬆高效完成工做與我的事務的最佳工具。
結語:因此既然決定的時候就必定要付諸行動,若是由於繁雜的事情沒有安排好,那麼就嘗試使用 GTD 合理的規劃一下本身。你要知道,咱們都有拖延症,你永遠都不會準備好,只有邁出第一步才能開始準備。
2. 4 盲目自信也是在耽誤你
筆者起初也是很有自信,以爲本身工做三年有餘就獨立的負責很大的模塊,而且是公司的核心開發人員,一直在給本身心理暗示:「 我如今就是不想找工做,如今我在創業公司可以獨當一面,啥時候想找不是很輕鬆的事情? 」。
然而就是這個想法讓我從有想法換工做到開始動身足有小一年。等到動身的時候我才知道本身曾經的想法是錯誤的。
「 格局的侷限是你致命錯誤 」。我開始試水是在拉鉤上面投了 10 幾封簡歷,結果一週過去毫無音訊。
我開始反思問題,因而託了一位工做好久的朋友幫忙看一下簡歷,反饋竟是這樣:「 你的簡歷寫的太亂了,沒有條理,蒼蠅蚊子一把抓,並且你的經歷太散,沒有重點,你得好好整理下本身的項目經歷和技術能力。」。
因而,就有了下面一章《 整理簡歷,好的開始是成功的一半》,怎麼整理簡歷和本身的技能點。
結語:盲目的自信也是你一拖再拖的理由,是騾子是馬,拉出來溜溜一會兒就知道了。
3. 整理簡歷,好的開始是成功的一半
這是個人第一份簡歷,打個樣你就知道有多差了,其實當時我本身以爲內容不少,技術點不少,還說明了作什麼了,而且最後還言明本身在這個項目中的厲害和學到了什麼,不該該是很不錯嗎?
然而事情並非我想的那樣,很大一個篇幅描述,雜糅到一塊兒既顯得雜亂無章,也讓閱讀者抓不住重點,其實你能夠把簡歷比喻成代碼,這樣一坨還不重構怎麼讓人維護? 不噴你纔怪。
首先須要整理版面,起碼讓閱讀者看着舒服,筆者找了不少方案,以爲下面兩種方案不錯:
使用表格很規整的 Word 文檔,清晰呈現本身的信息和工做經歷,具體模板 點擊獲取。
使用 Markdown 編寫簡歷,本來咱們就很是熟悉 Markdown 的語法,並且他的樣式對於咱們閱讀來講已經很能夠了,而且層次目錄清晰。
其次是我的基本信息,我的基本信息必定要字字珠璣,不要寫沒用的,好比駕照,血型。羅列重點信息便可,而且學歷必定寫的清清楚楚,不要讓面試官去猜疑。若是有不錯的社交屬性能夠放上,好比不錯的 Github 或者是簡書。
而後就是最重要的一點清晰的描述本身的工做內容並突出重點,必定要有條理而且分層次,最簡單的方式就是公司用 #,項目名稱用 ##,技能,內容,描述分別用 ###,這樣結構就很是清晰,而後使用 FAB 或者是 STAR 原則,描述本身的貢獻,這樣就清晰多了。
打個樣,看一下筆者修改之後是否是好了一些:
切記不能有錯別字,這是寫簡歷的大忌。
最後是技能必定要突出重點,若是你找的是 JAVA 工做,其實一線互聯網公司是不會關心你對 HTML 有多麼熟悉,因此重心放在 JAVA 上面,好比 NIO、多線程、JVM 等。
筆者注:固然若是你選擇寫上去的東西,必須能夠自圓其說,必須真實,否則就拔苗助長了。
簡歷確實是很是重要的,做者找到了一篇還不錯的文章,寫的很是詳細,裏面還有技巧和模板,比筆者總結的好那麼一丟丟[壞笑],如何寫好技術簡歷 —— 實例、模板及工具,能夠參考一下。
結語:好的開始是成功的一半,必定要在本身的簡歷上面下一番功夫。
4. 打造本身的社交簡歷
一份 PDF 簡歷是求職必須的,然而有一份 「 社交簡歷 」 更能讓你錦上添花,能夠簡單的從「訂閱號」提及,爲何訂閱號放在社交簡歷的第一位呢?
4.1 訂閱號
天天地鐵裏面上下班你用什麼來打發時間?大多數人都在看訂閱號吧,微信訂閱號這麼大的體量,又源於社交,那不是最好的打造本身社交的一個工具?
筆者瞭解,85% 以上的訂閱號做者都是本身樂於分享,樂於傳播,樂於交友的,那麼筆者問你,你訂閱了那麼多本身以爲還不錯的公衆號,加了幾個訂閱號主的微信?
驚訝臉?還有這操做,若是沒有意外,90% 的訂閱號主都會把本身的微信獲取方式放到訂閱號的菜單裏面。
爲何筆者建議你添加訂閱號主,由於互聯網圈子就這麼小,人脈是很是重要的一個財富,工做越久你就會越以爲人脈很重要,既然你沒有父輩帶來的人脈,那麼本身擴展也是一個不錯的選擇。另外一個緣由,有一句古話說的好:「 近朱者赤近墨者黑 」,若是你想進大廠,是否是先了解一下大廠的人怎麼思考,怎麼作事,是一個什麼水平?
那麼訂閱號很多都源於大廠,這是你最方即可以觸及大廠人的生活的方式,添加他的微信則是更一步的方式。沒事多閱讀下他的文章,點贊,互動一下,慢慢就會變成你的關係網。
打個樣,好比筆者的收集,阿里巴巴的 併發編程網,京東的 開濤的博客,ThoughtWorks 的 諾普博客,還有筆者的微信 碼匠筆記,不過筆者仍是一個初級選手。 若是你留心,訂閱號會成爲你最好的人脈。
4.2 寫博客
而後是博客,筆者私覺得一個作技術的沒有一個博客是萬萬不可以的。一個好的博客不只體現了你對技術的那份熱情,還有你水平的最好的體現。短短的幾個小時面試是不可以深刻的瞭解一我的的,可是你的博客是你閱歷的寫照,有心的面試官會仔細審度你的博客,挖掘你的亮點。同時你的博客也能提升你的知名度,好比「阮一峯老師」或者是「張鑫旭老師」去找工做,是否是會輕鬆不少?
固然咱們不會把博客打形成他們那個樣子,那麼權威,可是提升本身,整理思路仍是足夠的。
雖然下文中《怎麼複習》章節,筆者說看別人的文章複習是不足的,可是你寫博客是把你的知識表達出來,你看明白和你能講明白是兩碼事。因此《收藏 != 擁有》章節講,你須要把你收藏的東西整理成本身的文章,而後發表出來,這樣本身掌握的便會更加深刻。
4.3 單身交友社區 Github
Github,都說 Github 是單身交友俱樂部,不過也有妹子哦。
做爲技術人員,Github 是最好的社區了,你能夠在上面看到很是不錯的開源,同時也能和做者互動,固然互動的方式不少,好比 Pull Request,Issues,Star,Fork 等等,若是你本身熱愛開源,有小想法,能夠本身作一個開源的小工具,哪怕只有一個點,也是一份開源的熱愛。
筆者的 Github 還算是樸素,只是添加了一些本身業餘時間的開源,好比 Chrome 目錄插件,Facebook Messenger SDK 封裝 ,同時發送 Markdown 文章到 CSDN、SegmentFault、簡書等平臺工具 等,同時有時間也會參與開源社區的翻譯,好比MDN、ElasticSearch 官方文檔、Spring4All 譯文等。
這樣你長期堅持下去,會在 Github 結交一些志同道合的人,同時也能增長本身的亮點。何樂而不爲?
筆者也是初入社會,才疏學淺,若是你有更好的 「 招式 」 歡迎留言區留言,讓筆者和其餘讀者能學到更多的 「 武術 」。結語:PDF 的簡歷只是你面試的一部分,若是你對這個行業充滿着好奇,那麼就用業務時間多經營一下本身的社交簡歷。
5. 你最關心的面試點
筆者在網上看到過 N 多的面經,上來就說面試問到什麼,具體到類,對象,有的可能還有答案,可是筆者這個章節並不會 一 一 羅列面試問題。
哎,可是筆者考慮到有的讀者想看一下筆者經歷的面試題,因此仍是把本身的面試問題放在下面《個人面試經歷》章節
回到正題,由於筆者認爲,面試點雖然很重要,可是它並不表明你掌握了就能夠輕鬆應付,它只是知識面裏面的一個點而已。你記住今天的問題,明天面試官換一個問題你,你仍是回答不上來,可是大部分面試官提問的知識面其實都差很少。因此若是你想應付自如,就從面試官的知識點中挖掘出知識面,從而達到觸類旁通,舉一反三。
你是否有這樣的經歷:明明每次面試以前都認真研究面經,整理知識點的,可是去面試的時候老是被問住。若是是,那說明你能夠根據筆者的方法挖掘一下知識面了。
下面筆者經過一個具體的例子講解一下怎麼從知識點分析出知識面,而後再全面複習。
由於不一樣的領域的知識點也不同,筆者只是拋磚引玉,具體的技術,還得你根據本身的狀況仔細揣摩。
Synchronized 和 ReentrantLock 鎖機制?
HashMap 的原理?當談到線程不安全時天然引伸出 ConcurrentHashMap ,它的實現原理?
寫一下生產者消費者。
介紹一下 BlockingQueue 原理。
介紹一下 PriorityBlockingQueue 原理。
說一下 CountDownLatch 的使用場景和原理。
羅列一些你知道的線程安全的集合類。
上面這些問題都是筆者在面試不一樣公司的問題,萬卷不離其宗,都是在考 JAVA concurrent 包下面的知識點,那麼咱們須要梳理一下 concurrent 包下面都有什麼,都有什麼關聯的知識點,而後統一複習,即使是面試官再換一些問題也沒有關係了。直接用圖來講明一切
上圖是整個 JAVA concurrent 包下面的類,咱們有了這個圖就能夠各個擊破了,好比咱們須要看信號量 Semaphore,讀寫鎖 ReentrantReadWriteLock,CountDownLatch 它們的實現和使用場景,固然他們的實現須要依賴 AQS,CAS,Atomic,具體它們都是什麼呢?這就須要你細細去品了。
下文章節《怎麼複習》裏面提到,切記不能看博客,也別聽筆者道聽途說,一本書的內容筆者三言兩語就講清楚了,那麼也不須要畫這麼大一個圖了,也就沒有那麼高深了。
因此請繼續往下看《怎麼複習》章節怎麼作。而後到了 collections 下面的集合類,每一種的實現都離不開 Lock,具體它們之間怎麼關聯的呢?你一看源碼就懂了。最後是 executor,它就是一個工具,可是也離不了上面的 Lock 和集合類,因此只要你仔細的看 《Java併發編程的藝術 (Java 核心技術系列)》這本書,想必好多問題你均可以迎刃而解。
再舉一個筆者複習 ElasticSearch 的例子,經過《個人面試經歷》章節你能夠發現,4家公司都問過 ElasticSearch 的問題,好比ElasticSearch存儲過程,索引過程,查詢過程,原理和數據結構。那麼筆者勢必要下功夫了,因而筆者從頭至尾讀了一遍《ElasticSearch 權威指南》。
筆者沒有找到合適的書籍,中文文檔是 2.0 版本有些過期了,可是基本原理相似,若是英文好的話能夠直接看 6.0 最新英文文檔。裏面會給你講用法、實現、存儲結構、設計原理還有集羣搭建、分片原理,反正你能夠學到好多東西,這樣你就能夠參照《學以至用》章節,掌握之後立刻考慮哪裏能夠用到當前項目中。
結語:面試點只是一個表象,你須要針對知識點找到它對應的知識面,等你看完你會發現由點及面的掌握了知識,這樣才能觸類旁通,舉一反三。怎麼樣收集這個知識點呢?那就是下文講到的《個人面試經歷》中經過試水收集。你能夠經過本身試水得到
6. 怎麼複習
6.1 收藏 != 擁有
你的微信收藏是否是有不少未讀文章?若是你不按期的整理收藏夾,那麼等於沒有收藏夾。收藏是好習慣,看到了不錯的文章就收藏下來,而且微信的訂閱推送體系是獲取知識開拓眼界最好的方式,可是你須要懂得利用。
筆者每隔一週就會清理一次收藏夾。固然清理不是刪除,是把有用的知識點抽離出來,而後經過搜索資料和查閱書籍把他變成本身的知識存儲到 「 有道雲筆記 」,雖然有道雲筆記沒有印象筆記穩定,筆者只是喜歡他的 Markdown 功能。
6.2 博客不必定真實
好多人複習的時候都是看一下網上的面經,整理一下知識點,而後百度,谷歌看幾篇帖子就覺得本身掌握了,自覺得已經 「 學富五車 」,其實不是這樣的。
網上的文章不必定講的全面,好多都是以偏概全,甚至有的不必定準確,加上國內的複製,抄襲嚴重,能看的文章實際上是少之又少。因此這裏筆者推薦複習必定要看書,緣由很簡單,寫博客的門檻是在過低了,隨便動動手就來一篇,然而書不是那麼簡單,校審,出版社層層把關,並且業界那幾本值得看的書你們其實仍是知道的。
舉一堆栗子,若是你想複習 JVM,那就看 《深刻理解 Java 虛擬機:JVM 高級特性與最佳實踐(第 2 版)》, 若是你想複習多線程那就看 《Java 併發編程的藝術 (Java 核心技術系列)》,若是你想複習 ElasticSearch 就看 《ElasticSearch 權威指南》,若是看 Redis 就看 《 Redis 實戰》,不過筆者也看過國產的一本不錯的 Redis 書籍 《Redis設計與實現 (數據庫技術叢書)》,《高性能 MySQL》,《Spring 實戰》,《RabbitMQ實戰:高效部署分佈式消息隊列》等等,固然筆者只是根據這幾個領域列舉,若是這些不包含你想看的,必定要買一本這個領域經典的書來看,好書永遠都不過期。
這裏必定要提醒你們,看書必定不要蜻蜓點水,咱們是從書中汲取知識,不是以量取勝,千萬不能有我多久多久就看完一本書而自豪,那樣其實你並無真正掌握裏面的知識,小筆者最長看書的時候,第一章就看了一個月(固然是天天看一點)。
緣由是每看到一個知識點就不懂了,立刻停下來查網上的資料和相關的書籍,若是別的書籍也有講到就不懂的就繼續刨根問題,直到全部問題都解決了再繼續看當前書籍的下一個章節。這樣之後你以爲你慢了?其實你是快了,由於你掌握了更多的東西,再看接下來的章節其實會很快。
這樣堅持看完幾本書之後你就會發現本身有些特別了。
6.3 好記性不如爛筆頭
what?都什麼年代了你還和我說用筆?是的,你沒看錯,筆者嘗試的最好的複習方式就是買一個筆記本,天天把本身看書所得整齊的寫上去。網上的雲筆記多方便,一粘貼一大堆,可是就是由於他方便才更不容易加深印象,和上面的 《收藏 != 擁有》一個道理,你覺得你整理到雲筆記上面了,其實你就是複製粘貼了一下,徹底沒有過腦。
因此記筆記必定要用紙質的,即使是筆者用雲筆記記錄,也不會粘貼。還有一個就是感受,爲何 Kindle 那麼火,還那麼多人買紙質書呢?
6.4 配合源碼
看書必定會有不懂的地方,不理解的點,若是遇到直接看源碼就行了,好比 JVM,Redis 均可以找到源碼的,雖然他們都是 C 的代碼,可是咱們有 JAVA 的基礎,都不在話下。其餘的本來就是 JAVA 實現的看其源碼還會更簡單,尤爲是 JAVA 併發包下面的內容。因此遇到問題必定要仔細的鑽研源碼。
筆者在看 hashcode 的時候就是不理解,爲何每次運行主線程的類 hashcode 不變,其餘類會變,因而筆者在 os.cpp 中的 os::random() 方法找到了緣由,他 random 的 seed 不變,因此每次第一個線程的 hashcode 勢必同樣。雖然可能和麪試不相關,可是起碼之後不會由於這個問題而困擾。
6.5 觸類旁通,舉一反三
學而不思則罔,思而不學則殆。學習之後必定要多總結和思考,好比你知道 JAVA 裏面的 PriorityQueue 是優先隊列,那麼 ElasticSearch 的query 默認搜索數量要限制 2000 也是由於它使用的是分佈式的 PriorityQueue 嗎?
好比你能夠思考 JAVA 的 HashMap 的hash 實現爲何使用 (h = key.hashCode()) ^ (h >>> 16);
這樣一步位運算?
它原理和 Redis 的是否同樣呢?
MySQL 在分庫分表的時候是否也可使用相似的原理?
ElasticSearch 也有分片的概念,那麼是否是也用的同一種hash原理?
hash是否是有多種實現,哪種更好用,哪種hash衝突的機率更小?
這個課題答案並不重要,重要的是你在探尋答案過程當中的收穫。
6.6 學以至用
經過上面的學習想必你已經掌握了一些東西了,那麼掌握裏之後怎麼讓他們更有意義?那就是 Redesign ,不知道這詞好很差理解。意思就是你既然經過分析知識點掌握了以前沒有掌握的知識,那麼爲何沒有在原來的項目中使用呢?知識沒有真實的使用場景,面試官怎麼承認你?因此經過複習掌握的知識必定要及時的應用到原來的項目上面,具體怎麼應用就要看你以前的項目了。
好比你本身學習了 Dubbo,就把原來的項目改爲所有使用 RPC 調用的項目;好比你學習了 Spring - Boot,就把原來的 Tomcat 的方式所有去掉;好比你學習了多線程,就去把原來的耗時任務修改掉;好比你學習了設計模式,就思考一下原來什麼地方修改一下更優雅?
筆者拋磚引玉舉一個本身學以至用的例子,筆者學習了 Redis 的數據類型和實現原理之後,以爲有序集合(sorted set)設計很適合作每週最熱閱讀排行,這是筆者前公司的一個功能接口,因而筆者就使用 sorted set 從新設計了每週最熱閱讀排行,爲何說他適合呢?
筆者理解到 sorted set 裏 items 內容大於 64 的時候同時使用了 hash 和 skiplist 兩種設計實現。這也會爲了排序和查找性能作的優化。添加和刪除都須要修改 skiplist,因此複雜度爲 O(log(n))。 可是若是僅僅是查找元素的話能夠直接使用 hash,其複雜度爲 O(1) ,其餘的 range 操做複雜度通常爲 O(log(n)),固然若是是小於 64 的時候,由於是採用了 ziplist 的設計,其時間複雜度爲 O(n)。這樣之後查詢和更新閱讀都變得簡單,那麼這樣簡單的就實現了以前複雜邏輯並且效率並不高的接口何樂而不爲?
若是你也想初步看一下 Redis 的數據類型和實現原理,能夠看看 《Redis 設計與實現 (數據庫技術叢書)》,講的還算是淺顯易懂。
結語:收藏沒有用,重要的是消化吸取,博客只是讓咱們接觸知識的一種途徑,可是深刻理解這個知識必定要經過看書來完成,看書的同時不要忘記作筆記,掌握知識之後及時使用到項目中。
7. 最高效的投遞途徑
萬事俱備,只欠東風。什麼都準備好了,什麼途徑是最高效的呢?筆者也不敢說能徹底瞭解。
不過筆者整理了下本身的投遞方式,以供你們參考。
7.1 拉鉤不是很理想
筆者剛整理完上面那份 「 次的簡歷 」,在拉鉤上面投了 10 份,杳無音信,因而筆者思考一下是否是簡歷質量問題,開始修改,但這是下文,HR 小姐姐就沒有點擊查收,總不會由於文件名就看不上了?
因此筆者私覺得簡歷不要緊,而是拉鉤的處理速度很慢。
7.2 內推效果佳
互聯網圈子這麼小,工做幾年你會發現,差很少的公司都有本身的人脈,找他們幫忙推一下就行了。
筆者以前很很差意思找熟人幫忙內推,以爲萬一掛了,會給熟人丟面子。可是等小白進了一線公司之後發現,內推是一種常態,甚至有的部門要求內推名額,因此不要擔憂內推會給你的朋友帶來負面影響,他很願意爲你效勞。
7.3 訂閱號推薦也不錯
經過上面筆者的侃侃而談,你是否是發現本身也有一些訂閱的大 V?那麼主動的去聯繫他們一下,詢問一下在什麼公司高就,能不能幫忙內推,你會獲得意想不到的結果。
7.4 別忘記單身會所
Github 也是一個不錯的找工做的地方,你天天在逛 Github 的時候發現不錯的人記得 follow 一下,時不時看一下他們的動態,發現作了一些你很嚮往很喜歡的事情,那麼事情好辦了,說明你將來的同事你很崇拜和欣賞,那麼去勾搭一下吧。
7.5 果汁簡歷
果汁簡歷 這是筆者最近發現的一個訂閱號,天天會推送一些求職攻略,有一些質量還不錯,還能免費幫忙大廠內推,這樣就不用你一個一個找大廠的訂閱號了,也是一個能夠選擇的途徑,筆者強烈推薦。
7.6 Boss 直聘
這個算是筆者最喜歡的了,上面的 Boss 不必定是 HR,好多都是你未來的同事,好比我[陰險臉]。其實想一想也對,最瞭解部門需求和同僚水平的仍是同行,那麼技術直接來招聘其實也是最有效的方式了,因此 Boss 直聘 是我使用的反饋最快效率最高的招聘平臺。筆者強烈推薦。
筆者又囉嗦一句,一個平臺某個公司掛了,不要緊換個平臺再投;一個平臺某個公司部門關了,不要緊,換一個部門再投。筆者的親身經歷,不一樣平臺和部門以前影響很小。下文筆者的面試試水經歷有更詳細的介紹。結語:好的簡歷很重要,可是投遞的途徑也很重要,一個高效的途徑能夠節省時間,也能合理的安排本身的面試節奏。
8. 合理規劃本身的面試和複習節奏
這一章節其實內容相對比較少了,筆者放到這裏只是爲了總結一下,由於面試節奏很重要。下文的章節《個人面試經歷》會具體羅列一下面試的節奏和時間節點。
本文主要輸一下幾點:
面試試水節奏要把握好,既然開始了就不要輕易的拖延和中止,一般兩週面兩次,或者一週面兩次的節奏比較合適,能對本身的複習立刻試錯,再次檢驗和整理。不能拖過久,否則節奏和掌握程度效果很很差,記憶曲線你也是明白的。
體量均衡,若是你想去一線公司,建議不要用小公司試水,有的朋友擔憂本身如今沒有準備好,想去小公司試試,而後再試大公司。其實沒用,小公司的套路和大公司的套路差不少,大部分小公司只須要你過來幹活就能夠了,面試的知識點大多數偏應用,而大公司多數偏原理和能力,因此若是你想試水,必定拿體量至關的嘗試。PS:反正互聯網公司這麼多。
及時複習,上面說了不少筆者複習技巧,面試結束後第一時間整理面試點,分析面試點,而後全方面複習。怎麼複習呢?那就參照上文的章節《怎麼複習》。
9. 面試技巧
9.1 自我介紹
每一次面試都會有一個開場,一般開場會以求職者的自我介紹開始,因此你要準備一個簡短卻能把經歷講的說明的自我介紹。內容不須要長篇大論介紹項目,簡歷中不已經有了嗎?這是一個開放性的話題,能夠快速的讓面試官認識你。筆者認爲以下幾點還蠻重要的,供你參考。
履歷,快速的描述一下本身的履歷,學歷,畢業時間,從事了幾份工做,都是什麼行業,主要擅長哪方面。這樣面試官瞭解你的狀況,也好進一步提問。
業餘,工做是你面對公司的,可是你的業餘是什麼樣子的,好比業餘時間我會看書,寫博客,開源小東西,固然不是讓你說我業餘時陪女友,看電影,而是說一些和技術相關的。這樣讓面試官能夠看到 「 工做之外 」 的你。
緣由,每一個面試官仍是蠻關心你的離職緣由,因此你開篇直接簡單介紹一下你的狀況和離職緣由,這樣讓面試官瞭解了狀況。
9.2 知之爲知之
好多人聽聞有這樣的面試經驗,若是遇到問題不會之後找一個本身會的點侃侃而談,這樣不只能蓋住剛纔本身的不會,還能展現本身另外一面的實力。這種想法是錯誤,知之爲知之,不知爲不知,若是你不會直接乾脆的說,這個地方我不瞭解,這個我不清楚,這個我沒有遇到過。
緣由很簡單,面試官閱人無數,這些套路他早知道,反而以爲你不誠懇,答非所問的浪費彼此時間。面試官都會考一些通用的基礎問題,可是也會貼近當前項目中使用的技術來提問,由於大部分面試官不是來選拔培訓者,而是選拔幹活的人,因此他們須要知道你當前掌握技能的程度,不要錯用技巧。
9.3 最有挑戰的項目
好多面試官都喜歡問這個問題,他想知道你處理問題的難易程度和你處理問題的方式,固然這個問題也有其餘的提問方式,好比 「 你遇到過比較困難的問題嗎,怎麼解決的 」。
因此這個地方須要咱們提早準備的,固然不是讓你準備好說謊,而是面試以前仔細推敲本身的經歷,找出一些本身以爲有挑戰的事情。能夠是業務上面的難點,技術上面的突破,黑魔法實現的功能,實際一次內存泄漏的調試,每個點都能說明你的工做難度。
9.4 一言不合就上圖
沒有絕對的權威,若是面試過程當中以爲面試官說的不恰當,或者是本身怎麼也描述不清楚,那麼直接找一個白板畫圖說一下本身的思路。筆者參加的幾個面試基本都有白板,還專門準備了白板筆。因此對於本身參與的項目的架構圖,本身學習的中間件的流程圖,系統的例圖等,仍是要有充分的理解。
同時呢面試的時候不要怯場,哪怕是問你一個 CurrentHashMap 的原理,若是你願意展現本身的備課能力,也能夠去白板上面畫一畫。
9.5 備課
選擇是雙向的,因此大多數面試官問完你問題之後都會問你,你有什麼要問個人?這個時候你的主場就來了,雖然是讓你問他,可是這是最好的機會讓你自由發揮的時候。
你能夠提早插好公司和部門的背景和市場的前景,結合本身的思考問一下當前業務的發展。也能夠提早看一下技術點,團隊合做,開發方式等具體的問題,一方面你能夠了解這個公司的模式是否是你喜歡的,另外一方面面試官也會以爲你是一個細心的人。
固然你不要誤解筆者是故意讓你準備一些什麼,而是讓你準備好這些面試官可能問的問題和經歷的面試環節須要的點,別忽然遇到了讓本身機關用盡,並不是刻意而爲。
9.6 真實
面試過程當中不免會有一些除了技術之外的話題,好比你怎麼看待這種狀況,你怎麼怎麼對待這種人,遇到這種狀況你怎麼辦?有一些面試技巧的人一會兒就猜出來面試官的意圖,故意按照面試官的意思回答。
筆者私覺得這樣其實不對,你就徹底按照本身的想法去說就行了,若是你由於猜到了面試官的想法所以得到了 offer,那麼你天天工做的環境可能都須要假裝的你,時間久了你也會以爲那並不適合本身。
面試實際上是雙向的選擇,面試官選擇你,同時你也在選擇公司。
結語:真實是最好的面試技巧,知之爲知之,不知爲不知,是知也。可是也要提早準備面試過程當中可能遇到的問題。
10. 面試經過怎麼從容的談 offer
10.1 不要輕易說出本身的底線
這是你的底牌,有個談判原則,先亮底牌,每每會失去主動權,面試完一輪就問你指望薪水,這時你能夠回答給個範圍:如他的崗位招人薪水範圍椒是 15k - 30k,你也能夠回答:我期待薪水是:15k - 30k。若是他再問你具體的話,你能夠說:如今討論這個還過早,我相信在決定錄用我前,再討論會更合適。這樣你們都不會尷尬。
10.2 和 HR 溝通要大膽說出本身的指望
必定要說出本身的指望,若是你到了 HR 環節,一個公司的招聘成本真的過高了,若是你真的到 HR 環節,那麼說明你足夠優秀。足夠優秀 HR 就不會由於你要的過高拒絕你,固然你要的太離譜他確定會給你一個最大的價格,你本身要控制好就能夠了。
10.3 不後悔
來以前談好待遇,來以後不管多少都不能後悔,這是底線。既然選擇便只顧風雨兼程,否則你工做也沒心情,沒動力,最後害得不仍是本身?
11. 你想要的 「 個人面試經歷 」
時隔比較久,面試問題筆者就記下了一些重點,整理給你們,僅供參考。
排名是時間前後
11.1 瓜子二手車
快排;
二分法查找,推到時間複雜度;
BlockingQueue 實現原理;
二叉樹遍歷;
ElasticSearch 存儲結構和原理;
MySQL 索引,優化;
SpringMVC 請求過程;
Dubbo 原理。
11.2 愛奇藝
SpringMVC 請求過程;
Dubbo 原理;
MySQL 緩存,性能優化,索引結構;
ElasticSearch 存儲結構和原理;
設計模式;
Proxy 和 CGLib 區別和原理;
樂觀鎖和悲觀鎖;
ThreadLocal;
閉包。
11.3 每日優鮮
TCP 三次握手;
MySQL 分庫分表,性能優化;
HashMap 實現原理;
庫存設計原理(電商相關);
Redis 基本數據結構和使用;
ElasticSearch 存儲結構,查詢過程,索引原理;
多線程;
生產者消費者。
11.4 滴滴
閉包;
反射的實現和原理;
JDK8 lambda 使用和原理;
SQL 注入和 XSS 攻防;
設計模式;
Redis 基本數據結構和原理;
Http1.0 和 Http2.0 區別;
MySQL 索引結構,基本數據類型和使用場景;
Shell 分析日誌查看 QPS;
JDK8 中多線程的變化;
11.5 京東
Spring AOP 原理,Proxy 和 GCLib 原理;
多線程;
CountDownLatch;
庫存設計;
大秒設計;
SpringMVC 請求過程和使用設計模式;
手寫單例;
Redis sorted set 實現原理;
HashMap 實現原理;
MySQL 索引和優化;
分佈式擴容和容災;
PriorityQueue 使用和原理;
11.6 阿里巴巴
HashMap 和 CurrentHashMap 區別;
Hashcode;
用過的集合類;
ThreadExecutorPool ;
volatile 內存模型;
ElasticSearch 集羣路由規則和容錯;
Dubbo 原理;
Redis Hash 設計原理;
最後,有須要Java面試題(含答案)的朋友能夠點個贊而後加入個人我的粉絲羣Java填坑之路:789337293獲取,還有更多的進階Java高級程序員的學習視頻等你來拿喲!