梅竹黑客松 後,有幸受到評審詢問要不要到他們公司實習,回答好之後就收到面試邀請。

線上一面

面試職位如下:

  • 職位:Machine Learning Engineer Intern
  • 內容:
    • Build industry-oriented software on the GPU cluster.
    • Identify runtime bottlenecks and optimize the runtime through parallel and GPU programming.
    • Implement morphological operation via CUDA programming.
  • 技能:
    • Proficient in Python or C++
    • Proficient in PyTorch or similar frameworks such as TensorFlow
    • M.S., or B.S. degree in Computer Science or a related field
    • Familiarity with parallel programming(MPI, OpenMP) and GPU programming(CUDA) is a plus.
    • Experience in developing large-scale industry-oriented software is a plus.

簡而言之就是要會平行計算,透過平行計算加速 morphological operation。

雖然我會 MPI, OpenMP, CUDA 這些 parallel computing 的 library,但其實對 morphological 或者 pytoch 等等完全不熟,所以我花了大概 2 周的時間在學習 torch,基本上是用 torch build 了一個簡單的 GPT,然後 train 起來看看,熟悉一下 torch。

但其實現在已經開始工作後回來看,發現當時準備方向錯了哈哈哈,應該要先學 CV 等等的圖像處理,LLM 反而沒有用到,但 torch 確實是用很多,所以也不算方向全錯。

另外我也啃了一下 CUDA 的 document,但不完全是為了面試,也有因為準備課程的緣故。

一面是線上的,主管進會議室後跟我說等他個 15 mins。開始面試後他就叫我自我介紹個 10 分鐘,我心想烙賽,我都在準備技術,忘記準備自我介紹了,我就趁著打開履歷的時間想了一下,之後就照著履歷講,還有說一下最近寫過的平行計算的 project,還有前陣子用 torch build 了一個簡單的 GPT。

介紹完後主管問我寫了什麼平行計算的 project,我就講了一下題目,結果他也寫過,我才知道原來他也是工程師,而且很厲害的那種。

他又問我有沒有修過周志遠老師的平行程式,我剛好正在修,也就順便說我就是他的專題生,跟未來的碩士生,結果他聽到後好像就萬事 ok 了。

???笑死我都還沒進到實驗室欸就開始享受實驗室名聲的福利了嗎。

總之就大概這樣,準備了很多技術,但都沒被問到,沒有準備自我介紹所以講很爛,結果他聽到我是周志遠老師的學生好像就被錄取了。

後面就簡單聊天了一下,還有確認入職時間,一面就這樣結束。

實體二面

一面後過了非常非常久,HR 才聯絡我,那幾個禮拜其實我都在想是不是講太爛,他們沒有要收了笑死,結果二面的通知就來了。

二面是實體,要到台北辦公室,我大概 8 點多出門搭車,差不多時間剛好到,結果面試我的就是梅竹黑客松的評審本人哈哈哈。

面試過程滿輕鬆的,但我因為上次講太爛,這次還有特別準備簡報,想說來扳回一城,結果二面好像只是帶我看看環境,笑死。

二面過程是純聊天,就跟評審亂聊,再次確認 on board 時間後就結束了。

Offer get

二面過後又過了非常久,甚至說好 12/23 上工,我 12/16 都還沒收到回覆,某天下午就突然接到電話,再次確認我 12/23 可不可以後,就掛斷,再來就是 12/20 禮拜五的下午 16. 多,才寄報到通知給我,然後因為太趕,所以 HR 打電話跟我確認資訊。

總而言之呢,是一個很奇妙的經驗,原本就有打算找實習,但沒想到是這樣的形式,而且內容還是我很有興趣的平行計算。

面試過程滿好笑的,我覺得我表現很爛,結果實驗室紅利吃滿,直接就錄取了。

最後 on board 確認的環節很躁,剩不到一個禮拜就要上工,結果都還沒聯絡我,我每封信都在 30 mins 內回,結果還是要拖到最後甚至要打電話跟我確認資訊。

不過很開心,找到一個有興趣的實習,而且待遇也不錯,之後再來分享實習的心得。