Nic Lin's Blog

喜歡在地上滾的工程師

我的中高階 Rails 工作面試心得分享

前言

這篇文章的面試時間 2018 年 10 月至 2018 年 12 月

在此之前還有我的成長記錄,前面兩次的面試經驗,依序排列從新鮮人,到有點經驗。

我的履歷撰寫教學

目標

我的主要經驗為 3 年左右的 Rails 開發,經驗比較多屬於面向產品的開發工程師,技能樹經驗也有寫過少許的前端框架 Vue / React,這次找工作的目標希望能夠更精進自己的技術,並且發展出不同的技能樹,也希望有機會的話能夠為未來英文職場環境作準備。

主要目標:

  • 新創氛圍(扁平化管理)
  • 有機會能夠學習英文(有國外同事佳)
  • 能夠有帶人成為 leader 的可能
  • 可以讓我發展除了 Rails 以外,例如 前端或 Devops

投遞職位範圍:

需求經驗鎖定在中高階

  • Backend Developer
  • Ruby on Rails Deveopler
  • DevOps
  • Vue / React Frontend Developer

索引

標記 [英],代表面試過程中有英文口說測試 標記 [測],代表面試前會有作業,不包含面試中的測驗或白板題,僅表示會有作業在面試之前

職位都是網站上所敘述的職位,這裡順手記錄一下(打 cache)

  1. Meet.jobs(原 mit.jobs)(Rails Developer)
  2. [測] 貝殼放大 (Backend Developer)
  3. Shopline (Sr. Rails Developer)
  4. 泰樂科技 (Sr. Rails Developer)
  5. 順立智慧 (Rails Developer)
  6. Cofit (後端工程師 Ruby on Rails)
  7. [英] PicCollage (Server Developer (Rails))
  8. [測] Dcard (Full Stack Developer)
  9. [測] KKTIX (Senior Backend Engineer)
  10. [測] Ikala 愛卡拉 (原 livehouse.in) (Sr. Frontend Developer)
  11. [測] Incubit (Senior Web Developer (Rails))
  12. [英] Snapask (Rails Developer)
  13. AmazingTalker (Senior backend developer)
  14. MaiCoin(軟體工程師)

有實作的作業會放在我的 Github 上,在這篇文章搜尋「面試題目 Repo」會比較快找到。

附錄:問以及被問

評分

本文中個人對公司的面試友好度及工作環境評分

以下給分基準為滿分 10 分,依照個人觀感給予,所以對讀者來講不見得是中立且客觀的分數,因為僅憑我個人的「感覺」,分數的用意僅供參考。

面試友好度我個人的標準是有互相學習到的感覺且不是那種上對下而是很像朋友之間聊天,所以在本文章,超過或等於 8 分以上都是我認為非常推薦的公司。

工作環境大概就是我認為要寬敞一點,椅子看起來好坐的感覺,參觀環境時其他工作中的工程師看起來沒有太痛苦就算不錯XDD

Meet.jobs(原 mit.jobs)

  • 面試友好度: 9
  • 工作環境: 6

因緣際會看到 ihower 的文章有在找 Rails deveoper,很幸運的被邀約面試,那時候我剛從上一份工作離開,連履歷都還沒準備好,就因為推薦而有機會進行面試。

第一次面試

Part 1: 創辦人 + 團隊同事聊天(創辦人部分佔了 80% 大概講了兩小時在講公司的商業模式和規劃,基本上我沒有太多發言的時間,主要是瞭解公司運作機制及未來規劃)

Phone interview

Part 2: 和創辦人之一的創辦人老婆 Phone Interview,主要聊職涯規劃,由於那時候還沒有下定心思認真找工作,導致職涯規劃因沒想法被駁回,並給我機會,讓我準備好在聊第二次。

後來還有聊第二次,那時候聊得很愉快,也因為透過這個面試對自己的職涯規劃有更清楚的認識,在這裡非常感謝老闆娘 Lily

第三次面試

