技術面試老是有勁使不出,該怎麼辦?

2021-09-12 16:00:43 字數 3772 閱讀 2825

又到了一年金三銀四,回想到很多年前我剛參加工作時的面試經歷,那時都是呆呆地等著面試官問問題,被問到一些自己並不熟悉的問題時要不就是思考半天也切不中要點,要不就只能無奈地回答並不清楚了。其實不管是經驗不足的初級開發,還是面臨更高要求的資深開發,在面試上都會有一樣的困擾:如何在掌握的知識有限的情況下,完成好一場高質量的面試呢?

知識面有限的初學者

希望首次加入大公司的開發同學

面臨技術深度要求的開發同學

雖然文中主要以後端開發為例介紹技術面試的準備方法,但是和其他崗位的面試也有相似之處,其他朋友也可以作為參考。

小黃去年剛從計算機專業畢業,但是感覺對技術掌握得還不夠,就又報名參加了乙個培訓班,年底剛從培訓班畢業,懷揣著精心準備的簡歷,想到杭州闖一闖。今天上午到了一家裝修還不錯的公司面試,感覺這家公司窗明桌淨,辦公桌前都是mac筆記本加雙屏顯示器,比昨天面的那家外包公司可好多了,心想一定要好好發揮抓住這個機會。

老王工作五六年了,今年剛從一家不小的公司出來,公司效益不好,年底裁員了,不幸老王在年前的最後一次裁員名單中中獎了。雖然短期內也沒什麼太大的經濟問題,但是之前拿到offer的都是一些沒上軌道的小公司,跟之前待過的公司比總感覺是明珠暗投不太甘心。這次面試的公司看上去還滿正規的,如果能進去,就算不漲薪,但是心理上落差總是小一點。

小黃按部就班地說完了自己準備的專案介紹,然後面試官就照著簡歷問了起來。「你熟悉mysql資料庫?」,「對」,「唔...那你能說說mysql常用的有哪幾種儲存引擎嗎?」,「啊?什麼是儲存引擎?」。小黃心想,昨天覆習了面試寶典裡的資料庫索引,老師說這個是要點,面試官怎麼不按常理出牌呢。「你簡歷上寫了使用過kafka訊息中介軟體?」,「嗯,對的」,「那你能說說kafka的拉模型和其他推模型訊息中介軟體的區別嗎?」,「...」,「今天面試就到這裡,有後續的話hr在一周內會聯絡你的」。

老王在隔壁的會議室裡坐了下來,面試官讓老王先介紹一下自己最近比較有代表性的專案,老王大概說了說自己這兩年做的乙個平台的功能。面試官問:「在這個專案過程中你有碰到什麼印象比較深的技術難點或者業務難點嗎?」,老王想了一想,感覺一下子有點想不起來。面試官繼續問:「剛才你介紹的專案裡有說到***功能,那在yyy異常情況下如果處理zzz問題呢?」。老王心想以前也沒考慮過這個,那我就直接現場推敲一下吧,「這裡要先這樣,對了,那裡要那樣,不對,這裡還有一種情況」。十分鐘過去了,老王還在原地兜著圈子,而且絲毫沒有停下來的意思。面試官只能打斷老王換了乙個問題:「那你能介紹乙個你有過深入了解的技術嗎?」,老王:「我好像這幾個都了解一點」。「那關係型資料庫中的聚集索引和非聚集索引有什麼區別呢?」,「好像這兩個的儲存方式有點不同,非聚集索引開銷會大一點」,「那麼為什麼非聚集索引開銷會比較大呢?」,「這個問題好像要涉及作業系統之類的知識,有點太深了」。40分鐘後,老王也結束了面試。

為什麼面試官老是會問一些莫名其妙的問題?我怎麼可能了解計算機方面的所有問題呢?為什麼他問得這麼深,寫**的時候能有什麼用?

之前我在一次失敗的面試之後總是感覺有點不舒服,我感覺我的水平也是挺不錯的,為什麼到了面試就總感覺發揮不出,而且老是被「虐」呢?下面我們一起來想想辦法。

如何完成好一場高質量的面試?這是我們在文章一開頭提出的問題。首先我們要知道,我們掌握的知識一定是有限的,不管學到了多少,仍然還會有不知道的知識。特別是對技術深度有要求的資深開發崗位,想要面面俱到幾乎是乙個不可能的任務。但是為什麼有些人就能很輕易地拿到offer呢?

首先,我們分析一下一場面試的結構。

一般技術面試都會分為四個部分:專案介紹/自我介紹、技術能力問答、綜合能力問答、反向提問環節。而其中前三個部分對面試的成敗影響最大。首先,面試一般都會以專案介紹/自我介紹來進行切入,其實技術面試的自我介紹主要也是介紹自己的專案經驗。然後會穿插著對技術能力和綜合能力的評估,一般這一步都會由之前的專案介紹引申出來。

一般來說,面試官在每個環節希望了解的主要是:

專案介紹——基本背景、擅長的業務領域、解決問題的能力、技術層級

技術能力問答——技術深度、分析能力、抽象能力、學習能力

綜合能力問答——工作素養、協作能力、學習素養

雖然看上去眼花繚亂的非常多,其實核心關注的就是幾點:技術好、好合作、主動性強

