# 25sprout survey Cake 參考資料 ## JD ▍工作環境與團隊介紹 SurveyCake 是一個緊密且人數眾多的團隊,導入 scrum 作為敏捷開發的架構,除了充滿歡笑的氣氛,還有專屬於產品的迷因文化。為了讓明年的目標,讓產品演進更加順利,同時提升將來的開發體驗,今年我們做了重大的決定,要把積累已久的程式碼重構,統一前端技術,並開發那些令人期待的新功能。因此我們需要再一位好朋友,跟我們一起努力做出好用的蛋糕! 在這裡除了與另外四位正職前端工程師、兩位實習的大大密切接觸,和 Functional Progamming 愛好者以及 CSS 魔法師一起討論與學習以外,還會需要與 Backend, PM, DevOps, UI Designer 合作。最後最後,如果你對產品的方向有什麼想法,還可以去 wishpool 許願,讓每個人的小小心願都有機會實現! 如果你有興趣,且符合以下條件,都歡迎你向我們毛遂自薦,加入溫馨的大無畏前端團隊。 ▍工作內容 - 負責前端產品維護開發與重構、串接後端 API - 協助功能時程、開發方向與撰寫方式的評估 - 協助合作專案除錯與修正,優化自動化測試 - 撰寫可讀性高的技術文件,系統化文件的產出 ▍能力需求 - 1 年以上前端相關經驗 - 充滿創意、主動積極,有捲起袖子什麼都願意試試看的熱情 - 熟悉 React 以及 Redux - 有 TypeScript 相關開發經驗 - 熟悉 Git 的基本使用 (commit, pull, push, merge, checkout) - 樂於分享並持續學習最新前端技術 - 有 CSS-in-JS 的使用經驗 (e.g. Emotion, styled-components) - 有 UI Framework 的使用經驗 (我們目前使用 Material-UI) ▍加分條件 - 使用 Webpack 優化開發環境經驗 - 有使用 RxJS 相關開發經驗 - 有使用 Jest 相關測試經驗 (有很棒的課程等你來學習) - 有 E2E 測試相關經驗 (我們使用 Nightwatch 框架搭配 BrowserStack 的服務進行) - 使用 CI/CD 優化部署流程經驗 - 有 AWS 相關使用經驗 (e.g. lambda) - 有網頁效能優化經驗 - 熟悉 git 的使用 (我們的 GitFlow 很複雜而且常常 rebase) - 熱衷研究 Functional Programming 概念 - 考慮開始喜歡登山、羽球、吃吃喝喝 ## VVN 提點的面試題方向 - XSS 會需要知道幾種攻擊與防禦的方式 - CSS in js - 可以往效能那邊去思考,如 repaint、reflow 以及 CSS-in-js 跟原生的差在哪 - css-in-js 效能問題 - vs Tailwind - FP - js 能辦到的就好,如 pure function 、 immutable 、curry - closure ## CSS 考古題 - box-sizing - position: absolute、relative - 讓元素消失在 viewport 上 ## JS 考古題 - console.log(3>2>1) - console.log(false && 1) - 請問有使用過 try catch 嗎?為什麼要使用 try catch? - Hoisting - Object.assign - Rest Operator ## React 考古題 - 是什麼時候開始學 Redux 的?為什麼選擇用?選擇的目的是什麼? ## git 與協做 考古題 - 了解你的 git 使用及協作經驗 - 在看設計稿時尺寸是固定的,但當需要做 RWD 的話,你會怎麼處理?完全照設計稿嗎? - 你做的這些 side project?都是自己想的嗎?還是會有一個人幫你規定好步驟 - 你有跟設計師合作的經驗嗎?用什麼工具溝通 - 跟設計師溝通的落差,可以說明一下經驗? ## BQ 考古題 - 在(某某某)專案中,為什麼會使用到(某某某)技術呢? - 如果跟主管有意見上的衝突時,你會怎麼做? - 你是哪裡人?這段時間求職是住哪裡? - 你平常是怎麼去取得前端相關的知識?你上次看的是什麼樣的主題? ## 面試心得原文 ### 2022-01-21 面試過程 是一間很不錯的公司,整體面試很開心,是即使沒有面上,也會覺得去聊聊很舒服的一間公司。 總共會有兩階段,第一階段是四位前端工程師共同面試。 面試官很認真的研讀過履歷,詢問的問題也會很精準的從履歷中問出來。 - 面試流程: - 自我介紹 - 面試官提問 - 面試者提問 - 面試問題 第一次面試題目: 1. 知道什麼是 box-sizing 嗎? 2. position absolute、relative 的相關用法(因為他們有看過我寫的文章) 3. z-index 的相關用法(因為他們有看過我寫的文章,在 position:static 的狀況下,z-index 不會生效) 4. 如果要讓元素消失在 viewport 上,有哪些作法可以把元素隱藏?(display: none, opacity: 0, visibility: hidden, offset 技巧) 5. console.log(3>2>1)會回傳什麼 6. console.log(false && 1) 會回傳什麼 7. 請問有使用過 try catch 嗎?為什麼要使用 try catch? 第二階段: 第二階段主要跟 CTO 與部門的技術主管聊,基本上問題都是從自我介紹、履歷中問,沒有問什麼太艱澀的問題,主要都是聚焦在協作溝通的議題上。 第二次面試題目: 1. 在(某某某)專案中,為什麼會使用到(某某某)技術呢? 2. 如果跟主管有意見上的衝突時,你會怎麼做? 面試建議 第三階段主要就是跟 HR 聊,我滿意外 HR 聊滿多內容,也很仔細針對履歷進行發問,因為當工程師前有做過其他職業,據實回答即可。 在第三階段 HR 會問的問題大致上就跟一般人資的會問的問題沒什麼兩樣,因為新芽給的福利很好,也不需要多問。 最後一輪主要就是跟 HR 閒聊,然後談薪資,建議可以先問人資說,他們在這個年資的人都拿多少,如果對方不願意講可以再丟個你預期的薪資過去試試水溫。 人資說最後審核大約一週可以知道自己有沒有被錄取,但過了一週還是沒收到 補充考題 Hoisting Object.assign Rest Operator ### 2021-02-14 公司在小巨蛋站附近,對面就有 ubike 站,一上樓入眼就是整片玻璃環繞,陽光超好,完全可以在裡面行光合作用的那種,大家都坐的很零散,有在沙發上打 code、還有在陽台發呆的,一整個輕鬆自在,我被領到一間景觀很好的會議室等待,剛坐下就覺得能在這裡工作一定很幸福哈哈哈,完全是理想辦公室! 沒有筆試,時間一到三位面試官進來,都是前端(兩位接案部門、一位產品部門),事前在信上就有說明是一個小時的面試,整體時間抓得剛好,很有效率,一樣是先讓我自我介紹,然後詢問我知不知道新芽有在做接案,因為最近朋友有跟我說新芽把一些 APP 案子外包給他們,所以我還算清楚這塊,就有聊一下這部分。 沒什麼考技術,把一些技術題混和在聊天中進行,沒有壓力,就算不知道答案,面試官也會給我一個關鍵字回去查看看,三位前端都超級客氣,像網上說的那樣「去新芽面試就是做自己就好」,因為沒辦法準備或假裝,十分看個人特質的一間公司,還會聊我自己的興趣或平常看什麼 Netflix 片,過程輕鬆愉快。 結束後,有一個很特別的環節是讓我到公共空間,叫來辦公室有空的員工把我圍成一圈,會介紹我是新的前端面試者,感覺自己像動物園的熊貓,粗估有 20 幾個人!面試官就傳我的履歷下去給大家認識認識,很新奇的面試體驗,大家的提問都古靈精怪(最近爬什麼山、有沒有去追雪、你是哪裡人、某縣市有什麼好吃的......),完全是聊背景和興趣愛好,如果是外向的人可能就如魚得水,我偏內向,但可能跟眾人年齡相近,話題有共鳴,自認表現還不錯XDD 【工作內容及類型】 在專案部門,用 Vue 和 React 都可以,以專案需求和你一起協作的工程師為主。 會看專案大小分派人力,大部分剛進來的 junior 會跟另一個工程師一起協作,當然也有一進來就直接 handle 小專案、可以獨立運作的人,我們會看你的經驗和之前工作習慣來調整,因為大部分案子都是跟公司內部的後端和設計一起,有溝通彈性。 code review 這部分,可以請同事或透過 pull request 給主管幫你看,不會有正式的 code review 時間,但是大家對於技術分享都是很開放和願意討論的,如果自己想導入新技術或新工具也可以向主管詢問,他會看適不適合來給你建議,自由度滿高的 【公司風氣】 不鼓勵加班,真的很趕時也會有人來支援,公司的 PM 滿有 sense 的,不會亂押時程,整體很彈性,沒有人要管你幹嘛,只要你工作做得出來就行。 每個月有一個 Sprouter 月會,主要是 PM、行銷分享近期專案、廣告成效和公司發展,技術部門不太會上去分享,另外專案每周有一個的內部會議,考核是半年一次。 【福利制度】 彈性上下班,只要在公司「待滿」8 小時就可以走,如果你十點來就六點走,九點來就五點走,每年 10 天的 Remote Day,近期還可以每周申請一兩天的 remote - 免費員工午餐:那天去看到好像是叫肯德基......超豪華>< - 零食櫃、教育訓練、運動與健檢補助 - 配的設備:Mac 公司機 與 23" 螢幕等等 - 海內外員工旅遊、每月的電影之夜、員工運動會等等 面試問題 - 詢問線上課程的學習有什麼收穫?JS 的部分呢 - 既然之前寫過 APP,那怎麼沒有想去學 TypeScript? - 你做的這些 side project?都是自己想的嗎?還是會有一個人幫你規定好步驟 - 你有跟設計師合作的經驗嗎?用什麼工具溝通 - 跟設計師溝通的落差,可以說明一下經驗? - 是什麼時候開始學 Redux 的?為什麼選擇用?選擇的目的是什麼? - 了解你的 git 使用及協作經驗 - 你是哪裡人?這段時間求職是住哪裡? - 在看設計稿時尺寸是固定的,但當需要做 RWD 的話,你會怎麼處理?完全照設計稿嗎? - 你平常是怎麼去取得前端相關的知識?你上次看的是什麼樣的主題? 面試建議 有名的新創,產品兼接案,早期由接案公司起家,後來有開發出自己的產品(Surveycake),所以內部有分接案及產品部門,目前這個職缺主要是接案部門擴編。新芽的團隊組成幾乎是工程師、設計師和 PM,工程師數量很多,在學時期就有聽聞,可以說是我自己轉職前的目標公司。 面完的感覺真是不錯,說一定會通知結果是否二面、會盡快在兩周內,我也表示 OK,因為自己本身也有其它 offer 在手、並不急,結果三周了都還沒有通知,據其它朋友的消息是知道有 2 個應徵同職位的人會在年後上班,我也再三確認過信箱,結論就是被發無聲卡了(可能是 HR 太忙忘記?) anyway 反正就是發無聲卡,我這個人比較重諾,認為如果公司有特別說會通知就應該給一個結果,我自己沒差,可是其他很需要這份工作的面試者心情會怎麼受影響,所以將面試體驗扣一星在這裡。 ### 2021-01-14 第一面時,是去新搬過去的辦公室,一開始是在小會議室,有兩位前端來面試,主要是問一些過往經歷跟一些關於 react 開發上的技術,後來被帶到外面大會議開放空間,公司有空的人就會來問問題,其中一位創辦人駭客也有來參與大會議的面試,一開始兩位前端會簡單幫忙介紹一下,後續也可以自己補充介紹說明,大部分大家其實都還蠻有趣且友善。 大約兩週後來二面邀約。 第二面,主要是跟兩位創辦人面試,也是自我介紹,主要是針對履歷上的問題做更廣泛的詳細問題,還要問一些個人特質之類的問題。我本身也有問一些關於公司營運方面的問題。後續就換成 Hr 來談薪資,新芽是開 14 個月的薪資,但似乎還有分紅,因為沒有錄取所以也不知道詳細可以獲得的福利是哪些。 後來大概三天內就收到不錄取通知。 面試問題 - 有沒有在 react 使用過 D3.js? - 有使用過,然後回應說再 react 上使用 D3.js 需要針對一些做調適,面試官表示認同並露出尷尬的苦笑 - 有沒有用過 redux ? 那有沒有用過 redux-saga 呢? - 有用過 redux ,主要是使用 .... (中間簡單介紹 redux)。沒有用過 redux-sage ,但是知道主要是處理 redux 異步的方式。 面試建議 新芽面試其實很輕鬆自在,不會給人太大的壓力,準備好放輕鬆去就對了。 另外因為新芽的職缺是大多是開年薪,人資那關會告知是 14 個月的年薪,所以一開始在決定面試時,可能要算一下薪資是不是有符合自己的期望。 新芽其實是一間很不錯的公司,氛圍跟環境都很棒,老闆也是很有想法的人,可能是因為還是有接案居多,所以工程師薪資並沒辦法調高上去。 ### 2022-10-18 面試過程 接案公司,同時也是問卷系統SurveyCake的開發公司 目前只有第一次面試,採線上面試,由三位前端工程師進行,該次面試只討論技術層面的問題 面試時會有考題, 那些事 面試問題 根據作品提問 如實回答 面試建議 該公司工程師數量多,並且配置齊全,並且如果無經驗入職時會有mentor指導,個人認為是相當友善的環境