在中國,只要你能在阿里工作,基本就算是拿到了互聯(lián)網(wǎng)行業(yè)的Pass卡,各家公司都會給你機會。
不全是因為阿里牌子大,更是因為阿里這種段位的公司,一定有自己完善的用人系統(tǒng),能被選中就是優(yōu)秀的證明,在這個體系中生存就是鍛煉。
這就跟肯德基、麥當勞肯定要在有對方的地方開店一樣,前期市場調(diào)查對面都做過了,我跟著走就好,還特立獨行個什么勁?
如果能混到阿里P7、M2這個段位,國內(nèi)互聯(lián)網(wǎng)公司完全可以橫著走,只有工作找你,沒有你找工作。稍微透露一點想跳槽的欲望,第二天你的電話就會被獵頭打爆。
阿里P7是業(yè)內(nèi)的硬通貨。
如果是電商和云計算領(lǐng)域,不用問,不開出雙倍工資那都是誠意不夠,因為國內(nèi)經(jīng)歷過如此大規(guī)模從0到1的電商和云計算的公司,只有阿里。
你嫌貴,拼多多和華為可不嫌貴。
當然,雙倍工資也有大量的阿里員工不肯走,“阿里的員工最難挖”這是獵頭的共識。
這種堪稱硬通貨的聲名甚至遠播海外?!肮韫茸鲈频?、做底層架構(gòu)的華人工程師,如果要考慮加入國內(nèi)公司,首選阿里”。
年初入選全球頂級開源社區(qū)CNCF技術(shù)監(jiān)督委員會的李響,從卡納基大學(xué)碩士畢業(yè)后曾一度進入硅谷公司CoreOS,但阿里的崛起震動了硅谷,這讓他看到了另一種選擇,他回到國內(nèi),入職阿里云。
加入阿里云后,李響負責大規(guī)模集群調(diào)度與管理系統(tǒng),利用云原生技術(shù)升級阿里巴巴的基礎(chǔ)架構(gòu),提升硬件利用率與開發(fā)、部署效率。成為阿里最年輕的幾個P9之一。
對了,他是90后。
而且阿里有個特點,就是COO天下無敵,國內(nèi)500家互聯(lián)網(wǎng)企業(yè),阿里出身的高管要占三分之一。
比如滴滴創(chuàng)始人兼CEO程維、美團的前COO干嘉偉、前大眾點評COO呂廣渝、前趕集網(wǎng)COO陳國環(huán)、去哪兒網(wǎng)COO張強。全都是阿里出身。
一畢業(yè)就進阿里,這樣的人,你們可能不明白這是什么概念,我們一般會用兩個字形容這種人:學(xué)怪!
知道學(xué)怪和學(xué)神什么區(qū)別么?面對學(xué)神,你會感覺無能為力,面對學(xué)怪,你只會大罵這個人一定開掛了。
當然,掛也有大掛、小掛、定制掛之分,而說到定制掛就不能不提道哥 :“刺總”吳翰清。但刺總這樣的大佬只是少數(shù),但也可以看出阿里的人才儲備多么恐怖。
每年源源不斷的優(yōu)秀應(yīng)屆生是阿里“良將如云”的保障。今年阿里放寬了限制,增加了30%的基礎(chǔ)技術(shù)研發(fā)崗,還開放了量子計算、人工智能、芯片研發(fā)、數(shù)據(jù)庫研究等高端職位。但這些崗位對于龐大的畢業(yè)生隊伍來說還是狼多肉少。
想進阿里,就得靠實力來拼。
阿里是最尊重實力的,而這種尊重也會為阿里帶來好結(jié)果。
當年有一個名叫程立的年輕人,讀博的時候偶爾給淘寶做些兼職。
在兼職過程中,支付寶的技術(shù)大牛苗人鳳發(fā)現(xiàn)這個年輕人有非同一般的潛力,于是向他發(fā)出邀請,程立放棄博士學(xué)位,決定加入阿里,崗位級別是P4——阿里最低級的技術(shù)崗。
但是這個P4非同凡響,剛剛?cè)肼?,程立就被指定負責支付寶第一代交易系統(tǒng)的自主設(shè)計開發(fā)。支付寶內(nèi)部對此有句評語:“支付寶有多心大,P4就有多大”。
萬萬沒想到,四年后,程立“單騎救主”,在支付寶最危險的17個小時里拯救了世界。
2008年,在一次關(guān)鍵的技術(shù)升級“賬務(wù)三期”中,支付寶數(shù)據(jù)出現(xiàn)了錯誤。
對一個和錢有關(guān)的軟件來說,數(shù)據(jù)上的錯誤足夠徹底抹殺支付寶在中國剛剛打下的家底。
預(yù)計的停機時間8小時過去了,沒能解決問題,不得不再延長7小時。
網(wǎng)上開始出現(xiàn)流言,說支付寶團隊已經(jīng)卷款跑路了,嚇得公關(guān)部門急忙澄清。
就在這時,程立出手了。
從下午3點到下午5點,兩個小時里,他安靜的敲擊鍵盤,并最終找到了數(shù)據(jù)無法配平的原因。
這一戰(zhàn)奠定了程立的地位,也向世界證明,尊重實力,真的會有回報。
哦,程立就是魯肅,螞蟻金服CTO。
和很多喜歡大量招應(yīng)屆生的公司不一樣,阿里對于校招的態(tài)度講究的是寧缺毋濫。
這個寧缺毋濫還不僅僅是指能力,能力只是阿里考量的一部分,更重要的是潛力和價值觀。
別家招聘像是吃東西,不管有沒有用先吃下去,有用的消化了,沒用的排出去。
阿里的招聘像是輸血,從第一次見面就要你型號能對上,型號不對,不管是多優(yōu)質(zhì)的人才都只能講拜拜。
要知道阿里的校招少,就是因為阿里重視校招,每一個阿里自己培養(yǎng)起來的人,都是未來高管的苗子。
把你招進來都是小事,但是十年二十年后,企業(yè)文化能不能傳承,企業(yè)運作會不會僵化,員工能不能獨當一面,內(nèi)部會不會出現(xiàn)小團體……這都要看你的思路和性格來決定。
至于技術(shù),阿里大神那么多,只要你悟性夠,后面都可以慢慢學(xué)。
在阿里有一項傳統(tǒng)制度叫“師兄制”,這是一項幫助新人快速落地和融入文化的制度,每一個新入職的員工都將有一對一的師兄作為導(dǎo)師。
阿里巴巴CTO行癲曾這么跟工程師交流:“如果是下一個技術(shù)突破點,不做的話會給我們帶來什么樣的影響;如果去做了,可能對我們現(xiàn)有或后續(xù)的業(yè)務(wù)帶來怎樣的幫助?!斑@些技術(shù)大牛鼓勵工程師自我思考,每個人理性的思考和規(guī)劃就是對公司的未來負責。
對校招的重視還體現(xiàn)在“阿里星”計劃上。
“阿里星”是阿里巴巴從2011年開始施行的技術(shù)人才校招策略。業(yè)內(nèi)講,能拿到阿里星的offer,就能去全世界的任何一家科技公司。
但阿里星的要求極其嚴苛,面試要經(jīng)過層層篩選,據(jù)說曾有人面試了13輪。每年的阿里星都會篩掉一大批高學(xué)歷者,有位拿過7次ACM亞洲獎項的面試者都被阿里星打了槍,只能拿到稍次一點的offer。
相比厚厚的論文成果,阿里更看重在校期間學(xué)術(shù)研究和商業(yè)化之間的技術(shù)聯(lián)系。
2018年阿里星陳謙,27歲中科大博士畢業(yè),個人研發(fā)的AI技術(shù),在國際大賽中擊敗IBM等公司,連拿兩個世界第一,更是把人機對話準確率的世界紀錄提升到94.1%。
聯(lián)立是2019年的阿里星,博士期間研究的是可回收火箭發(fā)射技術(shù)?,F(xiàn)在人在菜鳥。阿里巴巴的野心,你懂。
23歲的胡晉,14歲考上北京交大,19歲浙大免試讀博,現(xiàn)在在阿里研究無人車。
所以雖然阿里星有各種各樣的好處:上不封頂?shù)哪晷?、頂尖大牛親自帶技術(shù)、最高管理親自教格局。卻不是一般人可以奢望的,只有應(yīng)屆生中的最強者才有這樣的資格。
阿里不存在放置實習生,讓實習生習慣工作流程的過程。當年炎軒進阿里實習,還沒喘過氣,直接被扔進了618活動的小組。哪有什么習慣環(huán)境,哪有什么適應(yīng)期,上來就是最重要的工作。
炎軒能夠突破這近乎不可能的實習期,才能在后面擔負起雙十一晚會“盧靖姍到你家”項目的策劃,展示自己在AR技術(shù)上的統(tǒng)治力。
撐得起這樣的責任,才能留在阿里。阿里作為中國頭目的公司,給的是最頭目的待遇,用的自然是最頭目的人。
我勸現(xiàn)在的大學(xué)生好好做點事,別把大把時間浪費在游戲和泡妞上,不要辜負了自己考上名校的智商,也別辜負了自己未來的人生。多參加一些社會活動,多嘗試一些創(chuàng)業(yè)、試錯,為以后積累一點資本。人生的競爭不止一次,但總有一次機會你不小心落后了,就再也追不上去。
正好前段時間阿里校招,采訪了幾位在校招中拿到阿里offer的童鞋。給親做個參考:
第一位:技術(shù)體驗部前端工程師 源介
“在真正面試前,我已經(jīng)準備很久了”
進入頂級的技術(shù)團隊工作,是我最大的夢想。
從研一開始,我閱讀了各類前端書籍,犀牛書、紅寶書、蝴蝶書、CSS權(quán)威指南,一方面在實驗室的項目中嘗試前沿的前端技術(shù),比如當時還處于0.12版本的Vue,node。
研二時,自己開始完成一些開源項目,自己給自己提需求,在實踐中挖掘可以深入的點。
應(yīng)聘前,有目的地準備前端面試:前端基礎(chǔ)、前端框架、網(wǎng)絡(luò)、安全、前端性能、瀏覽器原理、工程化、node相關(guān)、數(shù)據(jù)庫、操作系統(tǒng)等,并以周為維度逐一復(fù)習和總結(jié)。算法對于前端同學(xué)也非常重要,我在leetcode上刷了200多題,學(xué)習算法和數(shù)據(jù)結(jié)構(gòu)。
實習生面試則較看重編程語言及相關(guān)工具的掌握,對數(shù)據(jù)結(jié)構(gòu)、算法等計算機學(xué)科要點的理解要扎實。
往屆同學(xué)的面試經(jīng)驗是很重要的信息來源,同學(xué)們在面試前一定要多查閱,并參照著進行個人知識的完善。學(xué)弟學(xué)妹們還要注意知識面覆蓋的完備性,盡量避免有知識空白的出現(xiàn),比如一些前端同學(xué)在網(wǎng)絡(luò)(比如http/https/http2/tcp/udp等)和安全等領(lǐng)域知識的缺失就會影響自己的面試表現(xiàn)。
面試時一定要調(diào)整好心態(tài),即使被面到不會的問題,也要保持冷靜、快速思考,嘗試逐步分解問題,并一步步建立自己的思考邏輯,吐露自己的每一個想法,保持一種努力解決問題的姿態(tài),而不是簡單的“我不會”就放棄,這樣即使給出的方案不好、甚至有錯誤,面試官也能了解你的構(gòu)思過程和考慮邊界。
面試后一定要立即做認真的記錄,記下自己認為沒有答好的點,然后做全面的查閱、理解,確保后續(xù)再問到類似問題時,能給到面試官最全面、準確的回答。
第二位 技術(shù)風險部高級開發(fā)工程師 孝泰
“第一份工作期待一個更高的平臺”
在校招中拿到螞蟻金服的offer非常有成就感,需要也值得為之付出大量努力。
對于校招的新人,扎實的基本功一定是面試官首要關(guān)心的,這方面的準備尤為重要。
關(guān)于知識點的準備可分為三層:第一層是能解釋概念,第二層是能說明原理,第三層是了解實際應(yīng)用的場景。
例如在面試中問到了Java的volatile關(guān)鍵詞的問題,能說出是保證多線程訪問變量的可見性,并解釋什么是可見性可以得1分;如果能更進一步從CPU緩存角度講清楚volatile關(guān)鍵字的實現(xiàn)原理,可以再得1分;由于這個關(guān)鍵詞平時用得比較少,可能沒有什么直接使用過的經(jīng)驗,但如果能答到Java的AtomicInteger類中為什么會用到volatile,解決什么實際的問題,又可以再得1分。
個人覺得能從這三個方面解釋清楚一個知識點,就算是對這個知識點掌握得比較扎實了。
還有比較重要的是要有一個比較清晰的職業(yè)規(guī)劃,目標越明確就越能有針對性地提高。
面試心態(tài)一定要自信。應(yīng)屆生在項目經(jīng)驗上可能相對較少,所以有時候會感覺說話沒底氣,甚至有遇到過同學(xué)在面試一開始就說覺得自己技術(shù)不太行。雖然感覺上是挺坦誠的,但其實已經(jīng)給面試官留下了很不自信的印象了。其實你行不行,項目有沒有挑戰(zhàn)是面試官需要去判斷的,你需要的只是清晰的有條理的把自己的理解說出來就可以了。
在面試策略上,無論你準備得多么充分,一開始也一定會緊張,所以要多參加一些面試,不要只準備想去公司的面試。很多企業(yè)都會把最優(yōu)秀的員工投入到招聘中,參加面試對自己沒什么損失,和優(yōu)秀的面試官交流,面試能力也會大大提高。
如果能在面試你心儀的公司前就收割大量offer,也有助于公司認同你的價值。
總之無論現(xiàn)實如何,內(nèi)心始終要堅信付出一定會有收獲,你現(xiàn)在的付出將來一定會以各種形式回饋到你身上。
第三位 平臺數(shù)據(jù)技術(shù)事業(yè)群中間件開發(fā)工程師 無暮
“想要變強,首先要站在強者中間”
【復(fù)習】復(fù)習大學(xué)課程學(xué)到的計算機基礎(chǔ)知識,包括數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)和網(wǎng)絡(luò)相關(guān)知識。復(fù)習不僅是為了面試,也能讓自己整理歸納所學(xué),達到連點成線、織線成網(wǎng)的效果。
很喜歡左耳朵耗子的一句話“基礎(chǔ)技術(shù)總是枯燥和有價值的。數(shù)學(xué)、算法、網(wǎng)絡(luò)、存儲等基礎(chǔ)技術(shù)吃得越透,越容易服務(wù)上層的各種衍生技術(shù)或產(chǎn)品\”。等實踐多了,就會發(fā)現(xiàn)很多項目中用到的技術(shù)和基礎(chǔ)技術(shù)里面的思路很相似。學(xué)好基礎(chǔ)技術(shù)走遍天下都不怕。
【應(yīng)試】對于應(yīng)屆生來說,其實考點還挺清晰的,網(wǎng)上已經(jīng)有很多總結(jié),也有很多面經(jīng):
- 數(shù)據(jù)結(jié)構(gòu):常見數(shù)據(jù)結(jié)構(gòu)List、Map和Set的實現(xiàn)原理和應(yīng)用場景,稍微上升一點,java.util.*里面數(shù)據(jù)結(jié)構(gòu)的源碼分析;
- 算法:幾種排序算法的實現(xiàn)、復(fù)雜度和應(yīng)用場景,稍微上升一點,當處理內(nèi)存放不下的海量數(shù)據(jù)的TOP K問題、排序問題等等;
- 操作系統(tǒng):內(nèi)存分配尋址、線程調(diào)度和磁盤訪問;
- 網(wǎng)絡(luò):七層四層協(xié)議、TCP/IP握手揮手和擁塞控制;
- 數(shù)據(jù)庫:基本的SQL、數(shù)據(jù)庫引擎的區(qū)別和索引的類型和原理。
掌握了上述的這些,個人覺得作為應(yīng)屆畢業(yè)生已經(jīng)合格了。前提是真正的掌握,要“由表及里,知其所以然”。最好是自己模擬問自己,能經(jīng)受得住3輪以上的提問。
【成長】成長主要來自于書籍的閱讀和探索。建議讀《Thinking In Java》、《Effective Java》、《Java Concurrency in Practice》、《深入理解Java虛擬機》和《Netty In Action》等書籍。養(yǎng)成習慣采取三步法去了解一項技術(shù):外在行為/表現(xiàn)是怎么樣的;怎么實現(xiàn)/原理是什么;為什么要選擇這樣做,目的是什么,優(yōu)劣是什么??磿粌H能讓自己系統(tǒng)掌握一項技術(shù),技術(shù)書籍中還會留下一些進階知識的引子。
下方云棲君再給大家分享一些阿里面試寶典,技術(shù)類的資深終面官永叔給大家送上實用的面試秘籍,希望對各位想進阿里工作的童鞋有所幫助:
Q:面試官看簡歷,最關(guān)注哪些部分?
A:導(dǎo)師和實驗室、研究方向都會關(guān)注,還有他的論文,我們都會提前去下載來看,并提前準備問題。其他信息我們會也看看有沒有加分項。細節(jié)上,郵箱的名字能看出來有些同學(xué)很重視細節(jié)。TIPS:簡歷第一頁一定要把最關(guān)鍵的信息寫上,簡歷篇幅不要太長。
Q:面試過這么多同學(xué),您對同學(xué)們有什么面試忠告?
A:面試的基本要點很多,很多同學(xué)容易犯的一些小問題,我總結(jié)幾個點分享給大家:
1、一定不要遲到,這是起碼的尊重。對面試官也是這樣的要求。
2、對簡歷內(nèi)容要有準備。對自己的優(yōu)點,包括技術(shù)/個性上的亮點,要練習表達,避免臨時組織語言。
3、尊重事實,如實回答。每個同學(xué)擅長點不同,面試官風格也不同,問到自己不清楚的地方,請不要試圖去強掰,實事求是回答就好。
4、心態(tài)放平。碰到壓力面試的時候,不要試圖去挑起PK的氛圍。在面試過程中,面試官的最終目標是希望幫助面試同學(xué),找到問題最優(yōu)解。做好自己,平時多加練習。
Q:面試到底面哪些維度?同學(xué)們需要怎么準備?
A:阿里的用人理念是非凡人、平常心、做非凡事。我們期待的人員特質(zhì)是聰明、樂觀、皮實、自省。下面用技術(shù)類的同學(xué)舉個例子:
計算機類的同學(xué),我們更關(guān)注基礎(chǔ)。公司有一套完整的流程體系去培養(yǎng)一個工程師,面試更多是基礎(chǔ)素質(zhì)的考察,比如概率、矩陣等。不用特意準備,但基礎(chǔ)的知識還是需要去復(fù)習的。
此外,我們更多看的是你思考的路徑,思考的工具和方法,你應(yīng)對問題的反應(yīng)如何,過程中融入一些軟技能的考察。當然,我們還會考察學(xué)生的潛力。自己的項目經(jīng)歷,論文等,這一塊的考察我們首先會確認真實性,更多的會關(guān)注細節(jié)。千萬不要把別人的項目寫到自己的項目里面,一旦發(fā)現(xiàn)后果很嚴重。
另外,Coding能力是必須的,建議一定要練習,并且我們有速度要求。面試官面試過程中會要求在線寫代碼,實時同步過程。主要考察編碼風格、準確性、熟練程度。畢竟沒有哪個面試官會用一個在工作技能上無法和團隊合作開展工作的人。
Q:學(xué)歷是不是招聘的門檻?
A: 我們只以能力論英雄,不唯學(xué)歷論。這幾年的面試過程中,我們發(fā)現(xiàn)一個現(xiàn)象:很多優(yōu)秀的同學(xué),在日常學(xué)習中會主動去了解、重視企業(yè)需要的能力項,并不斷通過自學(xué)習去拉近自己與目標值的距離。這個是非常好的趨勢。
Q:哪些因素會導(dǎo)致同學(xué)面試不通過?
A: 我們不會因為學(xué)生某個能力不足就PASS掉。面試是一個逐步肯定的過程,不是一個否定的過程。
一般面試官最后都會問,你有什么問題要問我的嗎?其實面試官希望知道的是同學(xué)對職位/部門/公司是否有了解,基于你了解的信息你有什么樣的問題,如何在這個環(huán)節(jié)提出高質(zhì)量的問題,也反映出來你對這個面試是否重視。但很遺憾,這個環(huán)節(jié)能回答好的同學(xué)并不多。最后這個提問機會是給到他展示自己綜合能力的機會,但很多人卻把這當做面試結(jié)果“comfirm”的環(huán)節(jié)。還有同學(xué)拿問題去考面試官,或者糾結(jié)于某個問題應(yīng)該怎么去回答,完全忘記了面試是展示自己,不是學(xué)習交流,也不是PK。
Q:如果碰到特殊情況,同學(xué)該怎么做?
A:整個面試的節(jié)奏是面試官和同學(xué)共同營造的。如果自己對面試官提出的某個問題確實沒有想法,或者覺得題意不清晰,你可以表明自己的態(tài)度,或者請面試官更加清晰地描述下問題?,F(xiàn)場狀態(tài)不OK的情況下,一定要說NO,不用去迎合面試官。我們要的是展示自己,面試官做的是協(xié)助同學(xué)展示最好的自己。
Q:說說您面試過哪個同學(xué),讓您印象最深刻?
A:2018年,我面試過一個同學(xué),目前他已經(jīng)入職我的團隊,面試的時候他提到自己的生活習慣,對管理自己的時間還是很有想法的,自律程度讓人吃驚。入職之后,這個同學(xué)他也是這么做的,每天早上6-9點是他的學(xué)習時間。每天早上6點鐘-8點在家看書,8點到公司后,繼續(xù)再看1個小時的書,風雨無阻。他學(xué)習結(jié)束,其他人才剛到公司。工作之余,他還投入在工作論文的發(fā)表上,剛投出去2篇。業(yè)務(wù)上,他現(xiàn)在是我們團隊的骨干力量。從對他的觀察里面,不難發(fā)現(xiàn),優(yōu)秀的同學(xué)基本都來自于高度的自律。
Q:如何避免面試中的“雷區(qū)”?
A:我曾經(jīng)面試過一類候選人,2分鐘的自我介紹候選人滔滔不絕,沒有重點,所有問題都會發(fā)散,整個面試的過程一直在show off自己,但沒有g(shù)et到問題的關(guān)鍵點。這樣的面試體驗是不好的。
Q:很多學(xué)生困惑于該怎么選擇崗位,您有什么建議呢?
A:盡可能了解這個崗位未來的職業(yè)發(fā)展是什么樣的,是否具備崗位的敲門磚。阿里不同部門內(nèi)推信息網(wǎng)上有很多,可以找相關(guān)的師兄去問。同時,可以去做一些測評,看看自己是否對自我有足夠的認知。
不論你的學(xué)歷好還是不好,看看這篇經(jīng)驗,對你拿到互聯(lián)網(wǎng)一線公司的offer絕對有幫助,不論你是想深入學(xué)習,還是想快速突擊拿到面試offer,那么本篇對你絕對有幫助.
0. 寫在之前
首先呢牛人的面試經(jīng)歷和一些面霸和收割機的大神相比絕不算豐富,但牛人的經(jīng)歷應(yīng)該能代表很大一部分人的心路歷程:
從無憂無慮也無知的狀態(tài),然后遭遇挫敗,跌入低谷,連續(xù)數(shù)天的黑暗,慢慢調(diào)整,逼著自己不能松懈,看到改變,收獲肯定,分享經(jīng)歷。
最直觀的感受:
offer = 心態(tài) * (實力 面試技巧) 緣分運氣
就從左到右說起吧。
對了,以下經(jīng)驗是長期積淀的過程,如果你想快速突擊,那么這個github可以看看,github.com/gzc426/Java-Interview這個github倉庫,內(nèi)容很豐富,面試的時候幫助很大,很用心很有幫助了。
1. 心態(tài)
其實每個階段的改變,也都是心態(tài)轉(zhuǎn)變的過程,所以首先要說的一點,就是心態(tài)。在上面這種公式里,心態(tài)作為一個因子存在。沒錯,心態(tài)可以影響你面試的準備,筆試的狀態(tài),實力的發(fā)揮,可以影響一個面試過程的方方面面。心態(tài)崩了,就只剩運氣了,offer估計也就走遠了。
那怎么調(diào)整自己的心態(tài)呢?
- 首先是要正視自己的能力。不輕視,不高估。
不輕視指的是我們都要對自己有信心,畢竟選了這個行業(yè)和方向,說句不好聽的話,機會那么多,就算你不怎么努力也會有個差不多的offer不是么?千千萬萬的初中創(chuàng)公司,各種擁有垂直領(lǐng)域穩(wěn)定份額的二三線公司甚至有些已經(jīng)上市,除此之外還有銀行,投資,金融的IT崗,還有各行各業(yè)為了互聯(lián)網(wǎng) 的策略而擴展的互聯(lián)網(wǎng)分支(當然像鏈家這種已經(jīng)算互聯(lián)網(wǎng) 傳統(tǒng)行業(yè)的典范了,我前些天還瞅到了像萬達德勤一類的各行業(yè)巨頭也在招程序開發(fā)…)所以啊,要對自己有信心,在這個行業(yè)十分缺人的年代里(當然各個層次的公司缺人的標準是不一樣的),總不至于會失業(yè)吧。
不高估就是要清楚自己的能力范圍,不是說期望過高不好,但過高的期望會讓你的心理變得脆弱,稍有不順心態(tài)就有崩掉的趨勢。因為面試畢竟有太大的偶然性,就算你達到了一定的水平,相應(yīng)水平的崗位也不是百發(fā)百中的,更不要說身邊有那么多大神和收割機,天天拿offer拒offer,對心理都是不小的沖擊。
- 不要總給自己消極的暗示,心態(tài)差了積極調(diào)整。
大多數(shù)的人,總暗示自己說什么時間不多了,怎么每天過這么快效率怎么這么低。到筆試了,跟自己說這個算法太難了,肯定做不出來;臨到面試了,跟自己說千萬別問我linux內(nèi)核,別問我分布式,問我肯定完;面試過之后,沒有結(jié)果,就天天想肯定又掛了,唉我怎么這么菜。
如果這一系列的表現(xiàn)形成習慣,那心態(tài)這個系數(shù)最多0.5,能發(fā)揮出來的東西也都打了一半的折扣。凡事都不要太悲觀,一個offer沒拿到,正常情況是這個失敗的經(jīng)歷產(chǎn)生的經(jīng)驗和總結(jié)是會讓下一次的成功率提高的,千萬別因為這些消極的暗示,反而讓該有的提高都沒有了。
心態(tài)差的時候反而要停下你重復(fù)而沒有效率的工作,去調(diào)整一下,可以出去玩一玩,吃吃喝喝,不要把這幾個月看得有多么不一樣,好像耽擱兩小時就要來生再見一樣。
- 對于身邊的同學(xué),多交流,不比較。
有一些一起準備的好伙伴是件非常好的事情,不僅可以互相督促,而且可以在交流和分享的過程中取長補短。(哪怕是偶爾一起吐吐槽發(fā)泄一下也比一個人崩潰要好得多)。但對于每一次面試,只跟自己比就行了,面試的整個過程都是最怕比較的,偶然性大,而且每個人適合的方向和技術(shù)棧都不一樣,結(jié)果不能說明一切問題。如果身邊有些收割機,那更不要太在意這些天天拿offer的(尤其是拿一個就跑過來講一句的,他們也許沒有惡意,但他們可能真的想不到這種方式會對別人產(chǎn)生怎樣的沖擊)。
對自己的水平有個很清楚的認識,并選擇自己合適的公司,好好準備自己的筆試、面試,不怕失敗,但保證每次面試都有收獲和提高,那滿意的offer早晚會來。
2. 實力
這里說的實力指的是硬實力,也就是技術(shù)上的真實積累(當然產(chǎn)品崗的就是對于產(chǎn)品相關(guān)知識的積累),而其實呢軟實力在面試過程中也尤為重要(有時候真的要更重要),主要是指和面試官的溝通,對一個問題的闡述方式和表達方式,邏輯思維能力以及的價值觀和為人等。
然后關(guān)于這個軟實力我想放到下面的技巧中去說。
如果你平時有些項目積累,不擅長也從來沒有怎么系統(tǒng)地總結(jié)過;如果你學(xué)習呢不算那么認真刻苦,研究搞得也不算出眾,但是你該努力的時候也會努力,可以為了一個好的工作逼自己一把。
那也許下面說的實力和技巧都可以在一定程度上幫到你。(因為我就是這樣的情況)
- 實力怎么能體現(xiàn)出來
這么說是因為很多人其實在這些年的項目或是學(xué)習中有一些積累,但是在剛開始面試的時候完全感覺使不出力,就是有種你問的我都能講上一點,但根本說不清楚的感覺。(往深了問自然是完蛋)
知識面或者或者說技術(shù)棧都是有寬度和深度的,我們要做的就是在短時間內(nèi)提升寬度,抓住以往本身就熟悉或是感興趣的幾個點去深入。
我是認為知識的寬度可以很大程度上決定你能不能通過面試(這里說的寬度并不是簡歷上了解、知道或者你都沒往簡歷上寫,僅僅是聽說過的層面修飾的方面,而是寫熟悉的那種,通俗地說是可以講清原理,不涉及橫向?qū)Ρ群蛢?yōu)化的方面)
一兩個點的深度呢在保證你能通過面試的同時(尤其是你的點正好cover了對方部門的技術(shù)棧),并且還是影響offer等級的關(guān)鍵因素。(達到足夠的深度,不只能說出原理,還能進行橫向技術(shù)對比,縱向的延伸技術(shù),優(yōu)劣點及優(yōu)化,或者在這個點寫了幾篇很透徹的博文,更厲害的同學(xué)甚至有相關(guān)的開源項目的參與與貢獻)
關(guān)于怎么提升寬度和深度可以看下面的積累(其實說真的短期內(nèi)寬度是好補的,深度確實要看個人,是代價較高,性價比不一定高的一方面,看自己的決定吧)
所以我的建議是,先把寬度提上來,把你能cover的知識點及原理搞懂是第一步。建議對自己之前的項目和技術(shù)積累做一個總結(jié)和分類(可以參考下面的技術(shù)路線),然后對已經(jīng)了解的方面盡可能延伸,對盲區(qū)或是薄弱的地方進行針對性的學(xué)習和練習。
當你的知識面覆蓋到一定程度的時候,你自然會把他們的聯(lián)系搞明白,慢慢理解這整個技術(shù)體系,在面試的過程中結(jié)合表達技巧可以關(guān)聯(lián)起來說各個方面,也就可以很大程度上展現(xiàn)自己的真實實力.
- 實力包含哪些方面
- 基礎(chǔ)知識:
- 算法和數(shù)據(jù)結(jié)構(gòu)
- 數(shù)組、鏈表、二叉樹、隊列、棧的各種操作(性能,場景)
- 二分查找和各種變種的二分查找
- 各類排序算法以及復(fù)雜度分析(快排、歸并、堆)
- 各類算法題(手寫)
- 理解并可以分析時間和空間復(fù)雜度。
- 動態(tài)規(guī)劃(筆試回回有。。)、貪心。
- 紅黑樹、AVL樹、hash樹、Tire樹、B樹、B 樹。
- 圖算法(比較少,也就兩個最短路徑算法理解吧)
- 計算機網(wǎng)絡(luò)
- OSI7層模型(TCP4層)
- 每層的協(xié)議
- url到頁面的過程
- HTTP
- http/https 1.0、1.1、2.0
- get/post 以及冪等性
- http 協(xié)議頭相關(guān)
- 網(wǎng)絡(luò)攻擊(CSRF、XSS)
- TCP/IP
- 三次握手、四次揮手
- 擁塞控制(過程、閾值)
- 流量控制與滑動窗口
- TCP與UDP比較
- 子網(wǎng)劃分(一般只有筆試有)
- DDos攻擊
- (B)IO/NIO/AIO
- 三者原理,各個語言是怎么實現(xiàn)的
- Netty
- Linux內(nèi)核select poll epoll
- 數(shù)據(jù)庫(最多的還是mysql,Nosql有redis)
- 索引(包括分類及優(yōu)化方式,失效條件,底層結(jié)構(gòu))
- sql語法(join,union,子查詢,having,group by)
- 引擎對比(InnoDB,MyISAM)
- 數(shù)據(jù)庫的鎖(行鎖,表鎖,頁級鎖,意向鎖,讀鎖,寫鎖,悲觀鎖,樂觀鎖,以及加鎖的select sql方式)
- 隔離級別,依次解決的問題(臟讀、不可重復(fù)讀、幻讀)
- 事務(wù)的ACID
- B樹、B 樹
- 優(yōu)化(explain,慢查詢,show profile)
- 數(shù)據(jù)庫的范式。
- 分庫分表,主從復(fù)制,讀寫分離。
- Nosql相關(guān)(redis和memcached區(qū)別之類的,如果你熟悉redis,redis還有一堆要問的)
- 操作系統(tǒng):
- 進程通信IPC(幾種方式),與線程區(qū)別
- OS的幾種策略(頁面置換,進程調(diào)度等,每個里面有幾種算法)
- 互斥與死鎖相關(guān)的
- linux常用命令(問的時候都會給具體某一個場景)
- Linux內(nèi)核相關(guān)(select、poll、epoll)
- 編程語言(這里只說Java):
- 把我之后的面經(jīng)過一遍,Java感覺覆蓋的就差不多了,不過下面還是分個類。
- Java基礎(chǔ)(面向?qū)ο?、四個特性、重載重寫、static和final等等很多東西)
- 集合(HashMap、ConcurrentHashMap、各種List,最好結(jié)合源碼看)
- 并發(fā)和多線程(線程池、SYNC和Lock鎖機制、線程通信、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)
- JVM(內(nèi)存模型、GC垃圾回收,包括分代,GC算法,收集器、類加載和雙親委派、JVM調(diào)優(yōu),內(nèi)存泄漏和內(nèi)存溢出)
- IO/NIO相關(guān)
- 反射和代理、異常、Java8相關(guān)、序列化
- 設(shè)計模式(常用的,jdk中有的)
- Web相關(guān)(servlet、cookie/session、Spring<AOP、IOC、MVC、事務(wù)、動態(tài)代理>、Mybatis、Tomcat、Hibernate等)
- 看jdk源碼
- 如果你對以上的知識點想要一份知識點的詳細總結(jié)和常見面試題和答案,那么這里剛好有一份Java面試突擊手冊,有常見面試題和答案。
1.數(shù)據(jù)結(jié)構(gòu)與算法篇
你是java開發(fā)你就用java代碼去實現(xiàn),是C 開發(fā)就用C 去實現(xiàn)。
書籍參考:
(0)《圖解算法》入門
(1)《劍指offer》 劍指Offer_編程題_??途W(wǎng)
(2)《程序員代碼面試指南 IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目最優(yōu)解》參考左神視頻
(3)leetcode LeetCode – The World’s Leading Online Programming Learning Platform
leedcode注意去英文官網(wǎng),別去中國區(qū),中國區(qū)討論區(qū)討論的少。
leedcode 注意一個tag一個tag的刷,例如動態(tài)規(guī)劃,就把動態(tài)規(guī)劃下的題目都刷了,基本刷個10多道,其它也基本有思路了,而且動態(tài)規(guī)劃的題目筆試面試也常出。其次就是二叉樹,鏈表,數(shù)組,回溯的題目。
(4)數(shù)據(jù)結(jié)構(gòu)(嚴蔚敏)/大話數(shù)據(jù)結(jié)構(gòu) //如果覺得教材無聊就可以看大話系列
需要掌握的知識點:
數(shù)組、鏈表、二叉樹、隊列、棧的各種操作(性能,場景)
二分查找和各種變種的二分查找(循環(huán)有序數(shù)組找最大值最小值找n,有序數(shù)組找最左下標,最右下標)
各類排序算法以及復(fù)雜度分析(快排、歸并、堆、冒泡、直接選擇、插入排序)
各類算法題(手寫)
理解并可以分析時間和空間復(fù)雜度。
動態(tài)規(guī)劃(筆試回回有。。)、貪心。
紅黑樹、AVL樹、Hash樹、Tire樹、B樹、B 樹(除了紅黑樹,其它要會插入刪除查找,紅黑樹如果會更好,也算一個亮點)。
圖算法(克魯斯卡爾算法、普林母算法、迪克拉斯算法)
樹的前序后序中序遍歷的遞歸非遞歸實現(xiàn),層次遍歷,深度優(yōu)先遍歷,廣度優(yōu)先遍歷遞歸與非遞歸實現(xiàn)
2.海量數(shù)據(jù)篇
教你如何迅速秒殺掉:99%的海量數(shù)據(jù)處理面試題 – WantFlyDaCheng的博客 – CSDN博客?
blog.csdn.net
3.計算機網(wǎng)絡(luò)篇
參考書籍:《圖解http》《圖解TCP/IP》《TCP/IP詳解卷1》《計算機網(wǎng)絡(luò)(謝希仁)》
知識點:
4.數(shù)據(jù)庫篇
參考書籍:《高性能MySQL》 《MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎(第2版)》
5.操作系統(tǒng)篇
參考書籍:
知識點:《操作系統(tǒng)精髓與設(shè)計原理(原書第6版)》
LRU會手寫一個LRU的set與get的時間復(fù)雜度是o(1)的代碼
6.Linux命令篇
參考書籍:《linux 鳥哥的私房菜》
7.安全加密
8.重頭戲java篇
基礎(chǔ)篇:
推薦書籍:《Java程序員面試筆試寶典-何昊》突擊java面試的好書?。。?!
《寫給大忙人看的JavaSE8》 《深入理解Java虛擬機:JVM高級特性與最佳實踐》
《JAVA并發(fā)編程實戰(zhàn)》《Java多線程編程核心技術(shù)》《java核心技術(shù)卷1》
1.基礎(chǔ)篇:
2.集合篇:
3.鎖
4.多線程
多看看《Java多線程編程核心技術(shù)》這塊就沒問題
5.jdk中的concurrent 俗稱juc包
都要搞懂底層原理?。?!
都要搞懂底層原理!??!
都要搞懂底層原理!??!
6.java虛擬機
主要看《深入理解java虛擬機》
7.設(shè)計模式
參考書籍:《大話設(shè)計模式》
知道每種設(shè)計模式是啥意思,可以手寫一個單例模式,手寫適配器模式,工廠模式,觀察者模式,裝飾器模式
知識點:
———————
8??蚣苤R
- 項目經(jīng)歷
- 這個每個人的項目不同,覆蓋的技術(shù)也不一樣,所以不能統(tǒng)一去說。
- 這里的技巧呢,在下面也會詳細說明。
- 無非是找到自己項目中的亮點,簡歷上敘述的簡練并且吸引眼球,同時自己要很熟悉這個點(畢竟可以提前準備)
- 最好自己多練,就像有個劇本或者稿子一樣,保證面試中可以很熟練通俗地講出,并且讓人聽著很舒服。
- 實習經(jīng)歷
- 這個很抱歉,因為我是找實習的經(jīng)歷,所以也沒有實習經(jīng)歷的講述經(jīng)驗。
- 但我想如果你有實習經(jīng)歷,那面試過程的重點也會在實習做了什么上面,所以大家最好對實習所做的工作做一個總結(jié),并且同樣抓出亮點,搞懂內(nèi)部原理,提前鍛煉講述的過程。
- 其他擴展技能(這個方方面面太多了,全部掌握基本上不可能,只是作為大家其他時間擴充技能的參考)
- 分布式架構(gòu):(了解原理就行,如果真的有實踐經(jīng)驗更好)
- CAP原理和BASE理論。
- Nosql與KV存儲(redis,hbase,mongodb,memcached等)
- 服務(wù)化理論(包括服務(wù)發(fā)現(xiàn)、治理等,zookeeper、etcd、springcloud微服務(wù)、)
- 負載均衡(原理、cdn、一致性hash)
- RPC框架(包括整體的一些框架理論,通信的netty,序列化協(xié)議thrift,protobuff等)
- 消息隊列(原理、kafka,activeMQ,rocketMQ)
- 分布式存儲系統(tǒng)(GFS、HDFS、fastDFS)、存儲模型(skipList、LSM等)
- 分布式事務(wù)、分布式鎖等
- 腳本語言:(只是作為橫向擴充,一般問到linux也會問問shell腳本)
- python
- php
- shell
- golang
- …
- 大數(shù)據(jù)與數(shù)據(jù)分析:
- hadoop生態(tài)圈(hive、hbase、hdfs、zookeeper、storm、kafka)
- spark體系
- 語言:python、R、scala
- 搜索引擎與技術(shù)
- 機器學(xué)習算法:
- 模型和算法很多。不細說了,如果很熟練就去投算法,國內(nèi)很多公司都算法崗都很稀缺,其他崗可以大概了解下理論。
- 其他工具的理論和使用:
- 這個更多了,問的多的比如git、docker、maven/gradle、Jenkins等等,自己需要的話選擇性地去學(xué)。
- 實力要怎么積累
積累實力最好的方式就是平時在項目中或是學(xué)習中,多學(xué)多問,多思考多鉆研。這里就說說短期內(nèi)學(xué)習的一些方法和路徑:
總結(jié)下來,一方面是通過看書、看視頻、看面經(jīng)來不斷擴展自己的知識面,一方面是通過不斷的面試積累經(jīng)驗和知識盲區(qū),在每次總結(jié)的過程中積累實力。
- 先說說看書學(xué)習這一點
這里應(yīng)該是有個推薦書籍的環(huán)節(jié),這幾個月確實看了不少書,但是并不是所有都有很高的性價比,在這邊大概列一下,前后順序也一定程度上代表了我認為的重要度先后,\’/\’做分割的是一類的書籍,一般來說看一個就夠了:
書單: 算法與數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)結(jié)構(gòu)(嚴蔚敏)/大話數(shù)據(jù)結(jié)構(gòu) //如果覺得教材無聊就可以看大話系列,印象中里面還有很多詩 劍指Offer/程序員面試金典/編程珠璣/編程之美/牛客網(wǎng) leetcode 程序員筆試面試最優(yōu)解(左程云)/不如直接看左神的筆試面試指南視頻 Java的版本(不是很推薦): 數(shù)據(jù)結(jié)構(gòu)與算法經(jīng)典問題解析(Java語言描述) 圖解數(shù)據(jù)結(jié)構(gòu)(使用Java) 計算機網(wǎng)絡(luò): 計算機網(wǎng)絡(luò)(謝希仁) TCP/IP 詳解 HTTP權(quán)威指南 圖解TCP/IP 圖解HTTP 數(shù)據(jù)庫://數(shù)據(jù)庫主要是多用,書上主要看索引和性能的部分 高性能MySQL/深入淺出MySQL 操作系統(tǒng): OS原理:操作系統(tǒng)(課本,黑色的那個) Linux: Linux私房菜 //鳥哥寫的,很全,包括bash部分 跟阿銘學(xué)Linux //主要偏重于命令和操作,比較淺顯 java: Java瘋狂講義/Java編程思想/Java核心技術(shù) 卷1 深入理解Java虛擬機 并發(fā)編程的藝術(shù)/多線程編程核心技術(shù) Effective Java Java程序員面試筆試寶典 //何昊的那本,個人感覺是突擊知識點的神器 Java程序性能優(yōu)化 實戰(zhàn)Java高并發(fā)程序設(shè)計 Java Web: Spring實戰(zhàn)/輕量級JavaEE 企業(yè)應(yīng)用(紅皮,講SSH的) //主要看最后一部分Spring的就可以 深入JavaWeb技術(shù)內(nèi)幕(阿里 許令波)//這個講的還是比較深的 SpringBoot實戰(zhàn)/深入實踐SpringBoot 設(shè)計模式: 大話設(shè)計模式 //通俗易懂 各類博客的總結(jié) 分布式與大數(shù)據(jù): 分布式服務(wù)框架原理與實踐 大型網(wǎng)站技術(shù)架構(gòu) Hadoop實戰(zhàn)(hadoop體系包括得很全) //還有一本我暫時想不起來名字了 其他: Git: Git權(quán)威指南 Git官方講解視頻(??途W(wǎng)有帶字幕的) Redis: Redis實戰(zhàn) 還買了docker、springCloud等等一些工具書,因為太小眾就不列舉了
除了上面說的書和視頻,最有用的還是大家分享的各種面經(jīng)。
我當時是每天晚上在床上看幾篇面經(jīng),然后把存疑的問題copy到記事本中,第二天找個固定的時間短查詢解決和總結(jié)。長期下來會養(yǎng)成一個很好的習慣,你的知識點會不斷地擴充。
- 在一次次面試中提高
這一點其實跟剛剛看面經(jīng)的那個很類似(那個我不是叫做模擬面試了嗎),每次面試完,一定要把自己不會的東西盡快記下來(當然你如果有記面經(jīng)的習慣就更好了,還能再分享出去),然后找時間弄懂和總結(jié)。
除了知識點,每次面試(跟模擬面試不同的地方)還要總結(jié)的是哪里發(fā)揮得不好,哪里有可以提升的地方,下次一定要注意之類的。(就是有關(guān)面試技巧的東西,比如這次語速太快,導(dǎo)致面試官反饋了,又比如這次發(fā)現(xiàn)對方讓你在紙上畫個項目邏輯圖突然一時腦梗,那回去就好好在本上畫一遍)
3. 技巧
- 一些自身的軟實力
軟實力這個東西與面試的準備關(guān)系不大,基本上是長期形成的。
包括和面試官的溝通(有的時候也會成為聊天瞎扯的能力);對一個問題的表達方式,邏輯思維(像有些人的發(fā)言就讓人聽上去很有層次感,很舒服,這方面欠缺的可以推薦玩玩狼人殺);除此之外對方也會很在意你的價值觀和為人(這個是我進了公司發(fā)現(xiàn)的,很多公司在內(nèi)部的面試細則上面都會注明這一點,如果價值觀或是人品問題會直接否決。)想想也是有道理的,因為這個是入職之后能不能好好相處的關(guān)鍵,設(shè)想如果你是一個面試官,面對一個有實力但是說話太有棱角聊不太來的和一個不算出眾但基礎(chǔ)不錯很聽話可以培養(yǎng)的,你會選哪一個?(如果你因為生活太平淡了想選第一個,那這一條當我沒說。。)
這些軟實力其實要在生活中慢慢鍛煉,比如多參加些活動,多和別人溝通,發(fā)表意見前好好組織自己的語言等等。(每個人都有每個人的性格,這些都因人而異,但有一點我們要記住的是在面試中,不論什么情況,都要保持冷靜和清晰的頭腦,和一個謙卑的態(tài)度,交流要坦誠<尤其作為應(yīng)屆生>,這樣起碼印象會好很多,要知道雖然面試有各種各樣花式的打分項,但是印象好往往是隱藏的決定性因素)
- 關(guān)于面試的準備和技巧
面試的技巧首先就是剛剛說到的態(tài)度。 一個謙卑(注意不是自卑,也不是把自己放的很低的樣子)和禮貌的態(tài)度和表達方式往往可以讓面試官的印象分提高很多,印象分很像之后要考察的實力分的系數(shù)。留個好印象,面試就成功了一半。(當然你一定也聽過那種聊得很嗨,或者偶遇校友之類的,毛都沒問就聊通過了的場景。這種情況還是不算在技巧中了吧,應(yīng)該屬于運氣和緣分的范疇。而大多時候聊得開心和舒服會讓你感覺到通過率會比較高,這一點很多人還是深有體會的)
- 然后說一下面試之前可以做足的準備。
首先從簡歷開始說,簡歷怎么調(diào)格式,做幾頁,排版啥的就不想多說了,感覺很多文章都分享過。我只說說技術(shù)方面的內(nèi)容怎么寫。
專業(yè)技能的描述謂詞無非就那么幾種:精通、熟練、熟悉、了解。(還有一級叫聽說過,這個級別的可千萬別往上寫啊兄弟)
精通感覺一般還是不要寫,除非你在某個技術(shù)點上真的有足夠的把握,比如源碼看的很透徹的同時還能深刻理解原理并能靈活處理各種case場景,如果還有相關(guān)的開源貢獻,那就自信地寫精通吧。
我們把自己掌握的大多數(shù)技術(shù)點叫做熟練掌握,這個需要我們在之前對各個技術(shù)點進行橫向縱向的復(fù)習和總結(jié),并不只是用的多有經(jīng)驗就行,有的時候我們覺得熟,但真讓你說的時候卻不知道從何說起。
至于熟悉和了解,可以寫一些自己理解原理但是不常用的技術(shù)點,尤其是比較流行的,各大公司都在用的技術(shù)(比如MQ,分布式緩存等等),這些你在學(xué)校不一定用過,但是你可以通過看博客,寫demo去理解他的設(shè)計和原理,面試的時候可以講得清楚。
這里還有個技巧,更細心的同學(xué)可以針對每個公司崗位的job detail不同,熟悉和了解這塊就針對jd中cover的技術(shù)點去寫。這個做法是很聰明的,畢竟熟悉和了解這個層面是可以提前學(xué)習和準備的,有針對性的去寫對方需要的,是提升通過率很好的一種方式。(如果嫌麻煩就算了,比如我就是)
下面再說說項目經(jīng)歷這塊:敘述一定要精煉到位,細化到每一個亮點上。我現(xiàn)在再看我二三月份的簡歷簡直是有種想撕了的沖動,當時就是項目描述兩三行,然后概括下我大概做了哪幾個模塊。完了。
事實上,不能講得這么泛泛,就從中找2-3個亮點,一句話高度概括,突出亮點。
比如后來我就把我一個普通的web項目挖出來三個點(爬蟲,通信控制方面,安全加密方面),分別用一句話敘述,這一句話最好包括這個技術(shù)點的思路,解決了什么,有沒有做什么優(yōu)化。比如一個爬蟲工具可以寫成這樣:
我負責這個系統(tǒng)中爬蟲的開發(fā),終端控制管理,店鋪管理。。。。
是的,上面這個爬蟲就占用了五個字,等于沒說,面試官看到壓根不知道怎么去問。這里還可以這樣寫:
負責系統(tǒng)中爬蟲模塊的開發(fā),用于爬取影片的各種信息,包括年份,介紹,主演信息等。
這個起碼告訴面試官爬蟲做了什么,但是你并不能保證他會問,因為你的敘述不一定能引起他的興趣。那還可以這么寫:
獨立開發(fā)多線程影片信息爬蟲工具, 并針對線程池性能、網(wǎng)絡(luò)異常以及反爬蟲措施進行多次優(yōu)化,容錯性良好并達到并發(fā)請求30 的QPS。
你覺得面試官看到這句話,他不想問點什么嗎(除非他真的就不想要你)。
所以說,其實面試官呢都是希望在面試的過程中發(fā)現(xiàn)我們的亮點和優(yōu)勢,從而展開更深層次的交流,但是往往在簡歷中沒有一個讓他詢問的入口,這樣就可能導(dǎo)致他會隨意問(比如你了解什么什么嗎?一般情況下都不太樂觀),或者就說那你來講講吧(這種問法其實已經(jīng)表達出他不知道怎么問的情況了,你在講的時候一定要突出重點,否則會讓人感覺沒什么亮點,普普通通的項目而已(當然就算是普通的項目,我們也要挖掘它的價值和自己的價值不是))
我們在面試的過程中最重要的是自己掌握主動權(quán),如果面試官問的都是我們熟悉的范圍和準備過的領(lǐng)域那我們答起來也會更加得心應(yīng)手。而讓面試官隨著我們簡歷中埋下的這些亮點(他就算知道你有意想說這一點,往往也會去問,因為他就是想在短時間的面試中了解你處理問題的能力),去進行更深層次的交流,而這個更深層次的交流,還需要我們針對簡歷上的每一句話,都準備多個層次和維度的擴展。
比如還是這個爬蟲,你可以充分擴展線程池的相關(guān)優(yōu)化(有可能項目中沒有怎么優(yōu)化甚至就是個單線程,但是在準備面試的過程中還是可以專門去做一些code重構(gòu)的),優(yōu)化網(wǎng)絡(luò)的NIO相關(guān)擴展,以及反爬蟲的各種各樣的措施,以及爬蟲方分別如何應(yīng)對。這里只要你去想,能準備的東西太多了,面試多了自然也就越來越熟,好像項目就是做得這么完美一樣。
這里我就不怎么擴展去說了,再講下去這篇文章就寫不完了。。。
最后是面試中的技巧和經(jīng)驗。
- 好好對著自己寫的簡歷一行一行看一遍,這都是你挖的坑,是準備給面試官作為切入點交流的,并不是自己往里跳的。(對每一行都要有足夠了解和把握)
- 面試過程不要緊張,尤其是前幾次,建議先從小公司入手鍛煉下面試經(jīng)驗(參考我之后自身的反面教材
- 面試方式不同,側(cè)重點不同(無非是電話、視頻、現(xiàn)場三種)。
- 電話面試建議找個人少安靜的地方坐著回答,并且建議拿紙筆多做記錄多畫多寫。(當然如果你覺得身邊很多朋友可以讓你越聊越嗨那也可以,坐著是讓你整個節(jié)奏慢下來,說話明顯更加沉穩(wěn),親身體會過站著走來走去和坐著的區(qū)別)
- 視頻面試其實和電話類似,只是可以實時寫代碼,面試官能看到你的表情。這里還是要放松,如果你比較緊張,可以不直視鏡頭,好好想問題就是了,因為很多面試官你答得好也會面無表情(因為他們也不常視頻,表情都很尷尬),然后你看到他們沒表情的表情肯定會受影響。
- 現(xiàn)場面呢,最重要的是和面試官互動了,說幾個點:語氣要輕松點,多點肢體動作有助表達,多笑;不太好說清的就用筆在紙上畫,一遍畫一邊講,面試官也會更容易和你交流;如果你可以時不時幽默一下開開玩笑是更好了;見面和離開記得禮貌地握個手說聲謝謝。
- 學(xué)會平等交流,別把自己身段放的太低。其實有一點你要清楚,面試是個雙選的過程,他可以拒絕你,你也可以拒絕他。千萬不要太上趕著,反而會影響自己正常的表達和邏輯。(就跟你見了喜歡的姑娘就不會說話了一個道理)
- 回答問題的時候不要一口氣把知道的全部說完,然后還毫無條理。學(xué)會一個知識點由淺入深講解給面試官,并且留有余地給他進一步去問。
- 舉個例子:
- 就說最簡單和普遍的HashMap,讓你講講,你就可以先說說hashMap的設(shè)計原理,底層結(jié)構(gòu)(鏈表 數(shù)組)擴容方式等,從這你就可以說說這種設(shè)計好在哪里(比如講一講put是如何做hash的),這時候你可以說這種hash可能會有沖突,hashMap也是做了相應(yīng)設(shè)計的。
- 然后面試官會問題你怎么解決沖突?你可以再給他講講解決hash沖突的三種通常方式,而hashMap用的是鏈式法,然后可以說到這樣會有隱患就是hash鏈過長。
- 面試官再問,你會給他講解決復(fù)雜度高的長鏈用了紅黑樹的結(jié)構(gòu),這里還可以延伸到紅黑樹的特點或者jdk7和jdk8的不同實現(xiàn),這時候你可以說解決hash沖突,但hashMap還會有并發(fā)和同步的問題。
- 面試官會讓你再講講,你可以說說hashtable是線程安全的,怎么實現(xiàn)的(sync函數(shù)),并不好,從而引出更好的juc包,說說concurrentHashMap,之后又可以說道鎖分段原理,弱一致性迭代器,concurrentHashMap的鎖粒度(java7和java8不同),同包的CopyOnWriteArray等等。
- 你還可以延伸說到鎖(重量、輕量、悲觀樂觀各自實現(xiàn)、底層源碼等等)、緩存(因為很多時候Map的結(jié)構(gòu)可以作為緩存,從而可以說到緩存系統(tǒng)的設(shè)計,kv原理,分布式緩存redis、memcashed等等)
- 舉這個例子就是想說,一個簡單的基礎(chǔ)問題可以一步一步有條理有層次的回答,每一層表達完拋個引子,讓面試官可以繼續(xù)問下去,從而讓面試官真正了解你的掌握的深度。
- 如果真的不巧聊到不擅長的地方,學(xué)會轉(zhuǎn)移話題,從一個點中聊自己感興趣或是有把握的方面(比如你對消息隊列不太熟但是redis用的熟,你就可以在問到消息隊列的時候說,因為之前都是自己做的項目嘛,性能方面沒有考慮到最優(yōu),一些異步的方式還是靠redis list去實現(xiàn)的,雖然redis的消息機制并不常見,但當時還是滿足了需求,之后可以考慮性能方面的提升和技術(shù)評估;又比如問你http請求細節(jié),rest的設(shè)計實現(xiàn)細節(jié),你可以說http restapi服務(wù)接口性能的一些不足,后來使用了rpc的方式,當然你這么說一定是要對rpc很了解)其實有的時候面試官是知道你是有意轉(zhuǎn)移的,但是往往他們也不會抓著你不會的去問,非讓你自己承認自己的盲區(qū),他們也許根本不在意這些。
- 如果真的被問到不會的,就直接說你不會(說你不會、說你不會,我再補充兩遍),或者禮貌地說這方面可能我還要多學(xué)習。(對一個拿不準的問題千萬不要猜,即使是二選一的那種問題,猜錯了直接完蛋,猜對了被人看出來,再往深問還是完蛋)另外,像可能,大概是,我覺得這種表達最好不要,一聽就是對一個點沒把握,有可能會讓面試官覺得學(xué)習太浮躁不喜歡尋求原理。
- 那對于自己知道原理(確實是理解了的)但是沒用過的東西,就講講原理,并承認自己實踐不足,表現(xiàn)出好學(xué)的態(tài)度。面試一定要真誠。
- 問到有什么offer就直接說,不要藏著掖著,也不要把更好的offer(比如bat的)講的非常誘人,一副bat我都拿到了的樣子(面試官會心想,那你還來面試我們干什么)。再強調(diào)面試過程一定要真誠。除了直接說,誠實點之外,也要真的做些思考:對方公司跟之前的offer比優(yōu)勢在哪,比如平臺更大?專業(yè)技能棧更match?工作更有挑戰(zhàn)力?地點更合適?有機會留用?隨便一條符合的都可以講出來,起碼讓對方覺得你想來面是有原因的并且真的有可能加入。(如果你還提前了解對方公司的文化,可以講出這個文化自己很認同那就更可以了)
4. 緣分和運氣
關(guān)于這一點只有一句:平時多做好事,熱愛生活。
其實都知道面試要講緣分,講運氣,但人往往可以在很順利地通過面試之后說句運氣好運氣好,卻很難在努力準備卻失敗的經(jīng)歷之后保持平靜。
但不管能不能轉(zhuǎn)運是不是本命年有沒有緣分,努力和收獲的關(guān)系總是多年不變的真理。
所以,講心態(tài),講實力,講方法。足矣。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。