国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

一位軟件工程師面試Facebook的真實經歷

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-10-25 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我剛剛在硅谷的科技公司完成了 7 次現場面試,我收到了來自 Facebook 的軟件工程師的職位 Offer。下面分享一下我是怎么為面試做準備的,以及我在這個過程中學到的東西。

(一)為了能到硅谷工作,我已準備多年

當我還在澳大利亞的大學學習計算機科學的時候,我總是想象著未來能成為硅谷的一名軟件工程師。我希望自己未來能夠到科技行業的創新中心硅谷去工作。這個目標讓我充滿了動力,它也讓我能夠更加專注地準備面試。

為了更好地學習,我辭去了在墨爾本一家非常棒的公司的首席 iOS 工程師的工作,然后回到了我的家鄉城市珀斯。在珀斯,我開始為硅谷公司的面試做準備。我知道面試準備將是非常困難和艱巨的一項任務。

如果你告訴一群軟件工程師技術面試的流程,其中的很多工程師都會對常見的面試方法持反對意見。很多爭論來自于這樣一個觀點:即在白板上解決算法問題實際上并無法實際代表軟件工程師是否能在實際工作中完成日常任務。

我在這篇文章中不會去討論這個話題。相反,我將從應聘者的角度來探討不同類型的面試實踐。同時,我還會分享我自己在面試過程中學到的東西。

(二)面試是一種技能

在我準備的面試的過程中,我始終知道面試是非常具有挑戰性的。但是直到我被第一次面試折磨之后,我才知道面試是那么困難。

在面試前,我曾使用過一些付費和免費服務,這些服務可以讓那些擁有行業經驗的人通過電話對應聘者進行代碼和白板模擬面試。這種面試模擬練習對我應對真實面試中所面對的壓力是非常有幫助的。但是后來我逐漸發現,模擬面試練習只相當于真實面試內容的很小一部分。

我的建議是,在你沒有積累一些模擬或實戰面試經驗之前,不要面試你夢寐以求的工作崗位。面試中緊張的情緒會讓你難以承受,只有通過不斷練習才能克服這種緊張的情緒。

和生活中的其他很多事情一樣,不斷練習可以增強你的自信。

(三)我經歷的幾種不同類型的面試

如果你在最開始的電話面試中表現得足夠好,你就有機會參加現場面試,面試可能會持續整整幾天的時間。每次面試通常會持續 4 到 6 個小時,具體時間取決于你所面試的公司。

在我自己在硅谷面試的過程中,我總共進行了 7 次現場面試,這讓我對目前的面試現狀有了一個獨特的看待視角。

通常情況下,現場面試會覆蓋三個主要面試主題:算法、架構設計和行為,這些正是我專門研究和精心準備過的面試內容。然而,也有一些公司似乎不按常理出牌,他們會擴大的面試內容范圍,以考察應聘者的更多實用技能。

下面分享一下我經歷過的幾種面試類型:

(1)算法面試

這是最常見的面試類型。面試官會要求你在白板上解決一個問題,并據此來評估你對數據結構、排序算法、遞歸、時間/空間復雜度分析、模式和極端案例識別等方面知識的掌握情況。在這樣的面試中,你通常會提出一個蠻力的解決方案,然后試著改進這個解決方案,并且討論權衡不同的解決方案。

這類面試是我準備最充分的面試類型,因為連續 6 周時間,我每一天都會練習在一個廉價的懸掛白板上解決算法問題,分析它們的時間/空間的復雜性,真正理解所寫的每一行代碼帶來的結果。

就我個人而言,我非常喜歡白板算法,因為我不需要擔心編寫可編譯的語法,這讓我能夠專注于解決手頭要解決的問題。其他人可能不喜歡在白板上進行算法面試,對于這些人,我要說的是,如果能堅持練習,這可能會改變他們的想法。

(2)架構設計面試