Part 3: 與技術顧問面試,主要過程會是問開發經驗,和一些我履歷上面寫的事跡,並且討論一些想法,一些 refactor 的技巧好壞,大致上碰過的開發流程是什麼,聊完最後是被認同,技術顧問丟了一句話給創辦人:「這個人我覺得可以,我先去開會了」。

第四次面試

Part 4: 和創辦人談薪水

談薪水之後就是希望給個期限回應,薪水部分我個人認為很有誠意也很滿意,但考量許久,因為個人希望加入規模大一些的團隊,於是很抱歉的婉拒了。

Offer 結果

Get


貝殼放大

  • 面試友好度:8
  • 工作環境: 8

算是內推的,之前全棧營的台灣學生在這裡工作,剛好有對外招人的機會,於是就去面試了。

第一次面試

碰到 PM + 資深前端,先是問了自我介紹以外,比較多時間在聊公司的方向或是規劃,還有目前遇到的瓶頸如果是我會怎麼解決,我給了一些想法去討論,感覺滿不錯的。

聊了一陣子之後 HR 也加入了, HR 的問題都相對犀利很多,而且在回問很多問題上也不太正面回應(這很正常,可能是怕我來探機密的)。

犀利的部分大概就是

  • 你說之前來投過貝殼放大,那現在吸引你來的原因是什麼?為什麼會再次投遞呢?
  • 你說找公司的條件多半新創都可以符合,那為什麼會選擇我們?

不太正面是指,我問了一個問題

  • 我的加入之後,有可能發展成為 leader 的彈性嗎?

大致上的回覆就是,先磨合啊,這跟談戀愛一樣,不會一開始就說結婚什麼的,先過試用期之後再說。

不過這部分我也檢討自己這個問題可能太白癡了,畢竟人家也不會給你一個肯定的答案啊,所以算是我自己犯蠢XD

由於當天我沒有攜帶電腦,有一項上機考沒有考到,所以這次面試後還寄信給我希望我完成一個作業。

請參考 面試題目 Repo

第二次面試

二面的時候直接跟創辦人林大涵聊天,主要也是問一些做事的處理方式,比較有印象的是,提問說通常追求技術都會喜歡有大神的 team , 但他們目前重組,所以沒有,為何吸引你來?

獲得比較正面的說詞是認為我 26 歲有帶人的經驗算是很不錯的。

Offer 結果

感謝函


Shopline

  • 面試友好度:5
  • 工作環境: 8

到公司和兩個香港人面試,用 zoom 會議,中間會有考題現場寫 code 給他們,寫完也沒有直接給任何意見什麼的,就繼續問問題了。

在過程中和 HR 聯繫,感覺上都是要回不回的,回信問他有沒有收到信件,就說最近搬辦公室很忙所以很慢回,覺得一直找藉口什麼的感覺很差。

離開辦公室時說一定會回覆結果,也沒有。

Offer 結果

無聲卡


泰樂科技

  • 面試友好度:9
  • 工作環境: 8

第一次面試

一開始是和 HR 在會議室聊天,大概也是都先挖掘個人特質吧,聊一下近況之類的,算是很輕鬆。

後來拿了一份考卷進來讓我寫,大概五個題目,一些基本的題目也包含設計跟架構

寫完之後 RD team lead 會進來和你檢討這些題目和答案,過程聊的滿愉快,有種很棒的交流感覺,他會和你聊你不知道的,我也分享一些比較特殊的經驗給他,最後還問說有沒有要給這個面試 feedback 的,就和他說了一下建議,感覺這個面試同時讓彼此成長,那種感覺很令我印象深刻。

面試過程中被肯定的部分是,有寫技術部落格非常加分,他面試我之前有去看我的部落格,讓我覺得這一整個面試都是舒服且難忘的。

後來因為覺得這個面試官非常令我印象深刻,猶豫很久要不要去當他的下屬,但是礙於和自己的規劃上應該還有更吻合的公司,於是就選擇婉拒了。

Offer 結果

Get


順立智慧

  • 面試友好度:7
  • 工作環境: 7

第一次面試

一開始應該是 RD lead 面試,問了一些白板問題,由簡單到困難,從一開始的資料庫關連,問到最後請你白板手寫 function of 斐波那契數列

