不久前,接到一位數年沒聯絡的朋友來電,詢問我關於音樂院甄選的細節。
我詳細解釋,要過四個關卡,與交一份教學法書面論述。
收到履歷後,院長會先挑出符合應徵資格的幾十位。
*第一關像是鋼琴比賽,彈完後,選出最多五名應徵者進入下一關。
*第二關在數日之後,要現場試教二名程度不同的學生。通常一個是介在初學與中級班的程度,另一個是已彈得很好的高級班學生。
*第三關是40分鐘的教學法闡述與答辯。現場7位考官會參考先前交出的教學法論述與試教的表現,提出各式問題。
*第四關是心理學家的詰問。這位任職州政府與專管面試的心理學家,從第二關開始就全程觀察應徵者的言行舉止,並做筆記。這一關會提出根據觀察結果而精心制定的問題,在與應徵者的一答一問之間,也會不斷紀錄,用作分析,要剖析每位應徵者的心理狀態,評量他們的心理素質,與評估他們是否勝任這個職位,這個過程大概持續30分鐘。
還有一位完全不懂音樂的州政府官員,全程監督。確保過程透明公開無舞弊。
而音樂院的考官除了院長、學務主任之外,還有其他4到5位鋼琴部老師。為保意見不被壟斷,第一關演奏場的考官,與其餘三關,是二批不同的人,只有院長、學務主任與鋼琴部主任是全程在場。
此外,按照規定,一定還要有一位其他樂器部門的同事在場,避免有單一立場的存在。
徵選的結果,就是這樣一關關地在眾考官與現場人士的討論/爭執/比評/協調後,自熱火朝天百家爭鳴到終於取得一致共識,才排出過關斬將後的前三名。
在我沒漏掉任何細節地分享經驗後,電話那頭傳來訝異地驚呼:「怎麼這麼難和複雜啊!你之前去考的時候難道也是這樣嗎?」🙄
不然呢?都鉅細靡遺地把流程說得那麼清楚了,仍然覺得我能考上是走後門,輕鬆地靠另一半的威勢?(他並沒有威勢這個東西好嗎🥺)真讓我啼笑皆非。
難道,我真的是靠我的美色進去的嗎?(驚)
同時也有1部Youtube影片,追蹤數超過2萬的網紅Untyped 對啊我是工程師,也在其Youtube影片中提到,拖了三個月的軟體工程師面試SOP在此獻上!把面試當作刷題的我,把面試經驗技巧,努力濃縮再濃縮,還是有15分鐘的精華,只要五步驟,面試照著做,保證你 ace the coding interview like a PRO (most of the time). 這集會聊到... 💬 Overvie...
面試流程大剖析 在 鋼鐵 V 。 薇琪職場學 Facebook 的最讚貼文
Hi 大家好久不見,從 2020 開始因為疫情的狀態,對於這世界造成很大影響,也聽到不少朋友說今年很多 Headcount 凍結,加上 20 萬海外人才返回台灣,在於工作職缺上面相當競爭。
自己最近在 Clubhouse 上面被朋友邀請分享一些對於職涯看法,也意外聽到很多很有料分享,在想 CH 是一個說話平台,可以利用語言方式代替寫作,同一時間降低了生產成本加上之前沒有錄音的隱密性,讓更多業界大神願意上來分享。
CH 是一個很好練習說話和思考該如何問一個好問題的地方。過去我多半是一個寫文章方向來思考問題,問題卡住了可以上網找 Google,因此 CH 多了即時性的訓練; 但在 CH 是一個可以訓練如何加速思考、濃縮觀點,產出清楚脈絡產出,有這樣平台我也覺得蠻好的。
剛好之前在房裡被問過:說說你選擇工作時最重要的三個考量嗎?
我自己會用時間來區分這個問題,剛出社會時候,會偏向找到好主管、未來有發展性的且能有完善訓練、學習的環境。為什麼主管這麼重要,主管做事情方式、看事情的角度,會影響自己會來 3-5 年的發展或許更長,包括他們的核心價格也會連帶影響到自己的價值觀。
再來因為台灣教育與業界存在 gap ,持續成長學習續能是一件非常重要事情,所以也希望公司是能提供相關資源,最後有關於工作未來性,可以切分為產業或職位。
當然這可能就無法一次說盡,需要透過平日資訊收集與累積,幫助自己判別,找出自己適合且有未來願景的職缺。假設說,大家都在談 AI,但 AI 為什麼值得著迷,為什麼願景會好 ? 還有哪些產業在未來有極大的發展空間,還有哪些是夕陽產業 ?
工作 3-5 年之後,當更加了解自己之後,會著重在,團隊成員、自主性和薪水。找到好的團隊為什麼這麼重要呢?可以幫助補足我的短板,知道很多時候不能靠自己硬來!
當然在過程中有足夠自主也是相當重要,因為有了前面的累積後,開始從最初從零到一主導一件事情的改革或是發展新創意,增加自己在企業的個人資產,也因為有之前經驗的累加,所以會開始幫助企業帶來更多價值,所以薪水也會是這個時間點中重要的考量之一。
對於選擇工作在思考的三元素,會隨著時間和資歷有所改變。也希望對於大家在思考這問題時候,有不一樣的剖析。
講到面試相關內容,不得不跟大家推薦一個我自己很喜歡的看之前曾經面試過多家知名儲備幹部 Ina。最後落腳於 Shopee 電商擔任數據行銷工作,最近自己出來求職相關內容,看過 Ina 文章就知道她的內容有多精實,沒看過可以趕快補一下。
外商 P&G 面試文:http://bit.ly/3rImCGY
Ina 已經幫助超過 100 位職場人士,透過她幫助不少候選人成功進入了夢想公司,像是 Loreal, Unilever,P&G 這些外商公司。最近她出了一堂線上課程,把很多面試流程都一一理清楚,像是如何透過行銷做出職場個人品牌,幫助自己拿到更多大公司的面試機會。
當然這些外商必考題,都也收錄在這是的線上課程當中,也幫助大家精準剖析。網路上的確很多資訊,但 Ina 透過細節來跟大家分享,幫助自己做到策略性差異化,所以非常推薦給職場新鮮人、想跨領域轉換跑道的朋友。
特別是現在募資期只要半價 1190 就能彈得一份好工作,我相信這是回報很高投資。除此之外,輸入折扣碼:ironv01,輸入後即可折價 $100,期限至 3/13 23:59。
連結:https://hoost.pse.is/3brfhh
最近花更多時間在公司上面,這也大大影響撰寫文章時間,不過也是趁機找個時間做自己想做事情,我想這也是一個正常的循環,也希望有天可以再找一天空擋,把最近在公司裡面感受到的跟大家分享一篇文章,包括回到工作崗位上面等等心得。
面試流程大剖析 在 矽谷輕鬆談 Just Kidding Tech Facebook 的最佳解答
#就地避難在家鍛鍊寫作能力
軟體工程師系統設計面試準備指南
當你有了幾年的工作經驗以後,在找工作時一定會遇到系統設計的面試,有鑒於大部分的面試心得都是針對演算法以及資料結構的程式面試 (包括我之前寫的美國軟體工程師求職心得),對於系統設計的準備資源還真的不多,本篇要來剖析系統設計面試,介紹面試的流程、正確的心態以及準備的方向,讓大家再也不怕系統設計面試!
Medium 好讀版:https://medium.com/jktech/%E8%BB%9F%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E6%BA%96%E5%82%99%E6%8C%87%E5%8D%97-acf6ab1f502f?source=friends_link&sk=ca40acf60b749cb1b32c17a868b0c1a3
#為什麼系統設計很重要?
在程式面試表現優異,可以讓你順利拿到 Offer;但是系統設計會決定你加入公司的職等!這也就是為什麼有些人有十年經驗只能拿到 Mid-Level (L4) 的 Offer,而有些人只有五年經驗卻可以拿到資深工程師以上 (L5+) 的 Offer。
另外,如果你是面試 Staff 或是 Principal 級別以上的話,除了系統設計以外,有些公司還會有 Technical Leadership 的面試,來判斷你是否有能力可以跟不同的部門合作、解決問題的不確定性、帶領資淺的人然後推動並且完成一個跨部門的大型技術專案。
簡單來說,系統設計用來判斷你是 L4 或是 L5+,Technical Leadership 面試用來判斷是 L5 或是 L6+。
#為什麼系統設計很難準備?
大多數應徵者在準備的時候會過度偏重於程式面試,原因也不難理解,程式問題的定義很清楚,有給定的輸入以及預期的輸出,就算你真的想不出來,LeetCode 上的討論區也有參考答案;這種有考古題可以參考的面試,對於台灣教育出來的人來說相對好準備,隨著你解的問題多了,你也會更有信心,不知不覺甚至還會刷上癮了呢!但系統設計卻非如此。
系統設計面試的問題描述通常很模糊 (這是刻意的),沒有給定的輸入與輸出,比較沒有既定規則可以遵循,然後也沒有一個標準答案,針對不同系統你需要提出不同的解法然後分析優缺點,一樣的問題,面試官也會針對你過去經驗往不同的方向問,有些問題你工作上沒有碰過還真的回答不出來,這也就是為什麼很多人看到系統面試就怕了。
#到底要怎麼準備?
首先我們要先建立一個觀念:沒有任何一個人可以知道所有的技術細節
不管你的面試官有多少年經驗,不管他們再怎麼資深,在變化快速的軟體產業,沒有人可以知道所有事情,一定有你知道而他們沒聽過的事情!
請把系統設計當成分享你過去所學的面試,這個面試的目的在於展示你對於軟體架構能力的廣度跟深度,你必須可以給出大方向的架構,知道有哪些元件 (廣度),同時針對你熟悉的領域深入探討更多細節 (深度),並且提出幾個解決方案,分析優缺點,並且針對系統需求選擇合適的解法。
大方承認自己對某些領域的細節不熟,也是完全沒問題的,只要讓面試官了解你知道這個東西,如果要深入了解的話你知道有哪些方向要努力,這樣就夠了,因為在大型的軟體專案裡,一定是高度分工的,不會有人同時精通手機端、前端、後端、Infra 以及嵌入式或是硬體的。
講到這裡,相信你也知道如果真的要準備是準備不完的,這些知識是透過平常工作以及閱讀技術文章長期累積的成果,比較沒辦法臨時抱佛腳。
#具體來說會問什麼問題
舉例來說,一個系統設計的問題會像是這樣:如何設計 Facebook?
這類問題的描述通常會很大而且模糊,面試官不預期而且你也不可能在 45 分鐘內就設計出這些公司花了好幾年這麼多人力設計出來的產品,所以第一步要做的事情是確認需求:是要設計動態牆、Messenger、廣告系統還是推薦系統?流量跟資料量為多少?需要支援全球的使用者嗎?
確認完需求以後,會針對最重要的幾個使用場景設計你的 Data model 以及 API,接著畫出大的系統架構圖,大致上會包含客戶端 (手機版/桌面版)、Load Balancer (Reverse Proxy)、App Servers 以及資料庫,接著可以針對細節下去討論,這邊開始就很自由了。
如果你是專精在資料庫,可以討論要用什麼資料庫以及資料要怎麼存可以讓特定使用場景的讀取以及寫入效能比較好,要怎麼做資料庫的 Replication 跟 Sharding 來服務更多的使用者?
如果講到快取,哪些地方可以加快取呢 (瀏覽器前端, CDN, App Server, 資料庫)?具體來說寫入快取有哪些方式以及優缺點 (write-through, write-around, write-back)?什麼時候要失效?要讓哪些資料失效?
如果聊到微服務器架構跟 Service Mesh,不同的服務怎麼跟其他的服務溝通? control plane 要怎麼更新 data plane 的設定?如果 control plane 掛了怎麼辦?要怎麼做 service discovery? 哪一種 Load Balancing 策略比較好 (round robin, random, least connection, ring hash, or maglev)?有些服務掛了影響到整個系統怎麼辦?什麼時候需要 circuit breaker ?
如果你是手機開發者,怎麼實現離線瀏覽?手機要有資料庫嗎?要怎麼以及多常跟伺服器同步?API 要怎麼設計?如何實現 Infinite Loading?剛 Po 文以後要怎麼樣在自己手機上馬上看到?
這些問題真的列舉不完,總之看到這裡你會了解為什麼我說這個面試是沒有範圍而且也準備不完的,重點應該放在跟面試官的討論,展現你在技術方面的廣度跟深度,讓面試結束的時候能夠有一個你們兩個人都同意的設計!
#準備材料
系統設計的資源比較分散,以下是我篩選過後覺得有用的資料,按照素材的類型作分類,也歡迎大家留言補充!
#入門影片
針對完全沒有概念的新手,我建議可以先從哈佛的 CS75 Lecture 9 Scalability 開始,裡面講到的很多基礎觀念都相當重要,值得一再複習,這些概念先有了以後再閱讀其他的材料會比較有感覺:
如果你看完這篇文章後還想再多了解系統面試的形式,也可以看一個前 Facebook 工程師分享的影片:
Distributed Systems in One Lesson 也很推,裡面提到不少業界在使用的設計模式:
有一個需要付費的資源是 SystemsExpert,每個影片會講解一個系統設計重要的概念,我個人覺得內容有點淺所以沒有買,但是整理地還算不錯,如果你看完他們免費的影片有興趣還是可以參考一下。
#閱讀文章
影片是一個讓你很好理解大方向概念的方式,但是如果你要深入理解背後的原理還有怎麼運作的細節,還是得透過大量以及深度的閱讀來吸收呀!
system design primer 整理了很多系統設計的資源,資料量很夠, 個人的建議是先快速過一遍,不要細讀,先知道總共有哪些元件,大概是做什麼用的就好,接著針對有興趣的部分在深入研究,建立自己的知識庫。
Grokking the System Design Interview 也是很多人推薦的材料,主要是針對系統設計的問題提供範例解答,他們的答案可以當作一個參考,但面試的時候不要完全照著回答,還是得看跟面試官討論的結果來進行,但這個是需要付費的,有興趣可以用我的推薦碼註冊購買。
如果你不想花錢或是不確定 Grokking 的文章你喜不喜歡,有一個類似的網站 Crack the System Design Interview 整理得也還不錯。
#書籍
唸書是一個有系統性學習的方法,如果你只想選一本書來看,就選這本大家都推的系統設計聖經 — Designing Data-Intensive Applications,簡稱 DDIA,這本書適合的對象是想要長期準備系統設計或是分散式系統的人,裡面舉的例子都是實際上業界遇到的問題,不會有以前讀教科書那種工作又用不到的感覺;但也因為是書,花了一些篇幅在講解背景知識,包含以前的系統是怎麼設計的以及如何演進到現在,對短期要準備面試的人效率會有點低,所以不適合有時間壓力的人。
這本書我目前讀了一半,最大的收獲是它解釋了很多為什麼現代的系統要做這樣的設計,我們針對不同的系統要求可以有哪些解法,這些解法各有什麼優缺點,總之分散式系統就是我們解決了一個問題,但又會產生更多要考量的點,一切都是 trade-off。
但這本書也不是沒有缺點的,首先我覺得是本書的英文沒有很好讀,我常常一段看了好幾遍才知道他想表達的重點是什麼,而且,有些很重要的觀念常常藏在一段文字裡用一句話帶過,但是不太重要的觀念卻使用 Bullet Point 表達;另外這本書話常常講一半,一些觀念提到了一點卻說我們後面再聊,也因為這樣,我在考慮要不要幫大家整理每一個章節的重點,翻成中文分享給大家,有興趣的朋友麻煩拍手留言告訴我!
除此之外,Google 的 SRE Books 內容也很實在,但是每一個章節的內容是獨立的,建議大家選擇想研究的章節跳著看就好。
最後,Distributed systems for fun and profit 的內容也很好,以分散式系統的理論為主,比較沒那麼針對系統設計面試。
#還想閱讀更多嗎?
我知道光是上面的資源就已經讀不完了,但是行有餘力的話,平時也可以多看看各大公司的技術部落格或是訂閱技術週刊如 TechBridge (台灣) 、HackerNews 以及 InfoQ 等等。
此外,參考別人的經驗也是很好的方式,最近剛好幾個朋友剛找完工作,他們分享的矽谷找資深工程師工作心得分享以及2020 上半年軟工找工經驗分享也都很值得看!
最後,在工作上使用到的技術,除了會用以外,最好也要花時間去研讀技術文件,了解他們設計的考量以及支援的場景,大部分這類型針對開發者的文件寫得會比較深入,所以也是相當好的學習素材;我自己過去一年因為工作上需要整合 Envoy 到我們公司的 Traffic Infrastructure,從他們的文件中學到很多 Service Mesh 跟微服務器的重要概念,學習的深度都是其他資源無法提供的。
#總結
這篇文章我們整理了很豐富的系統設計資源,希望大家不要被這滿滿的資訊量嚇跑。
請記得,我們永遠有各種方法在短期內針對面試做準備,提升面試的表現,但這都只是一時的,沒辦法讓你一夕之間就成為專家;如果想要追求長期的持續成長,那麼沒有捷徑 — 就是養成每天學習以及閱讀的習慣,一開始真的很難看到效果,但是當你持續一週、一個月甚至是一年以後,你會明顯感受到自己的成長,這些投入的時間都是騙不了人的。
如果這篇文章對你有幫助,請拍手留言加訂閱,並且分享給更多有需要的人知道!
面試流程大剖析 在 Untyped 對啊我是工程師 Youtube 的精選貼文
拖了三個月的軟體工程師面試SOP在此獻上!把面試當作刷題的我,把面試經驗技巧,努力濃縮再濃縮,還是有15分鐘的精華,只要五步驟,面試照著做,保證你 ace the coding interview like a PRO (most of the time).
這集會聊到...
💬 Overview 💬
💙 什麼是 coding interview? 1:20
💙 面試必備 - 比履歷還重要的東西 3:44
💙 面試流程 1 - 聽問題問問題 4:15
💙 面試流程 2 - 如何分析問題 6:00
💙 面試流程 3 - 如何寫程式碼 8:45
💙 面試流程 4 - 測試程式碼 10:10
💙 面試流程 5 - 再問更多問題 12:08
💙 面試流程 0 - 寒暄問暖不囉唆 13:30
🙌🏻 面試好書推薦 🙌🏻
👍🏻 準備軟體工程師面試必備書
Cracking the Coding Interview 提升程式設計師的面試力 https://shp.ee/y7rbjqk
https://www.books.com.tw/products/0010881287
👍🏻 當畫家遇上演算法 看圖學演算法
Grokking Algorithms 白話演算法!培養程式設計的邏輯思考
https://shp.ee/k3jtmvg
👍🏻 置入生活中的演算法
Algorithms to Live By: The Computer Science of Human Decisions 決斷的演算:預測、分析與好決定的11堂邏輯課
https://shp.ee/rvvh89e
https://www.books.com.tw/products/0010761815
👍🏻 Logitech 羅技 MX Keys 無線鍵盤 https://shp.ee/ptt9wtm
👍🏻 Logitech 羅技 MX Master 3 無線藍牙滑鼠 https://shp.ee/pu9qtcc
👍🏻 Backbone 人體工學椅 https://shp.ee/fgi35c9
👍🏻 Tresanti 電動升降桌 https://shp.ee/9wmht7r
👍🏻 logitech 羅技 StreamCam https://shp.ee/fbvgbvc
👍🏻 RODE Lavalier GO 領夾式 小型麥克風 https://shp.ee/nx6w9vc
📢 📣 📢 本頻道影片內容有輸出成 podcast 📢 📣 📢
可以在各大podcast平台搜尋「Untyped 對啊我是工程師」
請大家多多支持呀!!🙏🏻💁🏻♀️
#面試SOP #工程師求職 #面試流程大剖析
一定要看到影片最後面並且在「YouTube影片下方」按讚留言訂閱分享唷!
【愛屋及烏】
YouTube 👉 https://www.youtube.com/c/Untyped對啊我是工程師
Podcast 👉 https://open.spotify.com/show/3L5GRMXmq1MRsliQt43oi2?si=3zgvfHlETeuGfp9rIvwTdw
Facebook 臉書粉專 👉 https://www.facebook.com/untyped/
Instagram 👉 https://www.instagram.com/untypedcoding/
合作邀約 👉 untypedcoding@gmail.com
-
Untyped 對啊我是工程師 - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
凱心琳: 一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的工程師。
【Disclaimer 聲明】
Some links are affiliated.
上面有些連結是回饋連結,如果你透過這些連結購買商品,我可以得到一些小獎勵,但不會影響到你購買的價格,甚至會是更低的價格!謝謝你的支持💕
面試流程大剖析 在 《代码随想录》LeetCode 刷题攻略:200道经典题目 ... - GitHub 的推薦與評價
刷题顺序:README已经将刷题顺序排好了,按照顺序一道一道刷就可以。 学习社区:一起学习打卡/面试技巧/如何选择offer/大厂内推/职场规则/简历修改/技术分享/程序 ... ... <看更多>
面試流程大剖析 在 #面試流程大剖析- YouTube 的推薦與評價
You're offline. Check your connection. Retry ... ... <看更多>