距離收到錄取通知已經有兩個月了,決定來分享一下當初去 Dcard 面試的心得跟過程~ Show 雖然我本來就有在新創公司工作,但是新創公司樣樣都要自己來,而且沒有一個 Mentor 帶領,產品也比較沒有流量,很難判斷自己做出的系統架構是不是一個好的架構,因此今年決定申請 Dcard 實習,來體驗看看高流量的 backend 開發! 面試流程Dcard 的面試流程算是滿透明的,基本上分成 3 大關,履歷審查、第一次面試跟第二次面試。 整個流程走的也算滿快的,大概一個月就會把整個面試流程走完,而且各個階段有沒有通過都會寄信通知,非常棒~ 履歷審查一開始當然是附上履歷!履歷的部分我是寫滿一頁整而已,基本上就是寫上工作經歷、寫過比較重要的 Side Project、黑客松、讀書會等等。 因為我個人認為 Dcard 還滿看重你的自學能力以及你是不是喜歡與人分享交流,所以放的內容都是比較偏自學、交流性質的活動,一些在學校做過的助教跟網頁開發的打工倒是都沒有放進去。 如果想要參考履歷要怎麼寫的話,可以到 關於我 頁面查看。 申請 Dcard 實習有個比較特別的地方是要交一份作業,是實作一個 Rate Limiter Middleware,也就是如果在一定時間內超過一定數量的 Requests 要回傳 429 Too Many Requests,基本上語言方法不限,我是用 NodeJS + Redis 來實作的。詳細可以參考我的 Github Repo。 另外申請實習是可以附上應徵信的,裡面可以附上一些履歷沒有提到的內容(履歷主要以技術背景為主),例如我在應徵信裡面提到了我為什麼會想來 Dcard 參加實習以及一些個人特質。想參考的可以看這裡。 第一次面試Talent Operation Team (HR)首先是 HR 面試,總時間是一小時(但我不到一小時就結束了)。一開始是 5 分鐘的自我介紹,想參考的可以看這裡。再來就是回答 HR 的問題,基本上我個人感覺 Dcard 很在乎你對公司的看法、你來參加的動機等等,比如說我有被問到「為什麼會在大三的時候就想要來做 Intern?」或是「為什麼會走 Backend 這條路而不是其他方向」。HR 也會針對你的履歷提出問題,例如我有被問到「為什麼會寫 Blog?」,讓我真的覺得 Dcard 的 HR 很用心也很親切,在聊天的過程中就能體會出來你的履歷有被認真的看過,而且 HR 對於資訊這方面的知識也都略知一二。 總之 HR 面試關整體來說就很像在聊天一樣,重點就是履歷一定不能造假!最後會問你有沒有任何想問的問題,如果沒有的話就會進到開發面試。 Development Team由 Backend 的成員來面試,總時間也是一小時(但我也是不到一小時),聽說本來是有 Backend Team 的主管會來的,但我去的時間好像剛好主管在開會,所以就是兩名 Backend Engineer 來幫我面試~ 這關主要就是考驗你的技術實力了,不過我覺得問的問題還滿隨性的,除了最後一題之外,其他問題都是圍繞著你的履歷上面有提到的技術,跟一些滿基礎的 Backend 知識來提問的。我有被問到的問題跟我的一些回答包括:
總之我覺得回答的重點就在於,不要提到自己不熟的技術,因為他們很有可能繼續追問你在回答中講到的技術。而這部分的題目大概也是因人而異,我被問到的題目跟我在準備時看到其他人分享的題目也是完全不相同,所以在履歷裡面也近量別寫自已不熟的技術吧xD,不然大概有大機會會被問倒。 最後也會詢問有沒有什麼想問的,基本上我有詢問他們用的框架、他們的開發流程等等。 第二次面試Talent Operation Manager (HR Manager)這關是 30 分鐘。基本上跟第一次面試的 HR 面試差不多,但內容會偏向更大方向的討論。一樣真的要稱讚一下 Dcard 的 HR,都非常的親切&準備充足。 CEO - Kytu首先,CEO 的名字的念法跟 Kit 是同音的,這個我在去面試前查了好久才查到xD。 這關是 30 分鐘。基本上在別人的面試分享有看到,就是跟 CEO 的聊天關。基本上一坐下就會問你有沒有什麼想問的問題,所以一定要提前準備一些你想要問的問題,除非你的臨場反應真的很好。 基本上想要跟 CEO 聊什麼都沒問題,我有詢問關於 Dcard 從一個 10 人團隊到現在 200 人的管理問題,還有詢問一些職涯規劃,討論讀研、是否要出國等問題。 問題可以盡量準備多一點,因為 CEO 回答的速度還滿快的。 總結Dcard 的面試總體感受是滿好的,非常看重你對公司的看法。第一次面試時還會帶你參觀辦公室,帶你到他們的零食區拿食物;第二次面試時 CEO 還請喝星巴克,雖然我根本不敢在當下喝就是了xD 基本上如果說要準備的話,我強烈建議多去看看一些關於 Dcard 的文章報導,或是 CEO 的演講也可以稍微看看,會對你在面試時的應答還滿有幫助的~ 雖然面試整體過程是走比較輕鬆的路線,但我認為 Dcard 對實習生的審核是非常重視也不隨便的!我認為 Dcard 還滿重視面對問題的邏輯思維和主動學習的能力,所以如果你有在寫 blog 的話,應該是大大加分!
這篇文章距離我錄取 Dcard 的 Web Backend Intern 有一兩個月的時間了 XD 只是一直沒有時間寫分享文,因為 7/6 就要去上班了,所以特來發此分享文紀錄一下。 其實我投了許多知名的外商公司的 Intern 加一間本土公司的 Dcard,然而外商公司只有到繳交履歷的階段,連面試都沒上真的是很慘 QQ,雖然我也沒有說很意外,因為知名外商公司一向都很搶手,而且許多強者真的是太強了,我自認為我還是很 junior 的工程師 XD。但因為為了生活還是要想辦法找到一份工作,才能半工半讀阿 XD 所以,也很感謝在面試 Dcard 的時候都很順利,也能夠拿到此機會,讓我能夠一探 Dcard 的系統架構。以下的內容我會分享在 Dcard 面試的題目,以及我大致上的應對方式。 面試流程我是應徵 Dcard 2020 年開放的 Web Backend Intern,當初還有看到前端及資料分析的實習生的招募,但有在看我 Blog 的文章就知道,我是完全怨恨前端的 XDD,沒辦法我對前端完全沒有愛,老實說我覺得天分跟喜好都有影響,我喜歡分析後端的架構,對於視覺呈現的東西我真的是完全不感興趣就是了。 在面試流程上可以看成是有四關的:
作業關面試分享講真的,我之前應徵的實習工作都沒有要上傳作業的,不過也有可能我的公司都很小,不然就是他們對實習生的要求不高就是了。 以下是 Dcard 作業題目描述: Dcard 每天午夜都有大量使用者湧入抽卡,為了不讓伺服器過載,請設計一個 middleware:
這個題目算是很常見的,也算是最基礎的限制流量的方式,這邊因為我覺得只寫一個 middleware 有點難以 Demo,所以我索性寫了一個很小型 Dcard 系統的 Backend,但是也只是有一些註冊登入使用者、抽卡等 API 而已。因為我個人是滿好奇 Dcard 後端是怎麼去實作抽卡這個步驟的,所以就順便做個陽春版了~然後在抽卡 API 上前面放前面作業所規定的 middleware。 這邊詳細作業的實作架構就不多講了,因為可以直接參考我的 GitHub:https://github.com/KennyChenFight/dcard-simple-demo 我在 README 寫的算滿詳細的,這邊就只講我大致上的思路就好:
作業差不多就是這樣,然後因為沒有特定限制語言及資料庫,但是在徵才說明上,有特別說希望是熟悉 Golang 或 Node.JS,而資料庫的部分希望熟悉 PostgreSQL 及 MongoDB,因此作業我就是採用 Golang+PostgreSQL+Redis 來實現的。 不過,題外話,我到現在還是不敢說熟悉某種程式語言,我只能說認識,我對熟悉的定義是非常專精並且了解程式語言整個底層架構 XDD 還在學習中就是了 >< 技術關面試分享這個 Dcard 的技術關,其實跟我以前面試的公司不一樣,因為我以前應徵的都是實習生的職位,說實在面試的時候根本就不會問甚麼技術的問題,就算有,也沒有很細,不過也有可能我遇到的公司都很水吧 XD 相較起來,會覺得 Dcard 的技術關相對較硬,如果你是超級超級 junior 後端,在這邊很容易會被問倒。而且因為我事先不知道會被問這樣,我事前也是沒有任何準備 XD 不過好佳在憑藉著平常有在做筆記及工作的關係,有一些技術的東西根本就會深刻在腦海中。 再來要補充的就是這關由於疫情的關係所以是視訊面試,我覺得這也因此對我有好處吧,因為我個人其實滿容易緊張的,但是視訊面試的話我是不太會緊繃的,而且很自在。 以下是被問到技術題:
執行長關面試分享其實純粹聊天的面試才是我最害怕的 XD 因為可能一不小心就被面試官心裡打了個大 XX 都不知道 QQ 尤其是如果是自己提問題的話又更加困難,總之這關我倒是聊了滿多創業的事情的,畢竟曾經我也想要創業,然而面對現實還是先擱著了 QQ 我只能說年紀輕輕就成立公司是一件很大膽、勇氣的事情,能夠做出自己喜歡的產品是一件很有成就感的事情,Dcard 到了今天的規模,雖然受眾大多是台灣的大學生,但這也足以說嘴了,而且當你用戶越多,寫出來的系統就會越被挑戰,當越被挑戰就需要花很多時間去改進,工程師實力才會大幅度的提升。所以如果想要體驗高流量,要先想辦法提高用戶,否則高流量的一切架構設計都是白談的。 HR 關面試分享這關就很輕鬆了,HR 大致上就是問我為什麼會喜歡寫程式,為什麼要換掉前一份工作來應徵 Dcard,還有自己作品分享等經驗,就盡量分享自己的經驗及思路就可以了,有時候我都會陷入擠不出問題,然後就乾在那邊 QQ 我覺得這也是我需要改進的地方,不過我是覺得當問題都問完之後就也不必硬聊,可以提早結束就好。 總結以上大概就是 Dcard 面試過程的分享,說實在很多都是第一次被問到,也算是給了我一個審視自己的機會,我個人覺得 Dcard 對於實習生的標準是一點都不馬虎的,而且感覺在整個專案流程上是做得很完善的,在我之後進去工作後,會在分享自己的感想,總而言之,我覺得進去 Dcard 是一種挑戰,而且我相信強者一堆,我會被電爆,所以像個海綿一樣努力汲取吧! 最後最後!請聽我一言!
|