再來是和經理級別的聊,主要是聊產品的部分,可能未來會需要你加入幫忙什麼

大致上是把商店模型還自己包倉庫跟 POS 都搞了,後端都用 rails ,個別要下去維護,可能還會跑桃園倉庫之類的。

後來有第二次面試,覺得太遠又沒特別想去這間,就拒絕了


Cofit

  • 面試友好度:9
  • 工作環境: 7

第一次面試

因為這間的 CTO 和 技術頭在北京有一面之緣,所以聊起來算是熟悉。

主要是聊我之前做過的東西、一些開發習慣,還有對於這些技術的掌握度,會比較著重在探討個人特質,包括我之前會去做一些什麼事情改善團隊的效率之類的,或是對產品的想法。

第二次面試

這次是和 CTO 與老闆一起面試,大概也都是挖人格特質居多

這裡讓我很有印象的兩個問題,主要是聊到我對於一些事情、產品的看法,大概都是聊我自己的故事探討出來的,藉此引出這兩個問題

  • 你從什麼時候開始會欣賞別人?
  • 你如何判斷無效的社交行為?

而這兩個問題對我來說印象深刻,也很有趣,也算是透過這個面試更瞭解彼此

獲得比較正面的回應是老闆說,很少有面試者能讓他下午全神貫注不睡覺的,覺得我很有趣。

Offer 結果

Get


PicCollage

  • 面試友好度:9
  • 工作環境: 不可考

不知道要全英文環境,投遞之後看了一下網路上的分享,才發現,由於沒有英文面試經驗加上排定的線上面試時間我認為來不及準備,所以還寫信去道歉,希望可以先取消,不過對方說我還是可以面試,所以就依照原訂時間線上聊了。

過程中的問答就是聊天,完全沒有壓力,也很坦白的說他們希望找到英文好的工程師,畢竟他們公司的主管需要用英語溝通會更順利。

Offer 結果

感謝函


Dcard

  • 面試友好度:4
  • 工作環境: 7

一開始收到信很興奮,算是我滿想去瞭解的公司,寄了個題目給我,希望我在指定時間以前完成,做完之後我利馬回信附上作業,但是直接蒸發,寫了兩封信過去都不回。

  • 1030 收到題目
  • 114 提交線上測驗,發信(沒回)
  • 1110 第二次發信確認(沒回)
  • 1120 收到面試通知

題目我是用熟悉的 Rails 去開發,請參考 面試題目 Repo

後來終於回信約時間了。

第一次面試

一開始 HR 不在,說去開會,不認識的員工拿了一個午後紅茶給我(面試過茶水給很高級的一間,起初好感提升)。

後來 HR 回來了,因為會議室被佔用延遲沒辦法面試,所以帶我先繞公司一圈,介紹一下文化跟工作流程之類的,滿有趣的。

到這邊都滿加分的,後面就是扣分的開始

第一關先跟 HR 面試,問的問題大概就是問人格特質,你印象最深刻的困難是什麼之類的,其他時間都在介紹他們家的產品線以及我應徵的這個職位會做些什麼事情

從聊天的過程中大概知道 web developer 在這間公司有可能會被叫去做核心的產品 team ,也就是主要是 dacrd feature 的開發。

但如果是 Full stack 這個這麼好聽的職位,是要去和 BD 一起協作,然後往新的 event 開發,大概就是去接一些商業的東西來做,因為要 full stack 也就是說你要聽到需求之後一條龍自己做完。

聽起來職位的內容是比較多時間上是溝通和協調的部分。

尤其該公司拆很多 microservice,所以每個服務你都要去找比較熟悉的人詢問,比方說向誰拿資料啊之類的,聽起來是這樣。

第二關是兩個技術人員來聊天

主要是 A面試官在講,大概問的問題基本上都不是我拿手的部分,多半都是問我對 vuex, redux 之類的東西,其實我履歷上面完整的就是 Rails 開發,前端只沾邊而已,不過在面試之前我也覺得這是有可能發生的,所以也沒特別意外了。

然後有考情境題,問我如果 dcard 官方發一個連結給每個用戶,點開連結的問卷要如何確定是本人填?,如果填完之後再點擊進來,要能夠顯示填寫完成。

其實我覺得可能是思維不同吧,他們比較多這種 microservice 導向,所以會想問你過程中需要幾支 API、前端要什麼、後端要什麼?

我覺得這太煩了,我就說這個直接做一個 token 帶著,啊連結問卷拿到 token 就知道是誰填了,然後每一個問卷有自己的 status ,填完下次點進來就是跟妳說已完成。

但感覺應該不是他想聽的答案,他們想聽到的是要去跟誰協調要資料、要開幾支 API 之類的答案

後來大概他們比較關心的還是 performance 的調教吧,問我在這方面的著墨跟經驗,不過聽完他們應該也覺得還好。

然後整個過程中,因為會議室感覺一開始 booking 後就被 delay,所以整個過程問我問題時,我很認真的回答但面試官或 HR 眼神一直往外飄,好像在趕時間。

不管是 HR 還是技術的聊天,都是這樣,從頭到尾都在趕,感覺沒什麼誠意。

光憑感覺,這間就是無緣了。

Offer 結果

感謝函


KKTIX

  • 面試友好度:0

寄了個題目來,做完之後就感謝函,四題對三題也不知道為什麼被刷掉(幾年前投過一次,第二次也這樣XD)


愛卡拉 Ikala

  • 面試友好度:0
  • 工作環境: 不可考

這間我投的 React 職位有回覆了,那時候我很納悶也覺得幸運,拿 Rails 的履歷丟竟然中了,不過看起來信件是很制式的回覆,就是希望我在哪一天之前完成這個題目。

在收到這封信之前,我剛好遇到其他間也都有給作業的情況,所以我看了一下題目的 Spec,恩,比起其他間並不算小。

由於手上同時進行的題目超過三家,為了能夠精準的掌握時間投資效率,所以我想知道這間公司的題目值不值得的做,所以我自己做了一些題目寄信回去給 HR。

想測驗一下對方是否有真的看過我的履歷並對我有興趣才發信給我,而不是看到我有經驗就先塞題目,猜測應該是等我寫好之後給工程團隊看過沒問題才會找我進公司面試。

所以我就做了這個問卷,這個問卷的答案在我寄信過去所附件的履歷內都有清楚寫明,應該只要有稍微看一下就能夠答題(絕對比寫 spec 快)

於是我就回信給 HR 希望彼此一起寫題目。

後來就得到 HR 回覆

很感謝您的回信,讓我們了解您手上有比較多事情要處理 團隊討論後,決定先暫時不花費您的時間進行我們的作業,希望您求職順利,謝謝!

嗯,好吧,不願意做面試者提供的題目,但是給面試者的題目還滿大的,也就省下了我的時間資源,於是就繼續去做別家題目囉。

面試題目 Repo


Incubit

  • 面試友好度:9
  • 工作環境: 不可考

這間面試有令人印象深刻的題目,非常好玩,因為面試時有答應面試官有一道題目不能發佈在網路上,所以這部分就抱歉了,只是親自體會,但這題目設計的非常有趣。

其中也問到滿多基本的觀念,比方說發一個 submit 請求出去之後 server 如何回應,中間會經過什麼。

在面試過程中,如果我遇到不會的問題,提出一些想法或疑問反問面試官,總是能給我一些指點,讓我覺得這個面試很值得。

面試題目 Repo

Offer 結果

感謝函 + 超有內容的建議(還有推薦書單,超感謝)


AmazingTalker

  • 面試友好度:8
  • 工作環境: 不可考

面試我的應該比較偏向技術狂熱者,我中間覺得面到一半大概就覺得跟這間公司無緣了。

新創公司內的 php 的大神,感覺很年輕,對技術規範很熱忱,整個過程中大概就是一直挖技術、問 C10K、高併發、我的技術部落格寫的內容討論,沒感覺有挖人格特質的部分(也許不是第一考量?)。

我覺得比較有趣的是想要把 Rails 換成 Laravel + Swoole ,因為要做高併發,後來結束面試才發現他是推動台灣這個套件的大大。

