技術(shù)面試?yán)鲜怯袆攀共怀鲈撛趺崔k
又到了一年金三銀四,回想到很多年前我剛參加工作時(shí)的面試經(jīng)歷,那時(shí)都是呆呆地等著面試官問(wèn)問(wèn)題,被問(wèn)到一些自己并不熟悉的問(wèn)題時(shí)要不就是思考半天也切不中要點(diǎn),要不就只能無(wú)奈地回答并不清楚了。其實(shí)不管是經(jīng)驗(yàn)不足的初級(jí)工程師,還是面臨更高要求的資深工程師,在面試上都會(huì)有一樣的困擾:如何在掌握的知識(shí)有限的情況下,完成好一場(chǎng)高質(zhì)量的面試呢?下面是小編為大家收集關(guān)于技術(shù)面試?yán)鲜怯袆攀共怀鲈撛趺崔k,歡迎借鑒參考。
本文最適合以下幾種情況的同學(xué)參考:
1.知識(shí)面有限的初學(xué)者
2.希望首次加入大公司的技術(shù)同學(xué)
3.面臨技術(shù)深度要求的技術(shù)同學(xué)
雖然文中主要以后端開(kāi)發(fā)為例介紹技術(shù)面試的準(zhǔn)備方法,但是和其他崗位的面試也有相似之處,其他朋友也可以作為參考。
兩個(gè)悲劇的面試故事
小黃去年剛從計(jì)算機(jī)專(zhuān)業(yè)畢業(yè),但是感覺(jué)對(duì)技術(shù)掌握得還不夠,就又報(bào)名參加了一個(gè)培訓(xùn)班,年底剛從培訓(xùn)班畢業(yè),懷揣著精心準(zhǔn)備的簡(jiǎn)歷,想到杭州闖一闖。今天上午到了一家裝修還不錯(cuò)的公司面試,感覺(jué)這家公司窗明桌凈,辦公桌前都是Mac筆記本加雙屏顯示器,比昨天面的那家外包公司可好多了,心想一定要好好發(fā)揮抓住這個(gè)機(jī)會(huì)。
老王工作五六年了,今年剛從一家不小的公司出來(lái),公司效益不好,年底裁員了,不幸老王在年前的最后一次裁員名單中中獎(jiǎng)了。雖然短期內(nèi)也沒(méi)什么太大的經(jīng)濟(jì)問(wèn)題,但是之前拿到offer的都是一些沒(méi)上軌道的小公司,跟之前待過(guò)的公司比總感覺(jué)是明珠暗投不太甘心。這次面試的公司看上去還滿正規(guī)的,如果能進(jìn)去,就算不漲薪,但是心理上落差總是小一點(diǎn)。
小黃按部就班地說(shuō)完了自己準(zhǔn)備的項(xiàng)目介紹,然后面試官就照著簡(jiǎn)歷問(wèn)了起來(lái)。“你熟悉MySQL數(shù)據(jù)庫(kù)?”,“對(duì)”,“唔...那你能說(shuō)說(shuō)MySQL常用的有哪幾種存儲(chǔ)引擎嗎?”,“啊?什么是存儲(chǔ)引擎?”。小黃心想,昨天復(fù)習(xí)了面試寶典里的數(shù)據(jù)庫(kù)索引,老師說(shuō)這個(gè)是要點(diǎn),面試官怎么不按常理出牌呢。“你簡(jiǎn)歷上寫(xiě)了使用過(guò)Kafka消息中間件?”,“嗯,對(duì)的”,“那你能說(shuō)說(shuō)Kafka的拉模型和其他推模型消息中間件的區(qū)別嗎?”,“...”,“今天面試就到這里,有后續(xù)的話HR在一周內(nèi)會(huì)聯(lián)系你的”。
老王在隔壁的會(huì)議室里坐了下來(lái),面試官讓老王先介紹一下自己最近比較有代表性的項(xiàng)目,老王大概說(shuō)了說(shuō)自己這兩年做的一個(gè)平臺(tái)的功能。面試官問(wèn):“在這個(gè)項(xiàng)目過(guò)程中你有碰到什么印象比較深的技術(shù)難點(diǎn)或者業(yè)務(wù)難點(diǎn)嗎?”,老王想了一想,感覺(jué)一下子有點(diǎn)想不起來(lái)。面試官繼續(xù)問(wèn):“剛才你介紹的項(xiàng)目里有說(shuō)到XXX功能,那在YYY異常情況下如果處理ZZZ問(wèn)題呢?”。老王心想以前也沒(méi)考慮過(guò)這個(gè),那我就直接現(xiàn)場(chǎng)推敲一下吧,“這里要先這樣,對(duì)了,那里要那樣,不對(duì),這里還有一種情況”。十分鐘過(guò)去了,老王還在原地兜著圈子,而且絲毫沒(méi)有停下來(lái)的意思。面試官只能打斷老王換了一個(gè)問(wèn)題:“那你能介紹一個(gè)你有過(guò)深入了解的技術(shù)嗎?”,老王:“我好像這幾個(gè)都了解一點(diǎn)”。“那關(guān)系型數(shù)據(jù)庫(kù)中的聚集索引和非聚集索引有什么區(qū)別呢?”,“好像這兩個(gè)的存儲(chǔ)方式有點(diǎn)不同,非聚集索引開(kāi)銷(xiāo)會(huì)大一點(diǎn)”,“那么為什么非聚集索引開(kāi)銷(xiāo)會(huì)比較大呢?”,“這個(gè)問(wèn)題好像要涉及操作系統(tǒng)之類(lèi)的知識(shí),有點(diǎn)太深了”。40分鐘后,老王也結(jié)束了面試。
工程師何苦為難工程師?
為什么面試官老是會(huì)問(wèn)一些莫名其妙的問(wèn)題?我怎么可能了解計(jì)算機(jī)方面的所有問(wèn)題呢?為什么他問(wèn)得這么深,寫(xiě)代碼的時(shí)候能有什么用?
之前我在一次失敗的面試之后總是感覺(jué)有點(diǎn)不舒服,我感覺(jué)我的水平也是挺不錯(cuò)的,為什么到了面試就總感覺(jué)發(fā)揮不出,而且老是被“虐”呢?下面我們一起來(lái)想想辦法。
該怎么辦?不打無(wú)準(zhǔn)備之仗!
如何完成好一場(chǎng)高質(zhì)量的面試?這是我們?cè)谖恼乱婚_(kāi)頭提出的問(wèn)題。首先我們要知道,我們掌握的知識(shí)一定是有限的,不管學(xué)到了多少,仍然還會(huì)有不知道的知識(shí)。特別是對(duì)技術(shù)深度有要求的資深崗位,想要面面俱到幾乎是一個(gè)不可能的任務(wù)。但是為什么有些人就能很輕易地拿到offer呢?
首先,我們分析一下一場(chǎng)面試的結(jié)構(gòu)。
面試的結(jié)構(gòu)
一般技術(shù)面試都會(huì)分為四個(gè)部分:項(xiàng)目介紹/自我介紹、技術(shù)能力問(wèn)答、綜合能力問(wèn)答、反向提問(wèn)環(huán)節(jié)。而其中前三個(gè)部分對(duì)面試的成敗影響最大。首先,面試一般都會(huì)以項(xiàng)目介紹/自我介紹來(lái)進(jìn)行切入,其實(shí)技術(shù)面試的自我介紹主要也是介紹自己的項(xiàng)目經(jīng)驗(yàn)。然后會(huì)穿插著對(duì)技術(shù)能力和綜合能力的評(píng)估,一般這一步都會(huì)由之前的項(xiàng)目介紹引申出來(lái)。
一般來(lái)說(shuō),面試官在每個(gè)環(huán)節(jié)希望了解的主要是:
1.項(xiàng)目介紹——基本背景、擅長(zhǎng)的業(yè)務(wù)領(lǐng)域、解決問(wèn)題的能力、技術(shù)層級(jí)
2.技術(shù)能力問(wèn)答——技術(shù)深度、分析能力、抽象能力、學(xué)習(xí)能力
3.綜合能力問(wèn)答——工作素養(yǎng)、協(xié)作能力、學(xué)習(xí)素養(yǎng)
雖然看上去眼花繚亂的非常多,其實(shí)核心關(guān)注的就是幾點(diǎn):技術(shù)好、好合作、主動(dòng)性強(qiáng)。
對(duì)于大部分面試官來(lái)說(shuō),一般也不會(huì)做太多事前準(zhǔn)備和細(xì)密的事后分析,大多都是靠一個(gè)大概的印象來(lái)做出判斷的。所以面試的一個(gè)訣竅就是:突出亮點(diǎn)。一旦面試中有讓人印象深刻的亮點(diǎn),其他方面只要不是太差一般面試就十拿九穩(wěn)了。
單點(diǎn)突破
但是很多讀者應(yīng)該和我以前一樣,覺(jué)得自己好像也沒(méi)什么亮點(diǎn)啊,總感覺(jué)沒(méi)什么特別的可說(shuō)。但是通過(guò)總結(jié)和準(zhǔn)備,我相信每一個(gè)人都可以有自己的亮點(diǎn),而且是很多個(gè)亮點(diǎn)。
首先,我們可以通過(guò)總結(jié)來(lái)得到一份優(yōu)秀的項(xiàng)目介紹。關(guān)鍵點(diǎn)就在于不能光介紹項(xiàng)目完成的需求,因?yàn)檫@些對(duì)于面試官來(lái)說(shuō)并沒(méi)有什么價(jià)值,畢竟我們面的是開(kāi)發(fā)崗位不是產(chǎn)品崗位:)在項(xiàng)目介紹中,我們應(yīng)該明確描述我們?cè)陧?xiàng)目中解決的問(wèn)題,包括技術(shù)難題和業(yè)務(wù)難題。如何表述可以參考一下現(xiàn)在流行的STAR法則,即在什么情況下(Situation),面臨一項(xiàng)什么樣的任務(wù)(Task),采取了什么樣的行動(dòng)(Action),達(dá)到了怎樣的結(jié)果(Result)。這樣的表述可以很好地展示自己的解決問(wèn)題能力,充分顯示了自己在工作中的主動(dòng)性。
然后,我們還可以通過(guò)準(zhǔn)備來(lái)深挖幾個(gè)在工作中比較重要的技術(shù)點(diǎn)作為“技術(shù)亮點(diǎn)”展示,這指的不是僅僅通過(guò)“面試寶典”來(lái)準(zhǔn)備的膚淺的理論知識(shí),而應(yīng)該是能做到真正的言之有物、切中工作要點(diǎn)的實(shí)踐性的深入知識(shí)點(diǎn)。這一步是本文所有面試準(zhǔn)備技巧中唯一對(duì)技術(shù)水平有要求而且是要求很高的步驟,技術(shù)水平不夠的朋友可能發(fā)愁怎么準(zhǔn)備,技術(shù)水平比較高的朋友可能又會(huì)疑惑到底什么是實(shí)踐性的深入知識(shí)點(diǎn)。大家不用擔(dān)心,我已經(jīng)為大家準(zhǔn)備好了學(xué)習(xí)材料或者說(shuō)是參考樣例。通過(guò)學(xué)習(xí)或參考工作經(jīng)驗(yàn)較豐富者的總結(jié)文章我們可以更容易地獲得自己的技術(shù)亮點(diǎn)。
實(shí)踐性的深入知識(shí)點(diǎn)的最大特點(diǎn)就是:工作中會(huì)使用且可以層層深入形成問(wèn)題鏈條。關(guān)系型數(shù)據(jù)庫(kù)是后端開(kāi)發(fā)離不開(kāi)的技術(shù),而數(shù)據(jù)庫(kù)索引又是程序中的SQL語(yǔ)句執(zhí)行效率的關(guān)鍵,大家可以通過(guò)我之前編寫(xiě)的一系列數(shù)據(jù)庫(kù)索引相關(guān)的文章來(lái)了解一個(gè)實(shí)踐性的深入知識(shí)點(diǎn)到底長(zhǎng)什么樣。后續(xù)我也會(huì)不斷更新更多淺顯易懂的高階技術(shù),有興趣的朋友可以持續(xù)關(guān)注一下。下面的文章主要以知識(shí)點(diǎn)講解為主,需要具體的一系列相關(guān)面試題的朋友可以在文后留言,如果人數(shù)比較多我會(huì)考慮另外寫(xiě)一篇文章講解具體的面試題并鏈接到對(duì)應(yīng)的知識(shí)點(diǎn)。
1.數(shù)據(jù)庫(kù)索引是什么?新華字典來(lái)幫你 —— 理解
2.數(shù)據(jù)庫(kù)索引融會(huì)貫通 —— 深入
3.20分鐘數(shù)據(jù)庫(kù)索引設(shè)計(jì)實(shí)戰(zhàn) —— 實(shí)戰(zhàn)
4.數(shù)據(jù)庫(kù)索引為什么用B+樹(shù)實(shí)現(xiàn)? —— 擴(kuò)展
連點(diǎn)成面
但是有了準(zhǔn)備之后,我們?cè)趺茨芊乐姑嬖嚬賳?wèn)出很多超出我們準(zhǔn)備范圍的“奇怪”的問(wèn)題呢?這就需要我們有效地引導(dǎo)和填充整個(gè)面試的過(guò)程。一般一場(chǎng)技術(shù)面試會(huì)在40分鐘到60分鐘,如何完成好一場(chǎng)技術(shù)面試的關(guān)鍵就在于如何用亮點(diǎn)來(lái)充滿這40到60分鐘。
一般一個(gè)技術(shù)亮點(diǎn)會(huì)包含一系列層層遞進(jìn)的內(nèi)容,所以可以問(wèn)出大概三到五個(gè)問(wèn)題。如果發(fā)現(xiàn)面試官不知道應(yīng)該如何追問(wèn),那么你可以簡(jiǎn)短一些地把后續(xù)知識(shí)點(diǎn)一次性介紹完。一般這些問(wèn)題都說(shuō)完時(shí)間就過(guò)去了十到十五分鐘,而項(xiàng)目介紹和相關(guān)的問(wèn)答會(huì)占用大概10分鐘。如果我們準(zhǔn)備了兩個(gè)技術(shù)亮點(diǎn),加上前后的一些非技術(shù)性問(wèn)題和反向提問(wèn),那么基本上一場(chǎng)面試就圓滿地結(jié)束了。
那么如何讓面試官問(wèn)出自己想問(wèn)的問(wèn)題呢?這就需要我們準(zhǔn)備好一個(gè)“劇本”了。
首先,面試的開(kāi)場(chǎng)一定是項(xiàng)目介紹,可以將我們準(zhǔn)備好的技術(shù)亮點(diǎn)與項(xiàng)目介紹中解決的技術(shù)難題結(jié)合起來(lái),這樣面試官基本都會(huì)根據(jù)這個(gè)點(diǎn)繼續(xù)往下追問(wèn)。
其次,我們還可以對(duì)簡(jiǎn)歷內(nèi)容進(jìn)行特意的編排來(lái)誘導(dǎo)面試官主動(dòng)提出我們準(zhǔn)備好的問(wèn)題。例如在簡(jiǎn)歷中把擅長(zhǎng)的技術(shù)放在更靠上的位置突出顯示,并且增加更多的深入解釋。這樣不僅可以引起面試官的注意,還能使簡(jiǎn)歷顯得更有技術(shù)含量,更容易通過(guò)篩選。
最后,還可以厚著臉皮主動(dòng)提出自己對(duì)某一個(gè)領(lǐng)域比較了解,嘗試詢(xún)問(wèn)面試官對(duì)這一部分有沒(méi)有興趣。
通過(guò)上述這三點(diǎn),基本上80%以上的面試就能夠順順利利地圓滿完成了。
問(wèn)題總結(jié)
在掌握了面試的技巧之后,我們?cè)賮?lái)看看之前小黃和老王到底犯了什么錯(cuò)誤,我們也能避免踩坑。
初級(jí)開(kāi)發(fā)小黃的問(wèn)題:
1.惜字如金,沒(méi)有充分回答問(wèn)題;
對(duì)于面試官提出的“是否用過(guò)”“是否了解”這樣的問(wèn)題,應(yīng)該補(bǔ)充上能夠證明自己是內(nèi)行的解釋。
2.等著面試官提問(wèn),沒(méi)有主動(dòng)地引導(dǎo)。
我們應(yīng)該主動(dòng)將問(wèn)題引導(dǎo)向自己擅長(zhǎng)的方面。
資深開(kāi)發(fā)老王的問(wèn)題:
1.項(xiàng)目經(jīng)歷沒(méi)有準(zhǔn)備;
只講了項(xiàng)目的功能,而不講過(guò)程中遇到的業(yè)務(wù)難點(diǎn)和技術(shù)難點(diǎn)。
2.過(guò)分糾結(jié)細(xì)節(jié),但是表述又不流暢;
3.問(wèn)題抓不住重點(diǎn),從細(xì)節(jié)開(kāi)始推敲,反反復(fù)復(fù)。
表述復(fù)雜問(wèn)題時(shí)應(yīng)該從宏觀到微觀。先從比較高的層次入手,劃分大的模塊,確定模塊間的交互,然后再逐個(gè)模塊地細(xì)化細(xì)節(jié)。這樣不僅自己能夠更容易地解決問(wèn)題,而且面試官也更容易理解,避免發(fā)生即使回答了正確答案但是面試官也不認(rèn)同的情況。
相關(guān)文章: