0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

軟件工程師面試前需要準備什么

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-10-24 09:49 ? 次閱讀

本文作者 Connor Leech 是在灣區(qū)工作的一名 Web 開發(fā)人員,他在本文中面向那些正尋求找到一個軟件工程師崗位的求職者,探討了他們在面試環(huán)節(jié)可以采取的準備工作。雖然各個公司對于評估人才有自己不同的標準,但軟件工程崗位面試大致可分為兩類:特定領域知識面試和計算機科學基礎知識面試。求職者了解公司評估方式之后,也就可以有的放矢,分別采取相應的準備策略。

作為一名軟件工程師,能否通過技術面試對于自己的職業(yè)發(fā)展至關重要,但是求職者往往很難知道具體怎樣去為面試做準備。因為不同的軟件公司采用不同的方式對工程師進行評估,而在這種壓力很大、同時又很重要的場合,毫無防備的前去面試似乎是最糟糕的一種狀態(tài)。

幸運的一點是,這些技術面試通常可以分為兩大類:特定領域知識面試和計算機科學基礎知識面試。對于想走上軟件工程師職業(yè)發(fā)展道路的求職者來說,了解這些評估人才的不同方法是很重要的一點,從而可以在他們最需要改進的地方采取措施進行進一步的提升。本篇文章介紹了每種面試類型可能出現(xiàn)的問題,以及你可以采取的準備措施。

特定領域知識面試

特定領域知識面試通常涉及到你最熟悉的技術領域的具體知識點。例如,如果你主要使用 Angular 1.x 進行前端開發(fā),并且面試公司又有 Angular 前端,那他們就可能問你關于 Angular 控制器、指令和服務的相關內容。也就是說,你需要做好準備去建立、展示和討論 Angular。

特定領域的面試重點關注的是你已經實際構建起來的東西,因此要想順利通過這些面試,最好是你已經構建過相關技術的項目。你應該為自己的工作而感到自豪,不必感覺不好意思,而應該深入探討具體項目的技術細節(jié)。項目最好是近階段完成的,沒人會愿意去聽你去年寫的那些代碼,你自己也會對這種陳舊的項目感覺厭倦,面試效果也欠佳。

特定領域面試的另一個常見策略是看求職者能否構建一些非常棒的產品或者是排除實際存在的一些問題和故障。這通常是讓求職者帶回家去完成的一種測試,求職者一般有 24-48 個小時的時間來完成這些測試。例如,如果你是一名 Laravel 開發(fā)人員,并且你面試的公司恰好也使用 Laravel,那他們可能會要求你構建公司產品或者是公司定期創(chuàng)建的產品的微縮版本。對于這種帶回家做的測試,做好投入大量工作的心理準備。準備好啟動模板,不要抗拒去 Google 搜索答案,發(fā)送電子郵件尋求幫助和使用外部工具包這些做法。因為能否通過特定領域面試最重要的一個衡量標準是你能否構建出有效的產品。

計算機科學基礎知識面試

計算機科學和基礎編程面試明顯不同于上文所探討的特定領域面試。計算機科學和基礎編程面試是為了評估你解決問題的能力,更多的是關注找到最佳解決方案的能力,而不是簡單的去完成某些特定任務。因此,面試官通常也不會問關于你是誰、你過去的工作經歷或者你構建過的項目方面的問題。對于計算機科學基礎面試這一類型來說,面試官的工作就是評估你的原始編程能力,通常他們是通過數(shù)據結構和算法相關的問題來進行評估。

計算機科學基礎面試的問題有章法可循。因為學習數(shù)據結構和算法需要大量的準備工作和長時間的學習,你需要了解你所選擇的編程語言、數(shù)據結構和算法來解決問題。計算機科學基礎知識面試通??梢杂昧N不同類型的算法來解決:

深度優(yōu)先搜索算法/廣度優(yōu)先搜索算法

貪心算法

滑動窗口算法

分治算法

遞歸算法

動態(tài)規(guī)劃算法

你需要研究每一種算法,可以在 Pramp 上與其他軟件工程師一起練習面試和面試問題。應對面試是一門獨立于軟件工程師之外的技能,你可以通過練習和重復來提升自己在面試時的表現(xiàn)。

計算機科學基礎知識面試通常遵循的那些問題結構對于求職者來說只有通過幾個小時的練習和準備才能發(fā)現(xiàn)。即便這些知識中的一部分并不適用于日常的編程任務,但只要你堅持這樣做,你就能抓住更多的面試機會,就能收到更多公司發(fā)來的 offer。如果你的目標是獲得更多的工作機會,那你一定要看一下《Cracking The Coding Interview》這本書,并且查看這一免費的面試資源來進行相應的準備工作。

哪種方法適合你?

作為一名正在尋找工作的軟件工程師來說,在構建產品、學習新工具和練習面試之間存在著一定程度的相互沖突。選擇關注哪一點其實取決于你所尋找的工作類型,如果你想進入 Google、Twitch、亞馬遜、Uber 或 Square 等大型知名科技公司工作,那你基礎知識一定要過關。在這樣的情況下,你是否構建過最好、最復雜的產品其實并不重要,如果你無法通過計算機科學基礎知識面試,那這些大型科技公司是絕對不會雇用你的。

相比較而言,小型初創(chuàng)企業(yè)通常是在與時間賽跑,他們會爭取快速的構建出產品、推出產品并且推向市場。因此,這些公司通常會實行特定領域面試方式,因為他們希望了解捏可以構建什么樣的產品,你最拿手的技術又是什么。

如何了解公司面試類型

在進行公司面試時,與你對接的招聘人員或者公司聯(lián)系人就是你最好的朋友。你可以直接向他們詢問關于公司的招聘流程以及他們用于評估候選人的標準等方面的問題。對于求職者來說,了解公司在招崗位的信息是非常重要的一點,因此他們需要主動提出這方面的問題并且仔細研究招聘職位描述信息。軟件工程崗位招聘通常有好幾個環(huán)節(jié),可能包括電話面試、共享桌面遠程面試和現(xiàn)場面試環(huán)節(jié)。

如果面試環(huán)節(jié)包括共享桌面遠程面試這一環(huán)節(jié),那最有可能考察的是求職者的計算機科學基礎知識。他們會提供給求職者一個需要解決的問題,面試官會在這個過程中觀察求職者的操作,求職者也可以解釋自己的想法。

帶回家做的項目通常考察的是特定領域的具體知識,這在一些機構和初創(chuàng)企業(yè)的招聘中比較常見,求職者需要在 24-48 小時內有所成就,之后再對你的代碼進行展示。

普通的電話面試通常了解的是求職者的態(tài)度,進行相應的溝通并了解一些背景信息、招聘人員很難通過這已通電話獲得有關你能力方面的信息。

現(xiàn)場面試可以涵蓋任何問題,但通常是整個面試過程的最后一個環(huán)節(jié)。所以到這一環(huán)節(jié),你應該是對你面前的這個機遇以及求職公司所用的評估方式有了一個清晰的認識。

想了解各個公司使用的是哪種類型的面試,你可以通過瀏覽 Glassdoor、Angel.co 上的評論或者是通過 Linkedin 聯(lián)系公司當前員工的方式來獲知。

小結

求職者可以通過與求職公司的招聘人員和聯(lián)系人員交談,來了解大致的面試過程。如果你不熟悉數(shù)據結構和算法,可以通過 Pramp 進行練習。做好心理準備,你可能需要細數(shù)你過去的工作經歷和你已經構建而成的軟件。要想在軟件工程領域找到一份新工作,構建過令人驚嘆的產品與了解計算機課科學基礎知識這兩方面同等重要。

“你越是不自信,就越是需要認真地采取行動?!?– Tara Ploughman

記住這一點,并不只是公司在面試你,同時你也在面試這個公司。面試過程中你需要去處理的問題和工作往往與你被聘用之后,在這個崗位上需要去完成的工作類似。所以,你需要思考這樣幾個問題:他們?yōu)槟惆才诺奶魬?zhàn)是你所喜歡的工作類型嗎?這個公司的人好嗎?他們尊重你的時間和能力嗎?如果這些問題的答案都是否定的,那你可以考慮尋找別的工作機會了。了解自己的長處和短處,并且享受這個找工作的過程。面試是一個很好的認識人的方式,也可是一種學習到新技術并且了解自己需求的途徑。

