來(lái)源:北大青鳥(niǎo)總部 2019年07月09日 10:01
面試是每個(gè)普通程序員面前的一座大山,給了大家無(wú)盡的苦惱和困惑。程序員面試很難嗎?難!正常的,要經(jīng)過(guò)兩輪技術(shù)面試以及一輪經(jīng)理面試,也有不少頂尖公司甚至需要三到五輪的技術(shù)面試。
幾輪面試下來(lái),能熬到最后,這絕對(duì)是真正意義上的“過(guò)五關(guān)斬六將”了。很多優(yōu)秀的程序員業(yè)務(wù)能力很過(guò)硬,但都因?yàn)樵诿嬖嚨臅r(shí)候發(fā)揮失常,從而屢屢與大廠失之交臂。所以,每一個(gè)面試成功者,都算是勇士。要給自己點(diǎn)個(gè)贊!
那么面試時(shí),我們究竟需要注意什么呢?今天,小編就教給大家?guī)讉€(gè)面試成功的技巧。
1、首先,要確保你理解了面試官的問(wèn)題。
許多問(wèn)題都是故意措辭模糊或者模棱兩可,這個(gè)時(shí)候你可以請(qǐng)面試官把問(wèn)題說(shuō)清楚,從而確保你真正回答面試官的問(wèn)題。你的提問(wèn)同時(shí)還有一個(gè)好處,就是它能給你自己一些時(shí)間,讓你的腦子轉(zhuǎn)起來(lái)。
2、用一到兩個(gè)例子來(lái)確定問(wèn)題的限制條件和要求(在現(xiàn)場(chǎng)面試時(shí)在白板上完成這個(gè)過(guò)程,在電話(huà)面試時(shí)在筆記本上完成)。
嘗試用中等規(guī)模的例子,以便覆蓋到一些特殊情況。如果你能想到可能相關(guān)的表格,就把它畫(huà)出來(lái)。事實(shí)上,把你想到的任何東西都寫(xiě)下來(lái)是會(huì)有幫助的,因?yàn)樗転槟闾峁┮粋€(gè)視覺(jué)錨點(diǎn),從而讓你在走不通時(shí)或者思考過(guò)程中隨時(shí)返回某一個(gè)點(diǎn)。
3、把話(huà)說(shuō)清楚,這可能是最重要的一步。
要試著讓面試盡可能有更多的互動(dòng),面試官不知道你在想什么,而讓他們參與到你的思考過(guò)程里,會(huì)讓她給你一些有用的提示,防止你偏向錯(cuò)誤的方向。你的目標(biāo)就是要先和面試官確證你的答案,然后再去寫(xiě)代碼,而且你考慮答案越清晰、越高效,你得到的即時(shí)反饋也就越好。
4、通過(guò)應(yīng)用以下技巧來(lái)找到答案
回想一下你遇到的類(lèi)似問(wèn)題,再想想它們是如何被解決的,嘗試各種不同的算法(分治算法、貪心算法、遞歸、排序,等等),把問(wèn)題分解成更小的、可處理的小問(wèn)題(這樣你就能得到相應(yīng)部分的分?jǐn)?shù)),最后再通覽一遍你列出的數(shù)據(jù)結(jié)構(gòu),因?yàn)橛袝r(shí)候,只要想到了正確的數(shù)據(jù)結(jié)構(gòu),就能給出正確的答案。
5、當(dāng)你向面試官問(wèn)清楚了問(wèn)題、并向她解釋了你的答案之后,就可以開(kāi)始寫(xiě)代碼了。
在共享文檔里寫(xiě)代碼的時(shí)候,你可以復(fù)制粘貼、寫(xiě)評(píng)論,而且能回過(guò)頭來(lái)完成骨架算法和功能。但在白板上寫(xiě)代碼就不一樣了,它需要你的頭腦很清醒,而且需要你具備管理白板空間的技能。
而且你要確保在你寫(xiě)答案的時(shí)候,沒(méi)有擋住面試官的視線(xiàn)?;c(diǎn)兒時(shí)間把代碼寫(xiě)得緊湊而美觀一點(diǎn)兒,因?yàn)槟愕拇a也會(huì)是面試反饋的一部分。在你寫(xiě)代碼的時(shí)候,要大聲解釋你在寫(xiě)什么,這會(huì)讓你的面試官更容易地跟上你的思路。
6、最后,用不同的例子和特殊案例驗(yàn)證一下你的代碼,并且要一行一行地過(guò)。
這會(huì)展示你的思考過(guò)程,讓你檢查出小錯(cuò)誤,并告訴面試官你的辦法是可行的。如果你想得到額外加分的話(huà),甚至可以把單元測(cè)試的代碼寫(xiě)下來(lái)!最后再和面試官聊一下你的答案在空間和時(shí)間利用方面的復(fù)雜性,然后結(jié)束整場(chǎng)面試。
7、給面試者的提醒:有一種能力叫面試能力。
其實(shí)面試考的是一種相對(duì)單獨(dú)的能力,它叫做面試能力。它以你平時(shí)的技術(shù)積累為基礎(chǔ),但平時(shí)的基礎(chǔ)不會(huì)是全部。面試能力的提高必須通過(guò)面試本身去鍛煉。
不要患得患失,要相信該是你的跑不掉。要用積極的心態(tài)面對(duì)面試,你把面試當(dāng)做是技術(shù)交流的機(jī)會(huì)。可不是嘛,一個(gè)技術(shù)比你好的人近距離耐心地和你交流半小時(shí)到一小時(shí),還是免費(fèi)的,這機(jī)會(huì)難道不應(yīng)該好好珍惜嗎?
以上就是有關(guān)程序員面試的那些事。面試的能力不容忽視,但這些需要平時(shí)的實(shí)力做基礎(chǔ),也需要通過(guò)面試本身去鍛煉,有時(shí)候也是急不得的。要不斷打磨,才能越來(lái)越好。所以,堅(jiān)持住,就一定會(huì)去到你想去的地方。