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