失敗和被拒本來就是生活的一部分,所以在任何時候,都要保持積極的心態(tài),努力爭取那些你所能控制的部分,對于超出自己控制的部分不要去過多的理會。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件工程師
    +關注

    關注

    8

    文章

    217

    瀏覽量

    21090
收藏 人收藏

    評論

    相關推薦

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,還需要軟件工程師、硬件工程師緊密合作,對整個系統(tǒng)進行集成和測試。 總的來說,F(xiàn)PGA 算法工程師著重于算法優(yōu)化,F(xiàn)PGA 邏輯工程師專注
    發(fā)表于 09-23 18:26

    需要無刷電控硬件工程師

    需要無刷電控硬件工程師,地點東莞松山湖。最好有5-10年經驗,大功率電摩電控。有意私聊。
    發(fā)表于 09-11 22:51

    嵌入式軟件工程師如何提升自己?

    的基礎 嵌入式軟件工程師需要具備扎實的計算機科學和工程知識。因此,在職業(yè)生涯的起步階段,建議將重點放在學習基礎知識上,包括數(shù)據結構、算法、操作系統(tǒng)、編程語言等。通過深入學習這些基礎知識,打下堅實的理論基礎,為將來
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設計

    據悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責設計PlayStation的免費手機游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?625次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    、機器人等。 定義和工作職責 嵌入式軟件工程師的主要職責包括但不限于:設計、開發(fā)、測試和調試嵌入式軟件應用程序,以滿足特定硬件和軟件要求。他們需要理解并掌握嵌入式系統(tǒng)的基本原理,熟悉相
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    Cognition發(fā)布首款AI軟件工程師Devin

    據報道,Cognition公司今日公布了其首款人工智能軟件工程師——Devin,掀起了打造軟件模式變革的序幕。該產品在SWE-bench代碼測驗中展現(xiàn)出卓越表現(xiàn),甚至超過了部分頂級人類工程師的水準。
    的頭像 發(fā)表于 03-13 10:57 ?528次閱讀

    優(yōu)秀電源工程師需要哪些必備技能?

    提升電源開發(fā)效率。電源新手在學習初期,如果實驗設備不足,可以利用仿真軟件進行電路模型搭建,從而快速、直觀地了解電源的工作原理。2、器件參數(shù)選型參數(shù)選型時,需要工程師進行電路關鍵參數(shù)的計算,計算方法可以
    發(fā)表于 01-29 11:29

    如何構建linux開發(fā)環(huán)境和編譯軟件工程、應用程序

    前文介紹了如何使用官方提供的鏡像文件啟動開發(fā)板,本文將說明如何構建linux開發(fā)環(huán)境和編譯軟件工程、應用程序。
    的頭像 發(fā)表于 01-03 12:31 ?1552次閱讀
    如何構建linux開發(fā)環(huán)境和編譯<b class='flag-5'>軟件工程</b>、應用程序

    嵌入式軟件工程師常用的

    最近我換工作了,看見不同嵌入式軟件工程師用的平臺都不一樣,所以我整理了一下。PlatformIO:多平臺支持:PlatformIO支持多種嵌入式平臺,包括Arduino、ESP8266、ESP32
    的頭像 發(fā)表于 12-24 08:00 ?527次閱讀
    嵌入式<b class='flag-5'>軟件工程師</b>常用的

    嵌入式硬件和軟件哪個好?

    ,如復位電路、常用濾波器電路、功放電路、高速信號傳輸線的匹配電路等;故障定位、解決問題的能力;設計文檔的組織編寫技能! 那對于嵌入式軟件工程師來說: 嵌入式軟件工程師領域較新,他的發(fā)展也是很快的,像
    發(fā)表于 12-05 15:17

    硬件工程師經典面試題詳解

    硬件工程師經典面試題詳解
    的頭像 發(fā)表于 11-20 15:08 ?1185次閱讀
    硬件<b class='flag-5'>工程師</b>經典<b class='flag-5'>面試</b>題詳解

    FPGA工程師需要具備哪些技能?

    ,工程師需要考慮時序約束、時鐘網絡設計、數(shù)據路徑優(yōu)化等因素。較常用的布局布線工具有ALLEGRO PCB和Orcad等軟件。在使用EDA工具之前,F(xiàn)PGA工程師
    發(fā)表于 11-09 11:03