這是一種非常有趣的面試類型,也是被我嚴重低估的一種面試。面試官會要求你在白板上設計一個系統,比如停車場的售票系統、聊天通訊系統、推特信息流系統以及其他常見的系統。

通過這類面試,面試官考察的是,在你拿到一個寬泛的概念之后,你如何設計一個能夠滿足所有需求和限制性條件的系統。在這個過程中,需要應聘者提出正確的問題,因為這些問題將會定義需求和限制性條件。這類面試過程更多的是一種對話,你需要在這個過程中畫一些圖表,甚至是階級結構。所有這些都是一種高層次的交流,所以你不需要編寫任何實際的代碼。

當然,你應該對交流內容進行引導,從而能讓面試官了解你在系統工作方式方面的知識。如果你是一名后端工程師,你無需探討客戶端應用程序機制的細節,除非你之前在那個領域積累過一定的專業技能和知識。我是一名 iOS 工程師,所以我在這類面試中會主要談到架構模式、功能的模塊化、設計模式,而不是談論如何擴展 API 端點之類的內容。

(3)行為面試

面試官會問你一些關于你自己的問題以及你如何處理一些特定的情況。準備這類面試并沒有準備其它幾類面試那么難,但是它需要你自己做很多自我反省。

通常會問到的問題包括:

你是如何對待失敗的?

你認為你自己最大的弱點是什么?

你如何解決沖突?

如果有機會可以重來,你現在的做法會與以前的有何不同呢?

我覺得很難把這類面試搞砸,但我發現很多人確實在這類面試中出了問題。他們試圖把自己的強項偽裝成弱點,他們回答問題時只說那些他們認為面試官會想要聽到的答案,甚至把失敗項目的責任轉嫁到別人身上。類似下面這樣:

“我的弱點就是我太專注了。”

“這個項目失敗主要怪 Jerry,他把這個項目中的大部分工作都搞砸了。”

要知道,這些面試官都是經過嚴格訓練過的專業人士,他們能輕易辨別那些不稱職的人,并且對應聘者所說的廢話謊言非常敏感。他們能快速將那些不合格的候選人 Pass 掉。在面試過程中,要真誠,不要耍小聰明,要表現出對你的工作的熱情,承認你的缺點,并表現出有改進缺點的主動性和強烈意愿,只有這樣,你才能得到面試官的青睞。

(4)文化匹配性

這通常是與行為面試結合在一起考察的,這主要考察你是否符合公司的價值觀。例如,Facebook 鼓勵黑客似的文化,鼓勵員工大膽嘗試新想法,并通過試驗對想法進行測試,而不是害怕打破陳規,也就是所謂的“Move fast and break things”。Airbnb 希望創造一個讓人們在任何地方都能找到歸屬感的世界,所以他們通常會尋找那些具有良好好客技能的人才。

很多大型科技公司都非常重視企業文化,并根據應聘者是否符合公司價值觀來決定是否錄用他們。如果你在這樣的一家公司里面試,你需要想辦法了解這家公司的價值觀,并找到你自己那些與公司文化相契合的過往經歷,并向面試官展示出這一點,這一點非常重要。

(5)結對編程

一種非常有趣的面試類型是,讓你和另外一位工程師在一個設置好的編程環境中結對編程,這和實際工作場景非常類似。你會被分配一個基本的任務,任務中列出了你必須完成的一系列需求列表。在你完成每一個任務后,面試官會要求你實施更多的功能,直到到了規定的時間為止。在這個過程中,你可以自由使用你想使用的任何資源,如 Stack Overflow 或在線文檔。

我發現,在這樣的面試中,很多候選人能否通過考察主要依賴于他們真實世界的開發經驗。與白板面試不同,在這類面試中需要你寫出語法正確的代碼,因此你應該徹底了解你的編程語言和環境,因為你肯定不希望在編程面試過程中花太多時間去在網上或文檔里搜索答案。

