作者:
backprog (back-propagation)
2019-10-21 15:34:07## 應徵職位:
Senior C++ Software Engineer
## 背景描述:
國立理工學碩,非CS。
雖然碩論是資料科學應用、也曾做過相關工作,
但是相關人才在台灣實在是過剩、職缺過少,又非數學、統計等本科系前提下,
已經認命要離這條路越來越遠。
兩年多工作經驗,一半是 C# WinForm/WPF,其中用到 C++ 大概就半年而已。
雖然 C# 是相當好的語言,我也寫得熟了,但
一來我怕自己的工作被綁死在 Windows 上(.Net Core 還沒多少人用)、
二來可能對資料科學還有一點點期待,因此一直都有期望做 C++ 的工作。
做 C# 的工作部分為市場因素,大量的需求擺在那裡。
那我以什麼經歷來應徵這個 C++ 的職缺?
- 我在 Github 上 Star 最多的 repo 是 C++ 寫的。
- 我在 C# 的工作上也對架構有要求,OCP 與 Design Pattern 都盡可能實踐,這些也是
能用在 C++ 上的經驗。
另外我也接過案子擴充 Arduino 的驅動,只是 Arduino 的 C++ 我認為不算是正統的
C++,加上佳格好像很在乎對語言標準的熟悉度,所以也就沒提這部分。
但這卻是離我時間最近的 C++ 工作經驗,就只能給自己墊底氣、不能當談資。
## 履歷投遞與準備
我在 meet.job 上投遞的,感覺這上面虛假職缺應該比較少....吧?
投遞時已經說明「JD 最低要求 CI/CD 這部分的經驗我沒有」,
不過他們還是願意花時間跟我面試,面試通知中預告會有 coding test。
可能是心得文看太多混淆了,我一直覺得他們會考 DSP,
就趕快拿大學課本出來惡補一下 FIR、IIR,
再寫信去問清楚,他們有回說這個職位不需要 DSP 知識。
已經有點久沒碰 C++,就是複習自己寫過的程式也不夠扎實、不能足夠專注投入,
就計畫用 C++ 寫一個 IIR 來 demo 應該最能找回熟悉度、也跟他們的業務相關。
但剛換 Mac 整個開發環境都要從頭弄,光 OpenCV 的坑就搞了一天,
想到加上 visualization 大概來不及寫,還是複習過去的 code 就好了,別貪多。
(我盡量用 OpenCV 做 visualization,這樣比較跨平台)
## 面試當天
佳格似乎是向政府租辦公室,因為外面有塊牌子叫做「數位經濟產業推動辦公室」。
在 PTT 上很罩的那位 HR 果然人如帳號,落落大方,
### 技術部份
首先是一個 coding test,就是 function prototype 都有,
你只要把實作填進去的那種,他們會同步監看過程。
最後我沒完成,但不是只看結果,他們也會請我解釋思路,我就說中間想過哪些方法,
但想到什麼障礙所以否決;另外有些可行的方法太笨,所以又一直想遲遲沒下筆。
我發現自己準備方向錯了,考驗比較像是 LeetCode,
而我一直想用 side project 之類的東西練手。
我對自身專業經歷的介紹,就著重在介紹自己跟 C++ 或該職缺 JD 上相關的經驗。
他們的工程師則是會問 C++ 標準與細節的部分,映像中都是涉及層面不廣泛的問題。
這邊比較有收穫的部分是兩個:
- 我 Star 最多的 repo 他們有幫我挑出一些毛病,蠻好的,以前同事幫我 review 都沒
看出這些問題。
- 被問到 Template 我坦誠只有寫作業用過,我的認知就是型別字串替換,所以應該是
在 preprocessor 階段作用。但他們告訴我不是這樣,實際上更為複雜強大,是編譯器完
成,能夠把一些非動態的計算在編譯時期就完成。例如要產生一個99乘法表,既可以不必
手刻 lookup table、也不用在 runtime 浪費時間重複計算結果不會改變的事。
上述這兩點讓我學到不少,即使沒有得到這份工作,也不虛此行。
本來以為會問到 Multi-Thread 但沒有,可能評估我的能力沒到那裡,所以就省了吧。
### 管理部分
RD 與 HR 都有問我過去的工作經驗,問為什麼換工作、離職等。
我也會把 PTT 上對他們的各種批評問一下,不論 RD 或 HR 都還滿直接面對,
也說都有持續檢討改進,這算是令人感到正面。
唯一的隱憂是:過去到現在管理層沒有換人。
為什麼我說是隱憂?
因為要管理人員承認錯誤並改變作風,是相當困難的事。
往往管理人員會害怕自己的威信因為認錯而受損,於是錯誤越陷越深,
年資越久、地位越不穩固的人,越是如此。
短期的改善,有可能只是對輿論或市場低頭,不一定是認識到更好的管理方向。
「行為上補救認錯,但嘴巴上仍然要硬」雖不完美,但已經是我看過最優秀的主管了,
沒有之一。
以上這部分猜測不是來自佳格,是我過去觀察多位主管得到的經驗。
## 總結
面試過程約 2 小時 40 分鐘,沒有劈頭就叫人填身家資料,我沒有寫到任何一個字,
每一個環節都是與專業能力相關的考核,比較不會像大公司或傳統台廠那樣,
要測試面試者服從性。
我覺得自己會錄取嗎?不會,以下是自評原因
- coding test 沒過
- Template 部份的知識考核,讓我自覺落後團隊水準太多
- 過去沒有 macOS 應用開發經驗,不能成為即戰力
還有兩點非原因,但高度相關的已知事實:
- 以前的經驗裡,若事後會錄取的話
- 面試時就會針對我過去經歷提出有挑戰性的問題,大概「嫌貨才是買貨人」的感覺
- 小公司會在兩天內就發 offer
## 後續更新
10/25 收到感謝函
作者: t64141 (榕樹) 2019-10-21 15:48:00
推詳細分析
作者:
Mtcat (山地貓)
2019-10-21 16:13:0011
作者:
Rm (紅中)
2019-10-21 19:16:00認真給推
作者:
jennya (Jennya)
2019-10-21 19:26:00覺得原PO描述事情有條有理,最後面的分析也蠻認同的。是很完整的一篇面試心得文,推一個~
作者: ssszl (蒼月) 2019-10-21 19:53:00
推分享
我覺得隱憂那點有些偏頗了 ,鴻海幾十年可沒換過管理者而且才工作兩年,建議還要觀察,不忙下定論
作者:
loadingN (sarsaparilla)
2019-10-21 21:28:00鴻海XD
作者:
d1288999 (Davis)
2019-10-21 22:15:00管理層隱憂覺得沒必要+1,兩年經驗如果自己也沒當過管理者的話,我覺得是把管理這件事想簡單了,理論只是理論,樣本只是樣本
作者:
oneheat (等待)
2019-10-21 22:24:00兵役長官,指導教授 xddddd
軟體業當到lead需要的能力拿來跟...類比 我頭好痛
作者: hsnuyi (羊咩咩~) 2019-10-22 01:28:00
... 對方拿TMP出來是想說明啥...然後知道TMP就說有收獲... 不太算吧...
作者:
Csongs (西歌)
2019-10-22 03:35:00嫌貨才是會買的XDDD
作者:
ting8489 (Allie [33mapolkingg8: m)
2019-10-22 11:43:00感謝 backprog 的分享!另外說明一下,CI/ CD 的部分,我們只需要你理解如何運作,但不一定要有實際經驗。如果會讓人誤解,我們內部會再討論,謝謝
作者:
amyt (amyt)
2019-10-22 14:31:00你的隱憂是對的
離題推一下,資料科學的確是過剩,而且台灣缺太稀少。
作者:
gcmtw88 (前方黃昏)
2019-10-22 21:58:00資料科學過剩 那 資料工程師呢?
作者:
Ekmund (是一隻小叔)
2019-10-23 00:33:00管理層那邊想多了 換也有換的問題很多都是RD出身 設計了一些早期架構 不管是大方向思路還是by case的狀況 因為解決了 市場驗證了而上去的這種人換掉你就知道頭大特別是對軟工理解程度跟HR沒兩樣的 連來的是需求還是許願都不會分
作者:
descent (「雄辯是銀,沉默是金」)
2019-10-23 22:11:00感謝分享
作者:
LERICAL (統二布丁)
2019-10-24 20:09:00推