對於大部分面試官來說,一般也不會做太多事前準備和細密的事後分析,大多都是靠乙個大概的印象來做出判斷的。所以面試的乙個訣竅就是:突出亮點。一旦面試中有讓人印象深刻的亮點,其他方面只要不是太差一般面試就十拿九穩了。

但是很多讀者應該和我以前一樣,覺得自己好像也沒什麼亮點啊,總感覺沒什麼特別的可說。但是通過總結準備,我相信每乙個人都可以有自己的亮點,而且是很多個亮點。

首先,我們可以通過總結來得到乙份優秀的專案介紹。關鍵點就在於不能光介紹專案完成的需求,因為這些對於面試官來說並沒有什麼價值,畢竟我們面的是開發崗位不是產品崗位:)在專案介紹中,我們應該明確描述我們在專案中解決的問題,包括技術難題和業務難題。如何表述可以參考一下現在流行的star法則,即在什麼情況下(situation),面臨一項什麼樣的任務(task),採取了什麼樣的行動(action),達到了怎樣的結果(result)。這樣的表述可以很好地展示自己的解決問題能力,充分顯示了自己在工作中的主動性。

然後,我們還可以通過準備來深挖幾個在工作中比較重要的技術點作為「技術亮點」展示,這指的不是僅僅通過「面試寶典」來準備的膚淺的理論知識,而應該是能做到真正的言之有物、切中工作要點的實踐性的深入知識點。這一步是本文所有面試準備技巧中唯一對技術水平有要求而且是要求很高的步驟,技術水平不夠的朋友可能發愁怎麼準備,技術水平比較高的朋友可能又會疑惑到底什麼是實踐性的深入知識點。大家不用擔心,我已經為大家準備好了學習材料或者說是參考樣例。通過學習或參考工作經驗較豐富者的總結文章我們可以更容易地獲得自己的技術亮點。

資料庫索引是什麼?新華字典來幫你 —— 理解

資料庫索引融會貫通 —— 深入

20分鐘資料庫索引設計實戰 —— 實戰

資料庫索引為什麼用b+樹實現? —— 擴充套件

但是有了準備之後,我們怎麼能防止面試官問出很多超出我們準備範圍的「奇怪」的問題呢?這就需要我們有效地引導和填充整個面試的過程。一般一場技術面試會在40分鐘到60分鐘,如何完成好一場技術面試的關鍵就在於如何用亮點來充滿這40到60分鐘。

一般乙個技術亮點會包含一系列層層遞進的內容,所以可以問出大概三到五個問題。如果發現面試官不知道應該如何追問,那麼你可以簡短一些地把後續知識點一次性介紹完。一般這些問題都說完時間就過去了十到十五分鐘,而專案介紹和相關的問答會占用大概10分鐘。如果我們準備了兩個技術亮點,加上前後的一些非技術性問題和反向提問,那麼基本上一場面試就圓滿地結束了。

那麼如何讓面試官問出自己想問的問題呢?這就需要我們準備好乙個「劇本」了。

首先,面試的開場一定是專案介紹,可以將我們準備好的技術亮點與專案介紹中解決的技術難題結合起來,這樣面試官基本都會根據這個點繼續往下追問。

其次,我們還可以對簡歷內容進行特意的編排來誘導面試官主動提出我們準備好的問題。例如在簡歷中把擅長的技術放在更靠上的位置突出顯示,並且增加更多的深入解釋。這樣不僅可以引起面試官的注意,還能使簡歷顯得更有技術含量,更容易通過篩選。

最後,還可以厚著臉皮主動提出自己對某乙個領域比較了解,嘗試詢問面試官對這一部分有沒有興趣。

通過上述這三點,基本上80%以上的面試就能夠順順利利地圓滿完成了。

在掌握了面試的技巧之後,我們再來看看之前小黃和老王到底犯了什麼錯誤,我們也能避免踩坑。

初級開發小黃的問題:

惜字如金,沒有充分回答問題;

等著面試官提問,沒有主動地引導。

資深開發老王的問題:

專案經歷沒有準備;

過分糾結細節,但是表述又不流暢;

問題抓不住重點,從細節開始推敲,反反覆覆。

公司老是換技術好嗎?

公司新成立,當我來到這裡時,在j2ee應用上幾乎是一窮二白,但是還是決定用s2sh進行開發,通過 幾個月的學習,感覺還行,專案也慢慢有了點樣子,就是因為底子比較差,所以整個架構不夠穩定,也還有比較多 的問題,幾乎沒有人比較精通這些技術,畢竟是僅僅才應用和學習了4個月左右。但是還是感覺這三個框架挺不錯...

Python爬蟲老是被封的解決方法 面試必問

在爬取的過程中難免發生 ip 被封和 403 錯誤等等,這都是 檢測出你是爬蟲而進行反爬措施,在這裡為大家總結一下 python 爬蟲動態 ip 防止被封的方法。ps 另外很多人在學習python的過程中,往往因為遇問題解決不了從而導致自己放棄,為此我建了個python全棧開發交流.裙 一久武其而而...

面試之技術面試篇

6 網路 這也是常考的部分。主要考查點有 osi參考模型,tcp ip參考模型。以下是我遇到過的具體面試問題 1 請解釋一下osi參考模型。中國信保 2 請解釋一下tcp ip參考模型。中國信保 3 為什麼現在的網路最後採用了tcp ip參考模型而沒用osi參考模型?中國信保 總結 這部分面試主要考...