在我之前的工作中,在我在做一項任務時,我會寫干凈的代碼,然后等我覺得任務完成之后再進行優化。這種工作方式對這種類型的面試是不利的。

(6)發現并修復 Bug

作為工程師,我們所做的很多工作都是圍繞著找到和修復那些我們從不同渠道搜集到的 bug。在這類面試中,你會得到一個需要你去找到和修復的 bug 列表,在這個過程中,你還需要識別其他可能存在問題的代碼。

我自己只經歷過一次這樣的面試,我覺得這類面試真的很難讓人做好準備,特別對那些經驗所有欠缺的初級工程師更是如此。每個編碼環境都有各自的小怪癖和細微差別,我所做的很多 bug 修復工作都來自于以前的 IDE(集成開發環境)的經驗以及我在過去多年時間里積累的相關框架。

(7)考察專業領域知識

在我們今天看到的大多數通用語言中,編程基本上是相同的。如果你知道一種編程語言的面向對象編程,那么這些技能多半能夠轉移到另一種編程語言里。但是,這類面試的考察技是不能在語言或框架之間相互轉換的。面試官將會在特定的環境下考察你在有關 API、內存管理、功能和局限等專業領域知識的掌握情況。

對于這類主題的面試,練習是很具挑戰性的。和上文中說過的發現并修復 bug 面試類似,我覺得這類面試問題的答案大都來自于過往的經驗。根據你所申請的職位的級別的不同,面試官評估你的答案的標準會有所不同。例如,如果你申請的是一個初級職位,不知道為什么一個 API 的結構是特定的,那么面試官會在這方面做出讓步,不會對你要求太高。然而,如果你申請的是一個高級職位,面試官對你的要求會更高,這時如果你不知道這個問題的答案的話,這就會給面試官留下非常不好的印象。

(8)對操作系統的了解

根據你所應聘的職位或團隊的不同,你可能會有一個專門的操作系統方面的面試。在這個面試中,你會被問到一些問題,面試官通過這些問題對你對計算機操作系統機制的理解進行評估。說實話,這個面試有點讓我措手不及。操作系統是我早年在大學里學過的東西,但是后來慢慢都淡忘了。

(四)你該如何準備?

正如我在上文中說的那樣,面試本身其實就是一種技能。即使你在日常工作中已經是一名優秀的程序員,或者在你在學校的成績非常優異,但是在面試會議室里,你的這些技能并不能按1:1 的比例方式轉化為面試技能。堅持、重復地做面試準備和練習將在很大程度上決定你的面試結果。

(1)至少需要掌握這些知識

如果有人問我,我覺得應該關注哪些方面,我建議以下幾點:

首先學習在紙上和白板上手寫代碼,然后把它放到一個 IDE(集成開發環境)中,以便語法高亮顯示,這應該成為你的第二天性。

對數據結構要有深入的了解,包括他們的長處和弱點。

完全理解大O符號的時間和空間復雜性,這將與你的算法和排序問題完美地配對。

掌握所有主要的排序算法,因為時間和空間的復雜性有可能破壞你想要解決的算法的最佳解決方案。

(2)何時開始

