本文作者 Connor Leech 是在灣區(qū)工作的一名 Web 開發(fā)人員,他在本文中面向那些正尋求找到一個(gè)軟件工程師崗位的求職者,探討了他們?cè)诿嬖嚟h(huán)節(jié)可以采取的準(zhǔn)備工作。雖然各個(gè)公司對(duì)于評(píng)估人才有自己不同的標(biāo)準(zhǔn),但軟件工程崗位面試大致可分為兩類:特定領(lǐng)域知識(shí)面試和計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)面試。求職者了解公司評(píng)估方式之后,也就可以有的放矢,分別采取相應(yīng)的準(zhǔn)備策略。
作為一名軟件工程師,能否通過(guò)技術(shù)面試對(duì)于自己的職業(yè)發(fā)展至關(guān)重要,但是求職者往往很難知道具體怎樣去為面試做準(zhǔn)備。因?yàn)椴煌能浖静捎貌煌姆绞綄?duì)工程師進(jìn)行評(píng)估,而在這種壓力很大、同時(shí)又很重要的場(chǎng)合,毫無(wú)防備的前去面試似乎是最糟糕的一種狀態(tài)。
幸運(yùn)的一點(diǎn)是,這些技術(shù)面試通常可以分為兩大類:特定領(lǐng)域知識(shí)面試和計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)面試。對(duì)于想走上軟件工程師職業(yè)發(fā)展道路的求職者來(lái)說(shuō),了解這些評(píng)估人才的不同方法是很重要的一點(diǎn),從而可以在他們最需要改進(jìn)的地方采取措施進(jìn)行進(jìn)一步的提升。本篇文章介紹了每種面試類型可能出現(xiàn)的問(wèn)題,以及你可以采取的準(zhǔn)備措施。
特定領(lǐng)域知識(shí)面試
特定領(lǐng)域知識(shí)面試通常涉及到你最熟悉的技術(shù)領(lǐng)域的具體知識(shí)點(diǎn)。例如,如果你主要使用 Angular 1.x 進(jìn)行前端開發(fā),并且面試公司又有 Angular 前端,那他們就可能問(wèn)你關(guān)于 Angular 控制器、指令和服務(wù)的相關(guān)內(nèi)容。也就是說(shuō),你需要做好準(zhǔn)備去建立、展示和討論 Angular。
特定領(lǐng)域的面試重點(diǎn)關(guān)注的是你已經(jīng)實(shí)際構(gòu)建起來(lái)的東西,因此要想順利通過(guò)這些面試,最好是你已經(jīng)構(gòu)建過(guò)相關(guān)技術(shù)的項(xiàng)目。你應(yīng)該為自己的工作而感到自豪,不必感覺不好意思,而應(yīng)該深入探討具體項(xiàng)目的技術(shù)細(xì)節(jié)。項(xiàng)目最好是近階段完成的,沒(méi)人會(huì)愿意去聽你去年寫的那些代碼,你自己也會(huì)對(duì)這種陳舊的項(xiàng)目感覺厭倦,面試效果也欠佳。
特定領(lǐng)域面試的另一個(gè)常見策略是看求職者能否構(gòu)建一些非常棒的產(chǎn)品或者是排除實(shí)際存在的一些問(wèn)題和故障。這通常是讓求職者帶回家去完成的一種測(cè)試,求職者一般有 24-48 個(gè)小時(shí)的時(shí)間來(lái)完成這些測(cè)試。例如,如果你是一名 Laravel 開發(fā)人員,并且你面試的公司恰好也使用 Laravel,那他們可能會(huì)要求你構(gòu)建公司產(chǎn)品或者是公司定期創(chuàng)建的產(chǎn)品的微縮版本。對(duì)于這種帶回家做的測(cè)試,做好投入大量工作的心理準(zhǔn)備。準(zhǔn)備好啟動(dòng)模板,不要抗拒去 Google 搜索答案,發(fā)送電子郵件尋求幫助和使用外部工具包這些做法。因?yàn)槟芊裢ㄟ^(guò)特定領(lǐng)域面試最重要的一個(gè)衡量標(biāo)準(zhǔn)是你能否構(gòu)建出有效的產(chǎn)品。
計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)面試
計(jì)算機(jī)科學(xué)和基礎(chǔ)編程面試明顯不同于上文所探討的特定領(lǐng)域面試。計(jì)算機(jī)科學(xué)和基礎(chǔ)編程面試是為了評(píng)估你解決問(wèn)題的能力,更多的是關(guān)注找到最佳解決方案的能力,而不是簡(jiǎn)單的去完成某些特定任務(wù)。因此,面試官通常也不會(huì)問(wèn)關(guān)于你是誰(shuí)、你過(guò)去的工作經(jīng)歷或者你構(gòu)建過(guò)的項(xiàng)目方面的問(wèn)題。對(duì)于計(jì)算機(jī)科學(xué)基礎(chǔ)面試這一類型來(lái)說(shuō),面試官的工作就是評(píng)估你的原始編程能力,通常他們是通過(guò)數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的問(wèn)題來(lái)進(jìn)行評(píng)估。
計(jì)算機(jī)科學(xué)基礎(chǔ)面試的問(wèn)題有章法可循。因?yàn)閷W(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法需要大量的準(zhǔn)備工作和長(zhǎng)時(shí)間的學(xué)習(xí),你需要了解你所選擇的編程語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)和算法來(lái)解決問(wèn)題。計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)面試通常可以用六種不同類型的算法來(lái)解決:
深度優(yōu)先搜索算法/廣度優(yōu)先搜索算法
貪心算法
滑動(dòng)窗口算法
分治算法
遞歸算法
動(dòng)態(tài)規(guī)劃算法
你需要研究每一種算法,可以在 Pramp 上與其他軟件工程師一起練習(xí)面試和面試問(wèn)題。應(yīng)對(duì)面試是一門獨(dú)立于軟件工程師之外的技能,你可以通過(guò)練習(xí)和重復(fù)來(lái)提升自己在面試時(shí)的表現(xiàn)。
計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)面試通常遵循的那些問(wèn)題結(jié)構(gòu)對(duì)于求職者來(lái)說(shuō)只有通過(guò)幾個(gè)小時(shí)的練習(xí)和準(zhǔn)備才能發(fā)現(xiàn)。即便這些知識(shí)中的一部分并不適用于日常的編程任務(wù),但只要你堅(jiān)持這樣做,你就能抓住更多的面試機(jī)會(huì),就能收到更多公司發(fā)來(lái)的 offer。如果你的目標(biāo)是獲得更多的工作機(jī)會(huì),那你一定要看一下《Cracking The Coding Interview》這本書,并且查看這一免費(fèi)的面試資源來(lái)進(jìn)行相應(yīng)的準(zhǔn)備工作。
哪種方法適合你?
作為一名正在尋找工作的軟件工程師來(lái)說(shuō),在構(gòu)建產(chǎn)品、學(xué)習(xí)新工具和練習(xí)面試之間存在著一定程度的相互沖突。選擇關(guān)注哪一點(diǎn)其實(shí)取決于你所尋找的工作類型,如果你想進(jìn)入 Google、Twitch、亞馬遜、Uber 或 Square 等大型知名科技公司工作,那你基礎(chǔ)知識(shí)一定要過(guò)關(guān)。在這樣的情況下,你是否構(gòu)建過(guò)最好、最復(fù)雜的產(chǎn)品其實(shí)并不重要,如果你無(wú)法通過(guò)計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)面試,那這些大型科技公司是絕對(duì)不會(huì)雇用你的。
相比較而言,小型初創(chuàng)企業(yè)通常是在與時(shí)間賽跑,他們會(huì)爭(zhēng)取快速的構(gòu)建出產(chǎn)品、推出產(chǎn)品并且推向市場(chǎng)。因此,這些公司通常會(huì)實(shí)行特定領(lǐng)域面試方式,因?yàn)樗麄兿M私饽罂梢詷?gòu)建什么樣的產(chǎn)品,你最拿手的技術(shù)又是什么。
如何了解公司面試類型
在進(jìn)行公司面試時(shí),與你對(duì)接的招聘人員或者公司聯(lián)系人就是你最好的朋友。你可以直接向他們?cè)儐?wèn)關(guān)于公司的招聘流程以及他們用于評(píng)估候選人的標(biāo)準(zhǔn)等方面的問(wèn)題。對(duì)于求職者來(lái)說(shuō),了解公司在招崗位的信息是非常重要的一點(diǎn),因此他們需要主動(dòng)提出這方面的問(wèn)題并且仔細(xì)研究招聘職位描述信息。軟件工程崗位招聘通常有好幾個(gè)環(huán)節(jié),可能包括電話面試、共享桌面遠(yuǎn)程面試和現(xiàn)場(chǎng)面試環(huán)節(jié)。
如果面試環(huán)節(jié)包括共享桌面遠(yuǎn)程面試這一環(huán)節(jié),那最有可能考察的是求職者的計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)。他們會(huì)提供給求職者一個(gè)需要解決的問(wèn)題,面試官會(huì)在這個(gè)過(guò)程中觀察求職者的操作,求職者也可以解釋自己的想法。
帶回家做的項(xiàng)目通常考察的是特定領(lǐng)域的具體知識(shí),這在一些機(jī)構(gòu)和初創(chuàng)企業(yè)的招聘中比較常見,求職者需要在 24-48 小時(shí)內(nèi)有所成就,之后再對(duì)你的代碼進(jìn)行展示。
普通的電話面試通常了解的是求職者的態(tài)度,進(jìn)行相應(yīng)的溝通并了解一些背景信息、招聘人員很難通過(guò)這已通電話獲得有關(guān)你能力方面的信息。
現(xiàn)場(chǎng)面試可以涵蓋任何問(wèn)題,但通常是整個(gè)面試過(guò)程的最后一個(gè)環(huán)節(jié)。所以到這一環(huán)節(jié),你應(yīng)該是對(duì)你面前的這個(gè)機(jī)遇以及求職公司所用的評(píng)估方式有了一個(gè)清晰的認(rèn)識(shí)。
想了解各個(gè)公司使用的是哪種類型的面試,你可以通過(guò)瀏覽 Glassdoor、Angel.co 上的評(píng)論或者是通過(guò) Linkedin 聯(lián)系公司當(dāng)前員工的方式來(lái)獲知。
小結(jié)
求職者可以通過(guò)與求職公司的招聘人員和聯(lián)系人員交談,來(lái)了解大致的面試過(guò)程。如果你不熟悉數(shù)據(jù)結(jié)構(gòu)和算法,可以通過(guò) Pramp 進(jìn)行練習(xí)。做好心理準(zhǔn)備,你可能需要細(xì)數(shù)你過(guò)去的工作經(jīng)歷和你已經(jīng)構(gòu)建而成的軟件。要想在軟件工程領(lǐng)域找到一份新工作,構(gòu)建過(guò)令人驚嘆的產(chǎn)品與了解計(jì)算機(jī)課科學(xué)基礎(chǔ)知識(shí)這兩方面同等重要。
“你越是不自信,就越是需要認(rèn)真地采取行動(dòng)。” – Tara Ploughman
記住這一點(diǎn),并不只是公司在面試你,同時(shí)你也在面試這個(gè)公司。面試過(guò)程中你需要去處理的問(wèn)題和工作往往與你被聘用之后,在這個(gè)崗位上需要去完成的工作類似。所以,你需要思考這樣幾個(gè)問(wèn)題:他們?yōu)槟惆才诺奶魬?zhàn)是你所喜歡的工作類型嗎?這個(gè)公司的人好嗎?他們尊重你的時(shí)間和能力嗎?如果這些問(wèn)題的答案都是否定的,那你可以考慮尋找別的工作機(jī)會(huì)了。了解自己的長(zhǎng)處和短處,并且享受這個(gè)找工作的過(guò)程。面試是一個(gè)很好的認(rèn)識(shí)人的方式,也可是一種學(xué)習(xí)到新技術(shù)并且了解自己需求的途徑。
失敗和被拒本來(lái)就是生活的一部分,所以在任何時(shí)候,都要保持積極的心態(tài),努力爭(zhēng)取那些你所能控制的部分,對(duì)于超出自己控制的部分不要去過(guò)多的理會(huì)。
-
軟件工程師
+關(guān)注
關(guān)注
8文章
243瀏覽量
21388
發(fā)布評(píng)論請(qǐng)先 登錄

硬件工程師看了只會(huì)找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
硬件工程師面試/筆試經(jīng)典 100 題


如何成為一名嵌入式軟件工程師?
長(zhǎng)沙怎么這么難招硬件工程師呀

嵌入式軟件工程師就業(yè)好不好?
【面試題】人工智能工程師高頻面試題匯總:概率論與統(tǒng)計(jì)篇(題目+答案)



不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技

【面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)篇


評(píng)論