<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Google 技術(shù)面試全記錄

          共 5942字,需瀏覽 12分鐘

           ·

          2020-05-13 23:21





          (給前端大學(xué)加星標(biāo),提升前端技能.

          cef4266af5dd9b1e58ca0a8b15ce1926.webp

          作者 |?Emma Bostian

          譯者 |?香檳超新星,責(zé)編 | 郭芮

          在通過了Google技術(shù)面之后,我中途退出了應(yīng)聘流程。我知道你會怎么想:“你瘋了嗎?!誰會中途退出Google面試?”

          這篇博文將討論我在Google面試中的經(jīng)歷,以及通過技術(shù)面流程的技巧(適用于任何公司的技術(shù)面)。

          Google以超難的技術(shù)面而聞名,而且是一家讓很多面試者垂涎不已的公司,所以我選擇在此博文中重點介紹它。

          雖說如此,但其他的好公司也有很多,其中一些沒有Google這個技術(shù)巨頭那么知名,但這并沒有什么關(guān)系。要成為一名成功的開發(fā)人員,并不一定非要為一家知名公司工作。

          此外,為大公司工作也是有利有弊的(我將在本文中介紹)。想清楚自己要從一份工作中得到什么,然后去尋找符合這些核心價值觀和工作環(huán)境的公司。

          我只能就Google(或任何其他公司)的JavaScript /前端面試流程談?wù)?,而我的面試?jīng)歷可能跟你的面試經(jīng)歷有所差別,因此請有所保留地聽取我給出的建議和經(jīng)驗。

          我不會透露我在Google面試(或任何其他技術(shù)面試)中被問到的面試問題,因為我認(rèn)為這對公司不公平。作為候選人,你想要憑借自己解決問題的能力獲得工作機會,因此我選擇在本文中強調(diào)你應(yīng)該學(xué)習(xí)的技能,而不是面試中會問的問題。

          不要背誦答案,而要學(xué)習(xí)解決問題的能力,從而構(gòu)建高效的解決方案!有關(guān)如何成功進行技術(shù)面試的更多見解,可以參考本文的面試技巧部分。

          最后,我只想對整個Google團隊,以及與我交談過的任何現(xiàn)任或前任員工表示感謝。我遇到的負(fù)責(zé)招聘的人員都非常出色,與每位面試官的交流過程都十分愉悅。他們給我的感覺很舒服,從來沒有讓我覺得自己不夠聰明。我被問到的都是一些公平的,能夠評估我日常工作中所需技能的問題。為此,我要說謝謝。

          歷史

          這是我第三次面試Google(每次的進度條都走得更遠(yuǎn)一些)。以下是概述。

          回合1:2016

          我的第一次面試是在2016年,當(dāng)時我還住在德克薩斯州的奧斯丁。那一次我對技術(shù)面試的準(zhǔn)備非常的不充分,但居然還是堅強地通過了招聘人員的電話篩選,并且經(jīng)過了兩道技術(shù)電話面試題才被拒絕。

          回合2:2019

          我第二次面試Google是在2019年底。我以為我參加的是材料設(shè)計(Material Design)團隊中的用戶體驗工程師(UX Engineering)的面試,但我最終完整走了一遍軟件工程面試的過程,所以有些準(zhǔn)備不足。

          我通過了電話編程挑戰(zhàn),然后轉(zhuǎn)到去慕尼黑的園區(qū)參加現(xiàn)場面試。我進行了兩輪前端技術(shù)面試,兩輪數(shù)據(jù)結(jié)構(gòu)和算法面試,以及一次圍繞開發(fā)過程,溝通和文化契合度的面試。

          我的前端面試中的一輪是在Chromebook上通過Google Hangouts進行的,很不幸,我們遇到了技術(shù)問題(Chromebook無法啟動,Hangouts無法屏幕共享),并且一半的面試時間都花在了故障排除上。面試官后來告訴我,我的JavaScript技能還有進步空間。

          結(jié)果就是,我沒有通過面試,但團隊希望我在一兩個月后再到慕尼黑園區(qū)重新面試。我那時的生活有點混亂,所以婉拒了重新面試的邀約。

          回合3:2020

          2020年初,我重新面試了Google的用戶體驗工程師職位,因為我在幾個月前剛剛面試過,所以這次的面試流程就加快了(我不必重新進行電話代碼挑戰(zhàn),現(xiàn)場做數(shù)據(jù)結(jié)構(gòu)和算法題,或進行過程/文化契合度面試了)。

          我把一個用戶體驗工程項目帶回家做,設(shè)計了用戶流和信息架構(gòu),使用Sketch創(chuàng)建了高保真模型,并搭建了一個app。然后,我在一個文檔中簡潔地記錄了我的流程以及工具選擇。

          通過了這個項目挑戰(zhàn)之后,我又用Google Hangouts進行了三次Google現(xiàn)場面試(由于COVID-19疫情無法實地面試)。我進行了兩次前端技術(shù)(代碼)面試,一次用戶體驗面試,在用戶體驗面試的過程中討論了我?guī)Щ丶易鐾甑捻椖?,以及可以從用戶體驗的角度進行的改進。

          在“現(xiàn)場”面試之后,我的招聘人員(面試兩天后)通知我,我已通過面試,且后續(xù)會進入招聘委員會和團隊匹配階段。

          我與招聘主管見了面,我們討論了手上的這個職位。巧合的是,我在慕尼黑的第二輪面試中遇到過這個主管,所以再次見到他還挺開心的。

          在這之后,我等了幾個星期,在此期間也繼續(xù)面試其他公司。不幸的是,由于COVID-19疫情,Google的內(nèi)部招聘流程有些混亂,所以我最終接受了另一家公司的offer。

          我永遠(yuǎn)也不會知道自己最終是否真的能收到Google的offer,但起碼我已經(jīng)通過了技術(shù)面,所以已經(jīng)很為自己驕傲了。曾經(jīng)有人說我的技術(shù)不夠出色,我也曾經(jīng)覺得自己的技術(shù)無法在這個行業(yè)立足,以前的時候我覺得能進入現(xiàn)場面試這一輪就已經(jīng)很不錯了。

          怎樣才能成為Google的員工?

          想要應(yīng)聘去Google,你必須具備以下特征。

          • 做一個善良的人

          • 愿意學(xué)習(xí)

          • 具備良好的溝通能力

          • 做一個優(yōu)秀的問題解決者

          • 展現(xiàn)出色的團隊合作精神

          • 具備同理心根據(jù)我的經(jīng)驗,招聘人員們找的不是天才,而是具有良好溝通和團隊合作能力的善良,勤奮的人,而且許多其他公司也都是如此。

          一般面試流程

          Google的一般面試流程包含五到六個階段:

          446029d5996400dd6c8f073955d0efab.webp

          Google的一般面試流程包含五到六個階段:

          • 招聘人員電話面試

          • 技術(shù)電話面試/代碼挑戰(zhàn)

          • 帶回家做的能力測試*

          • 現(xiàn)場面試

          • 團隊匹配階段

          • 招聘委員會

          *此步驟僅針對用戶體驗工程師,而不是軟件工程師。

          讓我們再深入研究一下這幾個階段。

          招聘人員電話面試

          在招聘人員電話面試期間,招聘人員會向你提供有關(guān)這個職位和面試過程的更多信息。但是,不要輕視這次面試,因為面試過程中的每個步驟都很重要,并且會影響公司對你整體表現(xiàn)的評估。

          招聘人員電話面試的一些技巧:

          • 提前閱讀關(guān)于這個職位和公司的內(nèi)容

          • 要準(zhǔn)時

          • 準(zhǔn)備好兩三個問題,用來在面試時問招聘人員

          • 最后不要忘記感謝他們抽出時間

          你的招聘人員會努力為你爭取offer,因此對他們nice一些!

          技術(shù)電話面試

          如果招聘人員電話面試進行得順利,接下來你將進行技術(shù)電話面試。在通話過程中,你將與一名Google員工配對,TA會給你出一個編程挑戰(zhàn)問題。

          我回答了一個問題,這個問題主要是測試以下技能:

          • DOM操作(訪問DOM節(jié)點,執(zhí)行某些任務(wù),動態(tài)生成新的DOM節(jié)點)

          • CSS

          我在Google文檔中寫下了我的答案。下面是我的解題思路。

          • 提一些問題:由于招聘人員希望了解你的想法,所以他們問的問題本身會不夠全面。

          • 編寫偽代碼:寫偽代碼的過程可以讓你在寫真代碼之前先理清思路。

          • 寫出暴力解決方案:你不必第一次就寫出最優(yōu)解。從暴力解決方案開始,然后再進行優(yōu)化,這能夠顯示出你對性能的關(guān)注度。

          • 優(yōu)化你的方案:如果已經(jīng)有了暴力方案,那么該從哪里著手進行優(yōu)化呢?你能否將一個嵌套的for循環(huán)重構(gòu)為兩個頂級循環(huán)?

          • 測試邊緣例子:在你的方案能夠運行且已經(jīng)過優(yōu)化后,你需要創(chuàng)建一些測試用例。這將讓你知道自己是否錯過了任何極端情況。

          編程項目

          如果你的技術(shù)電話面試順利進行,你可能會被要求把一項編程項目帶回家完成。在軟件工程面試中,我沒有被要求做任何項目,但是在用戶體驗工程面試中,我被要求完成一個項目。

          我非常喜歡做這種編程項目,原因如下:

          • 我能夠從兩個項目中選一個,這兩個項目分別展示了不同的技能

          • 我有一個星期左右的時間來完成該項目(盡管對方告訴我這個項目應(yīng)該只需要幾個小時),這減輕了編程面試的“現(xiàn)場”壓力

          • 我能夠展示一些我最擅長的技能,例如詳盡的文檔,用戶流程,以及信息架構(gòu)

          • 我可以自己選擇技術(shù)棧

          在埋頭寫代碼之前,你應(yīng)該先與招聘人員明確一下項目要求。例如,如果你想使用一個JavaScript框架,就應(yīng)該先詢問一下可不可以。

          我對編程項目的一些小貼士如下:

          • 盡量不要過于依賴第三方庫。我當(dāng)時選擇使用Material UI(Google的設(shè)計系統(tǒng))來做UI,因為這展示了我對設(shè)計系統(tǒng)的了解,并且保持了UI的一致性,但使用UI框架可能會對性能產(chǎn)生一定影響。

          • 坦白地對待你想要改進的地方。在提交一份帶回家做的項目作業(yè)時,我總是會在里面添加“還能改進的方面”這一項。如果再給你的項目幾個小時或幾個星期的時間,你會做些什么改變?

          • 通過可訪問性測試器運行你的應(yīng)用程序。我通過Google Lighthouse運行我的app來測試可訪問性。

          • 不要在項目上花太多心血。如果招聘人員告訴你,在項目上花費2-3個小時就差不多了,那么就不要花一個星期。你會感到身心俱疲,而且如果公司在此之后拒絕了你,你會覺得自己被利用了(我的經(jīng)驗之談)。

          • 把你的代碼收拾干凈。確保刪除注釋,并確保代碼格式正確。

          • 考慮一下項目架構(gòu)。你的文件結(jié)構(gòu)應(yīng)該清晰有序。

          • 添加安裝說明。如果檢查你代碼的人不知道如何運行你的程序,則你可能就無法進入下一輪面試了。

          現(xiàn)場面試

          如果你已經(jīng)成功晉級到了現(xiàn)場面試這一輪,恭喜你!你已經(jīng)跨出很大的一步了,你應(yīng)該為自己感到驕傲!

          在我第二次面試Google時,我去了慕尼黑園區(qū),并參觀了辦公室(辦公環(huán)境真是太棒了?。?,但在我最近的這次面試過程中,由于COVID- 19疫情,所有的現(xiàn)場面試都是通過Google Hangouts進行的。

          現(xiàn)場面試分為五輪:

          • 兩次前端面試(代碼)

          • 兩次數(shù)據(jù)結(jié)構(gòu)和算法面試(代碼)

          • 一次過程/團隊合作/文化契合度面試

          前端面試將集中考察HTML,CSS和JavaScript等前端技術(shù),但也可能會對性能和異步JavaScript等其他領(lǐng)域有所涉及。

          前端面試

          以下是我建議為前端面試準(zhǔn)備的技能:

          51599225a79d3e9ff8a89fe34554a747.webp

          有關(guān)要點內(nèi)容,請點擊:

          https://gist.github.com/emmabostian/aea646464456c2fb4ad66f1051faba83。

          數(shù)據(jù)結(jié)構(gòu)與算法面試

          以下是我建議為數(shù)據(jù)結(jié)構(gòu)和算法面試準(zhǔn)備的技能:

          7f261e013dd1750a200828c5aa5c3281.webp

          有關(guān)要點內(nèi)容日,請點擊:

          https://gist.github.com/emmabostian/c996c68458dd5eb770529b52dd7bfb00

          團隊合作,流程,以及文化契合度面試

          團隊合作/流程/文化契合度面試融合了多種主題,從敏捷方法論到工作流,從團隊精神與協(xié)作到?jīng)_突的解決等等。

          為了確保這個面試的成功,有以下小貼士:

          • 擁有兩個或三個項目可供討論。

          • 擁有一到兩個你解決團隊沖突的例子。

          團隊匹配階段

          如果你所有的現(xiàn)場面試都已經(jīng)通關(guān),那么困難的那部分已經(jīng)過去了!有些候選人會直接進入招聘委員會,但另一些會進入團隊匹配階段。

          在此階段,你將會與潛在的主管見面,并討論你將加入那個團隊,以及你將從事什么樣的工作。

          如果哪個團隊想要你,他們會告訴你的招聘人員,然后這個團隊會被加入你的應(yīng)聘文件夾(portfolio)中,然后被提交給招聘委員會。

          招聘委員會

          招聘委員會是面試過程的最后階段。在我的理解中,委員會由幾名Google員工組成,他們會審查候選人在整個面試過程中的表現(xiàn)。

          在招聘委員會會議召開的前一兩天,審核人員會閱讀候選人的數(shù)據(jù)包,并就是否錄取候選人發(fā)表意見。在會議上,審核人員會討論他們的意見,如果所有成員都同意,那候選人就會得到offer。

          我沒有收到有關(guān)招聘委員會意見的反饋,因為我在收到之前就退出了流程,因此很遺憾,我也不清楚通過招聘委員會的概率。

          學(xué)習(xí)技巧

          對于面試,以下是一些一般性建議,這樣能確保你發(fā)揮出自己全部的才能。

          每天學(xué)一點

          盡管這樣你可能不會感覺自己每天都有巨大進步,但是每次的少量信息結(jié)合起來最終會取得驚人的結(jié)果。我喜歡James Clear撰寫的Atomic Habits一書,這本書里更加深刻地闡述了這個觀點。

          當(dāng)你每天集中精力學(xué)習(xí)一小段時間,就更不容易感到疲憊,而且這能讓你的大腦有更多時間來消化學(xué)到的東西。

          邊學(xué)邊做

          你可以學(xué)會世界上所有的技術(shù),但是如果你不把這些技術(shù)應(yīng)用到各種各樣的項目中,那么你在面試中可能很難使用它們。我建議學(xué)習(xí)一兩個技能,然后找到一個示例程序來進行應(yīng)用。

          學(xué)著去看其他人的解決方案

          你的解決方案可能好用,并且可能已經(jīng)優(yōu)化過了,但是閱讀其他人的解決方案并了解他們的想法始終是有好處的。你可能會找到一種更高性能的方式來完成一項任務(wù),但總的來說,學(xué)會閱讀代碼是一項非凡的技能,并且也是必備的。

          面試技巧

          當(dāng)現(xiàn)場面試終于到來時,下面的一些技巧可以幫助你定下心來:

          喝水

          喝點東西可以給你一個深呼吸并放松下來的契機。你的面試官們應(yīng)該會問你是否需要飲料,但如果他們沒有主動提供,你盡可以問他們要。

          澄清問題

          白板問題會故意留有一些空白,因為面試官希望看到你解決問題的能力。如果有什么問題看起來仿佛沒有講清楚,那可能它的確不清楚!寫下你所知道的東西,并推理出你不知道的東西。

          如果卡住,就先暴力解然后再優(yōu)化

          如果你完全沒有頭緒,那就先從性能較差的方案開始??梢陨院笤龠M行優(yōu)化。

          例如,如果要求你在有序的數(shù)組中搜索某數(shù)字,如果找到則返回true,那么你總是可以用一個for循環(huán)遍歷每個數(shù)組下標(biāo),如果找到就返回true。在最壞的情況下,復(fù)雜度為O(n),其中n是數(shù)組的長度,因為我們要檢查數(shù)組中的每一個元素。

          在面試中,過了一會你可能會意識到,“哦,原來數(shù)組已排好序了!我可以使用二分查找來找到該元素!”二分查找是一種出色的分治算法,它通過每次減小數(shù)組的大小來重復(fù)對目標(biāo)元素的搜索。最終這可能會比上一個解決方案性能更好。

          說出你的思考過程

          面試就是為了考察你是如何思考的,因此你必須大聲說出自己的想法!你的面試官又不懂讀心術(shù)。

          如果你在兩種解決方案之間搖擺不定,就告訴你的面試官,并解釋為什么你對兩種解決方案都持保留意見。他們也許能夠指引你選出正確的那個。

          測試你的方案

          當(dāng)你已經(jīng)有了解決方案,并已經(jīng)對其進行了優(yōu)化,那就應(yīng)該進行測試了。許多面試者會忘記測試,但測試是編程挑戰(zhàn)的一個重要組成部分。你的解決方案可能適用于75%的測試用例,但忘記了其他25%的邊緣用例。

          在面試中,測試你的方案是不可或缺的一步。

          不要依賴工具

          Google通常會讓你使用Word或純文本編輯器來編寫代碼挑戰(zhàn)問題,因此,不要依賴linters或Prettier來規(guī)范代碼格式。要學(xué)會在無法使用工具的環(huán)境中編寫代碼。

          最后的想法

          Google并不是 “一勞永逸”的終極夢想公司。你甚至可能會不喜歡在大公司工作!

          關(guān)于面試,要記住的最重要的一點就是,這是個雙向的過程。公司在面試你,同時你也在面試這家公司。

          你所擁有的技能是很有價值的,即使這家公司拒絕了你,也并不意味著你不夠出色。

          對于所有人來說,我們被拒絕的次數(shù)都要比得到offer的次數(shù)多,所以請加油,堅持下去。

          文中所有插圖都來自UnDraw,在此表示感謝!

          原文:https://dev.to/emmabostian/i-passed-the-google-technical-interviews-you-can-too-4i6m

          分享前端好文,點亮?在看?8d0a3be749df967adad6bdbce7c492cd.webp

          瀏覽 34
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天堂在线观看av 亚洲无码视频播放 | 日本一区二区三区久久久久久久久不卡免费 | 一起操在线视频 | 豆花视频在线观看一区二区 | 一道本不卡视频 |