根據你自己的時間表,越早開始越好。我面試過的很多公司都有一個 12 個月的冷卻期,面試未通過的應聘者需要等到 12 個月后才能重新申請公司的職位。反過來說,如果你知道你無法在一年時間內準備好這個面試,,你不妨現在開始這個面試流程,大概感受一下面試流程具體是怎樣的,到時真正面試的時候就不會那么害怕了。

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

    關注

    3

    文章

    1432

    瀏覽量

    58905
  • 軟件工程師
    +關注

    關注

    8

    文章

    243

    瀏覽量

    21641
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    什么是BSP工程師

    、嵌入式系統 要明白什么是嵌入式軟件工程師,我們先從嵌入式系統(嵌入式設備)說起。維基百科上對嵌入式系統的定義如下: 嵌入式系統(Embedded System),是種嵌入機械或電氣系統內部
    發表于 01-13 06:54

    工程師變身AI“指揮者”,吉利與阿里云的軟件開發變革實驗

    1975年,IBM工程師Fred Brooks在《人月神話》中提出軟件工程的核心難題:隨著系統規模和團隊規模增長,復雜度會呈指數級上升。他的結論是, 軟件工程“沒有銀彈”,沒有單技術
    的頭像 發表于 11-13 10:43 ?380次閱讀
    <b class='flag-5'>工程師</b>變身AI“指揮者”,吉利與阿里云的<b class='flag-5'>軟件</b>開發變革實驗

    硬件工程師面試必會:10個核心考點#硬件設計 #硬件工程師 #電路設計 #電路設計

    硬件工程師
    安泰小課堂
    發布于 :2025年09月23日 18:00:33

    電子發燒友工程師看!電子領域評職稱,技術之路更扎實

    。比如一位電源工程師,評職稱前主要做基礎電源調試;評上 “高級電源工程師” 后,受邀參與電子發燒友 “電源技術研討會” 做分享,還接到廠商委托的高功率密度電源開發項目,項目成果被平臺推薦為 “年度技術
    發表于 08-20 13:53

    【華秋DFM】V4.6正式上線:工程師的PCB設計“好搭子”來了!

    軟件,更 是每一位工程師背后的“隱形助手” 。從設計之初的風險排查,到制造階段的成本控制,再到裝配環節的細節優化,我們始終致力于為工程師
    發表于 05-22 16:07

    硬件工程師面試/筆試經典 100 題

    分享些常見的硬件工程師面試/筆試題。公眾號后臺回復關鍵字:100題,可獲取完整的PDF。--END--免責聲明:本文轉自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯系,謝謝!加入粉絲
    的頭像 發表于 04-30 19:34 ?1446次閱讀
    硬件<b class='flag-5'>工程師</b><b class='flag-5'>面試</b>/筆試經典 100 題

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發布于 :2025年04月25日 17:15:37

    從“設計到生產”的蛻變:華秋DFM如何讓工程師們“輕松上陣”?

    “先設計后算賬”的模式,也讓很多工程師陷入被動。 那么,華秋DFM軟件的計價工具,定是各位工程師的福音,因為只要 通過設計文件 ,軟件就能
    發表于 04-16 15:57

    工程師經驗分享:社區之星 趙云 沉著穩定才能做好技術

    控制算法理論和實踐有過推導和大量的研發調試經驗。 ? 工作經歷: 華為技術有限公司---芯片驗證工程師 上海問問網絡科技有限公司---電機驅動軟件工程師 ? ? ? 社區訪談: 社區小助手:可以分享
    的頭像 發表于 04-15 15:58 ?1309次閱讀
    <b class='flag-5'>工程師</b>經驗分享:社區之星  趙云 沉著穩定才能做好技術

    如何成為名嵌入式軟件工程師

    如何成為名嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負責開發運行在特定硬件平臺上的軟件,這些軟件通常與硬件緊密集
    發表于 04-15 14:37

    長沙怎么這么難招硬件工程師

    長沙好難招硬件工程師呀,大部分面試的只有課程設計經驗,沒有額外學習硬件或者動手做東西,招聘也太難了。有實力的請聯系 pengyushi@haominoe.com*附件:HAOMIN 招聘啟事-初級硬件工程師.pdf
    發表于 04-10 15:44

    招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    一位老電子工程師的十年職場感悟

    這里主要以個人經歷談談電子工程師技術生涯可能面臨的困惑、關心的問題以及對未來的期待。Chrent新手感興趣的問題1、電子工程師矛盾心態——電子新手新沒事做,沒人教,工作沒有技術含量?電子新手往往
    的頭像 發表于 03-19 17:32 ?889次閱讀
    <b class='flag-5'>一位</b>老電子<b class='flag-5'>工程師</b>的十年職場感悟