[心得] 準學士星國DevOps/SRE面試(Tiktok/Shopee
最近好多人在分享 ByteDance/Shopee 的面試文XD
我面的是比較少見的 SRE/DevOps 希望也能給大家一些參考
## 背景
- 台大資工系大三,預計於今年6月提早畢業
- 在履歷上有提到的包含:
- 三份實習經驗
- 第1份寫python自動化腳本、弄docker,
- 第2份做aws、CI/CD、kubernetes
- 第3份弄複雜的CI/CD、testing、monitor
- 四份 projects
- Go 寫的 RESTful API Server,百萬大歌星,3500行
有串 redis 做 cache、prometheus/elk 做 monitor/trace
- Vue/TypeScript 寫的前端搭配上面的後端
- Go 刻的 Vector Space Model
- Python 的 Django 框架寫的 user 認證登入的網頁
- 沒有任何競賽經驗,面試時刷了約 120 題 LeetCode,80題 medium,30題 easy
- 進大學前只有高中電腦課的程式能力
找第3份實習的經驗有 po 在 soft_job,大家有興趣可以a一下
## ByteDance/TikTok (Site Reliability Engineer)
去年 11 月底透過 PHEJ 大大的內推碼(文章代碼 #1VkIHmzP)投遞履歷
12 月初收到 Online Assessment 邀請
### Online Assessment
12/5-12/6 週末任選時段
120 分鐘 4題
1. 費氏數列 (below easy)
2. Integer Game (medium)
任何一個正整數都可以拆成另外兩個正整數相加的和,
例如 13 可以拆解成 1+12
1+1+11
3+3+7
給定一個正整數 n 求拆解後的組合相乘之最大和
思路:一維DP
3. modular (hard)
給定正整數 m, n
分別是對舊的和新的 interface 做 m 次實驗
每次實驗都會有 n 種 results 裡面的其中 1 種 result 發生
求在這 m * m (注意非 m + m) 次實驗中,
舊的和新的 interface 所產生的 results totally different 的機率
答案需要取mod 10007,
且 x / y mod z = x * y' mod z 其中 y' = y, z 的 modular inverse
例如 m=2, n=1
代表有 2 種結果(假設為 A 和 B)
各做 1 次實驗,所有可能的組合為 (A,A), (A,B), (B,A) (B,B)
totally different 的結果為 (A,B), (B,A) 機率為 2/4
2/4 mod 10007 = 5004 (使用 hint 的式子)
m=2, n=2 機率為 1/4 (AA, BB)
m=3, n=2 機率為 18/81
m, n 可能為四位數
4. 編碼 (medium+)
給定 26 個字母的編碼(均為0, 1,不為霍夫曼),例如 'e' = '0', 't' = 1, 'h' = 100給定一個01字串 sequence,與多個英文單字組成的 dictionary
求 dictionary 裡的單字可以組合成 sequence 的方法數
例如有個sequence 可以被 decode 成 helloworld
其中 dictionary 有 hell owrold hello world
因為可以寫成 hello/world 也可以寫成 hell/oworld
所以要 output 2
(sequence 可能可以被 decode 成不一樣的字母組合)
思路:DP,Top-Down 和 bottom-up 都可以過 Testcase,我最後交 bottom-up
都需要預處理,將 dictionary 的 word 轉成 0-1 sequence
除了第3題以外都有寫出來,通過 OA
### 一面 (12/18)
遠端視訊面試,中國人面試,可以用英文也可以用中文
主要把重點放在我履歷上的專案和技能
- go/gin 和 python/django 有什麼差別?
- 你 project 的 API Server 怎麼實作的,用了哪些技術?它是做什麼的?
(這裡面試官特別好奇我專案的具體目的,我本來以為不是重點而避重就輕)
- nginx/LVM/VPN Server/DNS 都被問了一次(我這些都寫在履歷上的技術欄)
DNS 問得比較細,包含 Reverse DNS 還有 DNS Record 都問得很細
- 為什麼選 Azure 而不是 aws
- 一些瑣碎的技術問題 包含
- http/https 差別
- 對稱加密/非對稱加密差別
- GET/POST/PUT 差別,並解釋 RESTful
- OSI Model: http/nginx/tcp/ip 各屬於哪一層
當天(1-2 小時後)出結果
### 二面 (12/30)
早上 7:00 面試,配合加州時區,45 分鐘
先閒聊一點點我自我介紹有提到的經歷,再來是 coding 題
- 給多個 IP Subnet mask (ex: 10.0.1.0/24) 彼此可能有重疊,
找出 minimum subnet mask set
我一開始以為是演算法題目,但面試官說時間複雜度不是首要的考量
才知道考察的是 coding 熟練度
過程可以 Google,但我沒用到
思路:先對 input sort,然後對 subnetmask bits 一樣的前後看能不能 merge
這裡提供一個技巧,可以先從輔助用的 base function 開始寫,
一方面展現 divide and conquer 的思路,另一方面多爭取時間思考要怎麼寫。
面試官最後有提到從我 implement ip2bits 和 num2bits 就知道我是常常在寫 code 的。
最後還有一點點時間就閒聊一些技術
### 三面 (12/30)
7:45 二面面完馬上接三面,45 分鐘,hiring manager
- 對方介紹他所在的 team 和工作內容
- 過我履歷的經歷(三份實習,沒有過到專案,可能因為一面把專案內容都問完了)
問實作的技術細節
- 打算從這份工作裡學到什麼東西,或特別不想要做什麼
隔天下午寄 intent to hire letter,
再半個月後寄正式 offer letter 並與 HR 電話談 offer 細節
---
## Shopee (TechOps)
12 月下旬填 Google 表單,月底收到 OA 邀請
### OA
60分鐘 共 26 題測驗題,包含 1 題非常簡單的 python 字串處理
測驗題有英文和簡中翻譯,但我個人對題目品質不是很滿意
很多問題並沒有定義清楚,OA 網站的體驗也滿糟的
大概四天後通知零面
### 零面(1/15)
HR 電訪,聊工作內容、流程、新加坡的生活等等
p.s. 新加坡蝦皮在招募表單就寫他們年薪 200萬台幣以上了
### 一面(1/21)
HR 會寄信提醒面試的重點,
包含演算法題目、Networking(TCP/UDP handshakes、HTTP/HTTPS)
Databases 和 OS 等等
不得不說面試內容滿吻合的,但慚愧我這時候已經徹底放寒假了XD
遠端視訊面試,共 90 分鐘
- 輸入 URL 導到某個網站,背後的整個機制
- TCP/IP 為什麼要三次握手/四次揮手
- process/thread/goroutine 差別、優缺點
- process 怎麼溝通
- thread-safety 問題
- Read-Write Lock 機制
- 高頻 read 低頻 write 的情境怎麼不上鎖來解決 thread-safety
- Disk/CPU 滿了的機器要怎麼檢測和 debug
- keep-alive 的運作機制
- TCP 如何保證封包不被中間人竄改
- 用 goroutine 來做哪些 project?
另外出了一題程式題是中序計算機 (只有+*)
## 心得
ByteDance 整體的面試體驗滿好的,
面試官之間的溝通也滿不錯的,不會一個問題重複問好幾次
不過面試過程好像有點過於簡單,像 kubernetes 我以為會問得很深
但只有問到用過哪些元件而已;對面試者的經歷和專案倒是問得非常深,
不僅是實作的技術細節,過程中的取捨和專案的目的都問得很細
以 SRE/DevOps 的工作內容而言,個人也比較認同這樣的面試方向就是了
個人雖不喜中國公司,但台灣很難找到流量堪比 TikTok 的公司,
另一方面也想出國看看,所以最後就選 ByteDance 了
--
推個
感謝分享
推個..我也想要成為SRE! 感謝分享
感覺最近的資工本科分享文都超強
準學士...看完覺得我是廢物QQ
恭喜!!! 歡迎加入Bytedance
再次感謝P大的資訊和內推碼~
推
推!但沒想到你要提早畢業了 OAO
這個之後可能會在臉書發文解釋XD
推
想問是高中就在學了嗎?
不是欸,跟樓下的問題一起解釋
好強啊
現在是大家都進字節了嗎
寫程式資歷只有大約三年的意思嗎
大概兩年半左右,實際上是某年暑假自學C到指標, 但之後就再也沒碰,對linux或terminal也完全沒概念 就是從程式麻瓜到三分鐘熱度的程度XD 之後也許會寫一篇SRE角度的學習之路,如果大家有興趣的話
唉 大師
太強了..
現在是強者都去抖音了嗎......
恭喜
推強者
謝謝分享
真強者
推
好強啊
真大神
小弟看我們shopee的sre同事,那個肝應該都是鐵打的XD
推
感謝分享
真高手,太厲害了
大神 明明同屆啊我在幹嘛..
有人有經驗到新加坡工作,如果有老婆小孩怎麼處理嗎
?
恭喜。 最近好多Singapore軟體分享哦
新加坡軟工基本上都拿EP 老婆小孩可以拿DP 可以工作
用心推
推
朋友幫推啦
帶我飛
58
[心得] 日本轉職面試 bytedance/paypay/amazon背景: 小弟是交大電資2018畢業,畢業直接到了日本小公司寫Java 在學時有網路管理,與在新創公司做Ruby on Rails 半年後到Google做GCP的Technical Support (TSE) 今年滿兩年多,決定還是要回去找寫Code的工作。37
[心得] 數學&統計新鮮人面試分享版上很少看到數學、統計背景的心得文,因此決定把我的經驗分享給以後的學弟妹。準備 找工作時我在這個版上獲得許多資訊,這篇心得文也算是回饋給大家。 背景: 112數學學士、應數所統計組碩士,碩士論文有關統計的方法論,用到滿多迴歸分析和提 出新的模型選擇準則。沒認真學過程式,leetcode打開連class是什麼都不知道,沒一個37
[心得] 2021 & 2022 實習面試心得背景 112 電機所CS組碩一 學士非本科,拿過一次書卷 Lab 做深度學習相關的 2021 實習33
[心得] 新鮮人面試心得(ByteDance/Qualcomm)前言: 鑒於最近蠻多人分享新加坡ByteDance面試錄取的心得,我也一起分享我的經驗(可惜是失 敗的例子xd),不過同時間有拿台灣Qualcomm的offer,於是就合併打出了這篇。 Medium: 時空背景33
新加坡 Shopee/Bytedance MLE 面試心得最近蠻多 Shopee/Bytedance 的面試心得 但沒有 MLE 相關的,來分享一下 MLE 是 Machine Learning Engineer 縮寫,除了要會 ML 外也要會 software engineer shopee 是找內部朋友內推,bytedance 是透過 PHEJ 大大的內推 ## 背景28
[心得] 台灣軟體實習面試分享(Google/AWS/Intel/Medium好讀完整版: 2020年面試經驗分享,主要是找軟體相關的實習職缺。 前言 因為在美國念春季班MS,第一年不能在美國實習,本打算投遍全世界的公司來一趟環遊世22
[心得] 2022 後端面試心得# 2022 後端面試心得 背景: 3yoe,做了兩年豬屎屋後受不了工作型態轉職Backend,目前約一年後端經驗 無奈薪水太低加上今年上半年各種外商擴招就開始面試,目標是出國或外商remote缺,主要 以golang工作為主20
[心得] Foodpanda / ShopbackPart 3 這應該是我最後一篇面試文 希望對這兩家公司有興趣的人有幫助 FoodPanda - Backend Engineer 面試全部都是"英文"19
[心得] 蘇州微軟ML缺面試心得最近板上出現許多的國外大廠面試經驗,趁著這波也來分享一下自己去年面試微軟蘇州過 程,另外現在在的這個組也在持續擴招~ - 面試時間: 2020/9 - 背景 112 學碩(非CSIE),在校成績一般,碩論做NLP領域中的MRC相關的題目,2019畢業12
[心得] 2022 預聘研替面試心得(MTK/Synology)職缺只投我想去的公司所以我只面了兩家 背景: 大學非本科系,112電類碩 1.MTK 職位:軟韌體工程師