而且這樣一來 PHP 的人才比 Rails 還好找(有沒有更便宜就不確定了)

五個小時後直接被 reject, 原因是他想要技術更深的人(真不好意思)

Offer 結果

感謝函 + 建議(還有推薦書單)


Snapask

  • 面試友好度:3
  • 工作環境: 不可考

面試友好度的 3 分是給第一個面試官 tech team lead 的。

這間我兩年前有面試過,那時候是從 linkedin 上聯絡我的,主要都會是先進行一個 video interview,然後才有後續

這次的 video interview 先和整個 tech team lead 聊,大概也是花比較多時間在講產品的方向,需要的人大概長怎樣,會有什麼要求,然後每週有 30 分鐘會和各個國家的 sales 之類,應該說是需求方進行聊天,確保公司的人能夠一直瞭解當地的需求,那語言自然就是英文,這時候就希望我簡單自我介紹一下(好險有準備,稍微講了幾段,看起來是 ok ),然後問了我目前待過的公司大概都在做些什麼。

接下來三十分鐘換了 backend lead 來找我聊,主要就是在技術的部分,令我驚訝的是他完全知道我,也知道我的前主管是誰,還知道我上禮拜去 shopline 面試。

不過大概就是問了我一些「什麼東西是我做的」,那這部分其實就很難說,因為很多東西確實都是合作完成的,然後大概就是嫌我經驗雖然三年,但表現的差他的四年好像很大一截。

後來覺得我如果進了團隊會比較著重在後端的 API 開發,也有機會碰到 devops 相關的部分,所以就問我有沒有寫過 API 的經驗,可惜實話就是沒有,只知道大概怎麼寫而已。

(最近有寫了一本小書 Grape on Rails 101 是關於 API 開發的)

所以就說還會再丟一個作業給我,還跟我說可做可不做,如果不做就中止,但就覺得很怪,很少聽到面試官會給這種要不要隨便你的感覺。

Offer 結果

很隨便的加了我 Facebook 並用 message 回覆我,而且作業也說不給了,並特別說明「目前暫時希望找 senior」

嗯,我投遞的職缺確實是貴公司的 senior rails developer,雖然可能我的實力並沒有達到他預期,但這句話感覺特別傷人和難堪。


Maicoin

  • 面試友好度:5
  • 工作環境: 不可考

因為是做虛擬貨幣交易所的,可能不想馬上被知道公司環境,所以面試是靠兩通電話,要確認彼此契合之後才會去公司在面試一次。

一開始是接到 HR 的電話,多半都是聊上一份工作的內容。

後來安排與技術人員的電話面試,過程中聊一聊希望我線上 coding, 那時候有點緊張,所以我自認為做得很差,有點一頭栽進去一直想解法,於是忘記應該要和面試官不斷討論了(尤其電話面試沒講話只有鍵盤聲超尷尬),後來做完也沒給我任何建議,就只覺得時間超過了,於是就草草的結束了。

Offer 結果

感謝函


問以及被問

這些問題是我自己整理起來的,如果可以當你的面試準備,那或許可以派的上用場

我常問公司的問題

  • 想問一下,貴公司目前的產品下一個階段規劃是什麼?
  • 想請問目前為什麼有招人的需求,是因為要拓展業務嗎?
  • 如果有榮幸加入貴公司,那我想瞭解我近三個月會碰到什麼項目,大概會是怎麼樣的一個情況呢?
  • 想請問能夠加入團隊的人選,大概會比較重視什麼呢?是技術、經驗、還是人格特質之類的呢?
  • 公司目前的開發流程大概是什麼樣子的呢?

常被公司問的問題

  • 聊一下為何你從前公司離開呢?
  • 看到你履歷上有調 performance 的經驗,可以說明一下嗎?
  • 你為什麼會想選擇加入我們團對呢?
  • 聊聊你覺得最挫折的經驗,如何解決的呢?

書單建議

鑑於有些讀者需要書單,我就放在另一篇 最近面試被給的建議和書單 裡囉

comments powered by Disqus