譯者 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
我叫 Kevin,從未做過軟件工程師或項目經(jīng)理,也沒有寫過或測試過任何一行代碼——而我技術(shù)生涯的起點,始于招聘工作。
(資料圖片)
開始招聘工作后,我進入職業(yè)指導(dǎo)和薪酬談判階段,直到現(xiàn)在的工作:為工程師創(chuàng)建內(nèi)容。與大多數(shù)工程師相比,我掌握的領(lǐng)域知識很少,但也順利通過了谷歌的系統(tǒng)設(shè)計面試。
想必很多人對此感到好奇,我可以告訴你:我之所以能通過面試,是因為在參加這次面試之前,我學(xué)習(xí)了很多關(guān)于系統(tǒng)設(shè)計面試的理論知識。通過這場面試,我還學(xué)到了一些技巧,下面我將逐一分享給你們,希望你們也能順利通過心儀公司的面試。
非程序員,如何學(xué)到很多關(guān)于系統(tǒng)設(shè)計面試的知識?
我在匿名模擬面試平臺 interviewing.io 工作,工作內(nèi)容之一是與應(yīng)聘者討論面試過程。其中,許多人都抱怨系統(tǒng)設(shè)計面試,他們不知道該如何應(yīng)對,也不知道要如何處理模棱兩可的問題。曾有一位用戶做出如下評價:
“系統(tǒng)設(shè)計面試非常可怕。如果你已經(jīng)工作了 5+ 年,那么你就應(yīng)該有出色的可擴展系統(tǒng)經(jīng)驗,可如果你沒在面試中表現(xiàn)出來,你將受到懲罰,即要么拿不到 Offer,要么薪資大打折扣。打一個比方,可能對方只是要求你抬起和移動重物,但你必須要讓一頭大象飛起來才行?!?/span>
當時,最流行的系統(tǒng)設(shè)計資源非常相似,它們都沒有很好的解決方案來處理或揭開系統(tǒng)設(shè)計面試中的神秘面紗。因此,我們團隊決定嘗試制作世界上最好的系統(tǒng)設(shè)計指南,并由我負責(zé)領(lǐng)導(dǎo)這個項目。
首先,我采訪了一些評價最高的系統(tǒng)設(shè)計面試官,然后基于采訪內(nèi)容開始編寫指南,期間我主要負責(zé)推進、傾聽、項目管理、撰寫、編輯,并不斷重復(fù)這些工作。
經(jīng)過幾個月的努力,我們終于在 2023 年 3 月 2 日出版了《高級工程師系統(tǒng)設(shè)計面試指南》。很高興的是,它在 Hacker News 上的點擊率很高,如果你在谷歌上搜索“系統(tǒng)設(shè)計面試”,第一個搜索結(jié)果也是它。
為什么我決定自己嘗試參加一次系統(tǒng)設(shè)計面試?
這份指南發(fā)布后,我見到了不少撰稿人,其中一位突然跟我說:“我打賭,你一定能通過系統(tǒng)設(shè)計面試。”除了他,另外兩個人也很認同。于是我接受了這個挑戰(zhàn),并決定不另外學(xué)習(xí),僅憑我在編寫指南時學(xué)到的知識去參加面試。
為此,我在 interviewing.io 上找到了一位來自谷歌的面試官,并預(yù)約了某周五上午的模擬系統(tǒng)設(shè)計面試。對方不知道我是誰,只知道我的工作年限是 4 年,并以為我即將去谷歌面試,所以需要提前模擬一下以作準備。
我在這場系統(tǒng)設(shè)計面試中,值得參考的精選片段
我將帶領(lǐng)大家回顧面試中的幾個片段,這些片段涵蓋了我面試中的三個關(guān)鍵方面:一個非傳統(tǒng)的想法,一件我失敗得很徹底的事情,以及一個我引以為豪的時刻。
(1)一個非常規(guī)的想法
去年,我參加了哈佛大學(xué)法學(xué)院的高級談判講習(xí)班。他們花了很多時間深入探討了談判的具體細節(jié),即談判的輸贏往往就在于最初和最后的 3 分鐘。于是在這次系統(tǒng)設(shè)計面試中,我一直牢記這一點,心想我必須迅速(最好在前 3 分鐘內(nèi))在面試官心中獲得一些認可和社交證明。
通過了解在 FAANG 面試的不成文規(guī)定,我學(xué)會了一個不那么顯而易見的社交證明方法:要在“誰更不在乎”的競爭中獲勝。也就是說,你要在面試過程中找到“我不在乎”的態(tài)度,不要在乎對方到底在不在乎你所說的話,保持你的節(jié)奏。
(2)一件我失敗得很徹底的事情
這件事簡而言之,就是我忘了可以在用戶設(shè)備上緩存數(shù)據(jù)。更重要的是,他們還問了我關(guān)于緩存的問題,但我卻耿耿于懷,我忽略了他們的追問,同時也忽略了他們的暗示。
我不知道他們追問的答案,但我也不敢說“我不知道”,我覺得如果我這么回答了,他們可能就要換人了。所以我沒有這么做,導(dǎo)致他們以為我真的知道,并繼續(xù)追問。
如果我能回到過去,我會像系統(tǒng)設(shè)計指南中所說的那樣:在你不確定但有想法的時候,直接說“不知道”:
告訴面試官:“我不知道,面試結(jié)束后我肯定會馬上查一下,但如果讓我給出最佳猜測,我會說…[x],以下是原因[解釋/思考過程]。”
(3)一個我引以為豪的時刻
我真正自豪的時刻,是在面試官說了一些嚇人的話時保持冷靜。害怕的面試者看起來就像是局外人,所以讓自己看起來像個局內(nèi)人,就要保持冷靜。
有一個常見的系統(tǒng)設(shè)計面試問題是“設(shè)計 Gmail”,這個問題有很多不同的維度,但沒有人能在面試時設(shè)計出 Gmail,這是不可能的。所以每當別人問“如何設(shè)計 Gmail”時,那就是在嚇唬你。——前谷歌工程師
面試過程中,有關(guān)規(guī)模的話題出現(xiàn)了:面試官說,這個系統(tǒng)應(yīng)該能夠支持 8 億活躍用戶。當時我的腦子里突然浮現(xiàn)出那位谷歌工程師說的話,于是我裝作很隨意的語氣,模棱兩可地回答了一句“好吧”。從用詞和表達方式來看,這個回答意味著“我不害怕這個提問”,但同時我的腦海里在瘋狂暗示自己“不要在乎對方在不在乎”,以此來保持鎮(zhèn)定自若。
面對管對這場面試的反饋
你會讓這個人晉級下一輪面試嗎?回答:會的。
我從系統(tǒng)設(shè)計面試中,學(xué)到了什么?
如果沒有堅實的基礎(chǔ),魔術(shù)就失去了魔力。你可以擁有世界上所有的技巧,但如果你不了解原理那也是白搭。話雖如此,僅僅了解原理也是不夠的,你還要管理好自己的心理。大多數(shù)人主要的心理障礙,都是對“不知道”的不適感。
與工程問題不同,有關(guān)設(shè)計問題大多都出于“不知道”。沒有最佳解決方案,進展無法量化,也沒有預(yù)先確定的結(jié)果。如果只是用模棱兩可的方式糊弄過去是不夠的,因為這些問題更多考驗的是你茁壯成長的能力,好在這個能力可以通過實踐慢慢掌握。這是一種思考、溝通和解決問題的方式,因此你所學(xué)到的技能是可以遷移的,甚至還可以從看似毫不相干的實踐中遷移。
練習(xí)說“不知道”的三種方法
這三種方式,分別是:“未知”游戲、即興表演和冥想。試試其中一種,為期 10 天,如果之后你的系統(tǒng)設(shè)計面試技巧沒有提高,那我請你喝可樂。
第一種方式:“未知”游戲
這個游戲的方法是,注意誰知道你不知道的事情,然后跟著這條線索走。對我來說,那就是藝術(shù),于是我把它提出來并到處打聽。如果有人提到了我不知道的東西,那就得一分;如果他們解釋了我不知道的事情,那就得兩分;如果你認為某人身上能得到足夠的分數(shù):那就像對待老朋友一樣對待他們,看看接下來會發(fā)生什么。
例如有一天,我和一個陌生人在咖啡館開始聊天。半小時后,我在他家看到了但丁《神圣三部曲》的原版,其中講述了地獄、煉獄和天堂的故事。這本書已經(jīng)有幾百年的歷史了,篇幅之長令人驚訝。而在這次充滿 “未知”的經(jīng)歷——即興拜訪陌生人的家之前,我甚至都沒聽說過這件極其罕見的藝術(shù)品,但我卻有幸翻開了它的書頁(而且不是在博物館里!?。?。
第二種方式:即興表演
如果你認為上面這種沒有組織的談話對你而言就像地獄,那你可能更喜歡參加即興表演,比如扮小丑。小丑分兩種:地位高的(“知道”的)和地位低的(“不知道”的)。其中地位低的小丑會做一些不合邏輯的事情,例如讓他們坐下但他們卻跳起來,某種程度上屬于破壞規(guī)則的笨蛋跟班。所以在扮演小丑時,你要告訴自己,你根本不知道發(fā)生了什么,并嘗試接受這一點。
第三種方法:冥想
如果你覺得和陌生人交談和扮小丑都很可怕,那就試試冥想吧。禪宗公案是一種特別令人費解的冥想方式,一個是,“一只手鼓掌的聲音是什么?”,另一個問題是,“在你父母出生之前,你的本來面目是什么?”整體來說,禪宗公案充滿了悖論和不連貫的問題,無法用正常理性的日常思維方式來解決,但它可以教會你如何在模棱兩可中茁壯成長,非常適合很內(nèi)向的人。
結(jié)論
要想在系統(tǒng)設(shè)計面試中取得好成績,你需要做兩件事:首先,你需要學(xué)習(xí)理論知識;其次,你需要練習(xí)說“不知道”,以便更好地處理模棱兩可的情況。
有了在模棱兩可中茁壯成長的能力,生活中就沒有什么是不可能的了。
原文鏈接:https://interviewing.io/blog/never-written-code-but-passed-google-system-design
?三天召集 2200+ 名黑客,齊向 AI “投毒”:“50 分鐘內(nèi)騙過 AI,第一名可獲英偉達高端 GPU!”
?前華為天才少年稚暉君創(chuàng)業(yè)6個月造出人形機器人,百億參數(shù)大模型加持、目標成本20萬元以內(nèi)
?字節(jié)首個大模型獨立App亮相;Nature發(fā)文:LK99不是室溫超導(dǎo)體;Debian誕生30周年 | 極客頭條
關(guān)鍵詞:
版權(quán)與免責(zé)聲明:
1 本網(wǎng)注明“來源:×××”(非商業(yè)周刊網(wǎng))的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé),本網(wǎng)不承擔此類稿件侵權(quán)行為的連帶責(zé)任。
2 在本網(wǎng)的新聞頁面或BBS上進行跟帖或發(fā)表言論者,文責(zé)自負。
3 相關(guān)信息并未經(jīng)過本網(wǎng)站證實,不對您構(gòu)成任何投資建議,據(jù)此操作,風(fēng)險自擔。
4 如涉及作品內(nèi)容、版權(quán)等其它問題,請在30日內(nèi)同本網(wǎng)聯(lián)系。