臺灣軟體面試心得整理
希望能給年輕學子們提供到一些幫助 : )
https://www.ptt.cc/bbs/Soft_Job/M.1657113514.A.80A.html
飛輪電商:
一面主要就是在問一些資料結構的觀念
linked list Array HashMap Set
類似這些的東西 其實我覺得不太難
這邊想要ace 最好要了解一下資料結構在底層是怎麼做的
二面 跟技術長當面pair coding
其實考的題目並不難 大概就是最入門的medium等級吧
foodpanda:
OA 兩題coding easy + medium
彩虹科技:
回家作業 寫四題程式
Shopback:
pair coding 考得很簡單 面試官說他考簡單只是想過濾完全不會寫的人
後面就是問專案經驗 跟 一些技術會不會
HTC VIVE:
我記得要先考邏輯跟英文
fortinet:
第一面 問網路知識 linux SQL 聊天
第二面 pair coding
高通:
約聘缺 獵頭公司來找的
面試挺有趣的
先問我對前後端了解多少 叫我解釋給他聽
解釋完之後 他說他覺得我解釋的不錯
然後丟給我兩個跟串流有關的協定 問我懂不懂
我說不懂
他說 給我五分鐘去學 之後解釋給他聽
KeyAsic:
一面跟HR還有技術主管聊天
技術主管是外國人 不會說中文 問的主要是OOP概念 跟一些其他程式觀念
問得不難
https://www.ptt.cc/bbs/Soft_Job/M.1665588136.A.DBB.html
17 Live (Wave):
(Hunter 投遞)
面試前有作業,難度不高,主要是看你會不會 call api,以及 MVVM + 架構 + RxJava/Cor
頂多有 recyclerView 的進階使用方法,比如 load more,個人是用 paging3 解決
面試 (Google meet)
三關都在同一天,技術討論 > Tech leader > HR
第一關
技術討論問了有關 Coroutines 的問題,以及一些技術上的情境題,也有 MVP 與 MVVM
比較的基本問題,對方會用引導式回答的方式詢問,剩下大多是閒聊,因此可以放輕鬆
回答
第二關
Tech leader 問了有關團隊合作的問題、個人優缺點、前一份工作導入 scrum 後的優
缺點,基本上是問團隊適應性
第三關
HR 主要根據你職涯生涯問問題,並說明公司福利
--
Funnow:
(Hunter 投遞職缺)
(實體面試)
這間應該是所有面試裡技術關卡最硬的
也是一天三關,總時間約 3.5hrs,技術 > 團隊技術與工作實戰經驗 > 介紹公司與問答
技術關卡
Android Staff + Android Senior
考很細,包含但不限於 kotlin 基本觀念、collection、design pattern、
sealed class、data class 的特性、coroutinesScope 等
Android 的部分包含 activity lifecycle、onStart v.s. onCreate、用過哪些
architecture components、Paging3 的組成與實作原理、memory leak 與成因等,有印象的問答題約 30 題以上
團隊技術與工作實戰經驗
Android Staff + Android Senior + iOS Staff
詢問履歷上有關的現職經驗,以及工作時會遇到的實戰問題,大多是實作上花時間討論
其中包含了 CI/CD 相關經驗、實作某需求的思考邏輯與如何讓需求完成的更好、寫出 livedata 的 unit test 等
--
Digifinex:
(PTT 網友內推)
這間剛好沒寫到紀錄,是剛來台灣設立據點的數位貨幣交易所
面試是線上面試,透過 Lark 視訊面試
一面 (Lark)
有印象的是面試官是在新加坡的兩位中國人,問 Android 相關問題
自我介紹完後,對方要求解釋關於 Android 事件的了解程度,以及對於 memory leak 的處理經驗,由於當時對前者完全一片空白,因此面試上有點尷尬,面試官也坦率的表示他覺得我表現不太好,但還是可以往下作筆試
筆試 (Lark)
筆試還真的是紙筆測驗,對方派了 HR 在我方便的時間填寫 docx 上的 java 問答題,以及一些邏輯測驗、數學計算測驗(??)、排列組合計算(???)與簡體中文的用語邏輯分析(????)
--
Noodoe 拓廣科技:
(PTT 網友內推)
面試前先做作業,一週內完成
作業要求:Kotlin + Single Activity architecture + MVVM + RxJava(or
Coroutines) + Repository Pattern
個人再加了 navigation 與 手動 DI,繳交作業的隔週收到一面通知
一面 (Google meet)
與 Android team 討論自我介紹內容、Android 問題、Kotlin coroutines 特性、履歷問題、作業內容
整體而言很舒服,回答有誤的地方對方會告知
四個工作天後得到二面通知
二面 (Google meet)
這邊剛好沒寫紀錄,印象中是跟主管與 HR 聊一些人格問題
二面後隔週 HR 打電話討論薪資與福利
--
Pinkoi:
(HR 於 CakeResume 邀約面試)
面試前對方要求回答三個問題
1. 自己的 side project
2. 分享過去遇過的技術難題以及技術難點
3. 為什麼良好的技術可以給使用者更好的體驗,以及平時自己在意的使用者體驗
大概回覆自己的想法就好
一面 (技術面試) (Google meet) (共 2.5 hrs)
與 Android team leader 與 Android senior engineer 面試
自我介紹 > 根據自我介紹內容延伸問題 > 延伸到架構問題,看 Code >
介紹架構與自己的想法 > 對方提問 Android 問題 > 給予面試者提
有趣的是,面試官和我也有聽矽谷輕鬆談的 podcast,因此有做為話題小聊一下
當天下午收到二面邀請
二面 (人格特質面試) (Google meet) (共 1.5 hrs)
第一關,CTO討論有關喜歡這間公司的原因、詢問未來規劃,以及現職同事對自己的看法
接著是開放提問
第二關,HR Leader
先根據履歷問問題,再詢問導入新制度時若公司拒絕時,會怎麼反應以及什麼狀況願意接受,同時詢問想換工作的原因
也問了有關未來規劃的問題
--
Pinkoi@第二次:
(主動投遞)
數個月後,剛好看到 Pinkoi 在相關社群上有團隊成員表示有缺,因此將履歷交給對方,
同時也要繳交上一段提到的三個題目
幾天後收到 Coderbyte 線上測驗邀約
原先以為線上測驗會考 leetcode 題目,但實際上考了有關 Android 相關的問答題
有印象的有 Kotlin 基礎、activity livecycle、android app architecture、測試的
3A 原則、process/thread/coroutines 差異等,其他忘了
幾天後收到面試邀請
一面 (Google meet) (2.5 hrs)
第一階段,與兩個不同 squad 的 Android 成員面試
先自我介紹再根據自我介紹提問
隨後檢討面試時寫的基本概念考卷,不確定的地方對方也會告知
同時也問了多一點有關 coroutines 的問題,比如 dispatcher、flow 的相關 methods
後面討論 Android data layer 時自己主動開 side project 讓對方看 code,藉此討論DI
第二階段,與 team leader 面試
印象中討論有關團隊合作相關的問題
隔天收到二面邀約
二面(Google meet) (共 2 hrs)
第一階段,與 Engineer Lead、CPO 面試
印象中也是討論團隊合作相關的問題
第二階段與 HR 面試
討論優缺點(指名要個性上的優缺點)、團隊與公司遇到衝突時的解決方法(聚焦很多在這部分),由於雙方都知道彼此面試過,因此提問時自己沒有問太多
--
趨勢:
(對方邀請面試)
職稱很特別,叫 Blockchain Security Sr. Android Engineer
當時看職缺敘述是和 Web3 的 mobile app 資安有關
這個應該是最快收到感謝函的面試,面試前於 Codility 寫三題 leetcode 題目,可用 C/C++, Java, Python or PHP, C#, or GO (實際上還有 swift)
(明明有 swift 可以用,為什麼沒有 kotlin,抗議)
最後使用 Java 答題,三題大約介於 easy-medium 之間
--
KKCOMPANY
(對方邀請)
有 Codility 線上測驗三題,以 kotlin 實作
第一題是密碼的 filter 實作
第二題是依據需求實作 viewModel 的 function
第三題寫有關 RxJava 的功能,但個人只有使用過 coroutines flow,因此寫下相關註解後留白
最後好像只拿到 50 分,沒想到還是得到面試邀請
HR 安排了兩個 team,分別是 KKBOX 與 KKTV
KKBOX Android engineer
面試官是 Android team leader (Google meet)
一樣先從自我介紹開始,再根據履歷詢問問題
問了有關團隊合作的問題,也要求我打開 github 詢問我某個專案的架構
同時也詢問了與測試有關的問題,由於專案沒寫測試,因此對方詢問我能否當場寫相關的測試 (live coding)
在對方同意我 google 的狀況下,當場針對使用 kotlin coroutines flow 的架構寫了簡單驗證 api 功能的測試
後面對方介紹目前自己團隊的架構,並表明二面會有需要放上投影片介紹的技術面試
結果:
KKBOX 需要的技能樹是 testing 能力比較強的人選,因此 fail
(不過也因此,個人在後面努力補了不少有關 coroutines flow + viewModel unit test 的,算是有收穫)
KKTV Android engineer
Team leader (backend engineer) 與 HR 一起加入面試 (Google meet)
單純介紹自己,對方根據我的介紹提出問題,比較現職狀況與針對團隊合作的部分提問,技術部分頂多看你懂不懂 git flow
team leader 表示他是 backend 的,也不曉得要怎麼問 Android 相關技術,只提到後面這個職缺需要不排斥寫 flutter,可以進來再慢慢學
至於測試的部分,team leader 表示有聽上一關的面試官介紹我的技術能力,不過目前KKTV 這裡的測試還不用太完善,也可以再慢慢學
團隊人數 10 人,有點像大公司裡的小新創
團隊喜歡在公司裡噴垃圾話,讓同事之間有更多交流
目前僅一名 Android 工程師,太過分身乏術而開缺
後面 HR 問了有關職涯方向有關的問題,結束了面試
--
CMoney
一面:
自我介紹 > 技術面試 > 提供詢問
先自我介紹,面試官(RD)根據自我介紹內容詢問,再進入技術面試
技術面試,考類似課本題目的問答題,不看 code
程式基礎題:
1. 解釋什麼是時間複雜度、空間複雜度
2. call by value, call by reference 的差異
3. 為何電腦的浮點數會有誤差
4. BigDecimal 的使用方式
5. 對於 WeakReference 的了解
6. kotlin var val 的差異
7. kotlin 中修改 mutableList 時,新增與刪除需要呼叫哪兩個功能
8. abstract class 與 interface 的使用時機
9. 解釋併發、併行、同步、非同步
10. Lifecycle of kotlin coroutine job
Android 相關:
1. Lifecycle of Activity
2. Lifecycle of Fragment
3. fragment 的 viewLifecycleowner 的執行週期
4. Activity 傳遞數值的 Bundle,若要傳遞 data class,需要繼承哪兩種資料型態
,兩者的差異為何
後面都在問團隊相關的問題,比如平時 follow Google 官方新政策的方式
--
TutorABC
(Hunter 推薦面試)
有名的線上教學平台,聽說目前高層已有大幅改動,因此答應面試
面試前先於線上填寫有點繁瑣的制式履歷
一面(Google meet)
兩名面試官,Backend、Android 的 RD 各一名
java、kotlin 基本能力面試(包含根據 side project 提問) > 根據履歷詢問 > 團隊介
紹 > Q&A
基本能力面試考一些 java 與 kotlin 的基本問題,面試官也會在中途引導你不會的點,
因此整體面起來很愉快
中間有問到 MVVM 在我專案中的架構講解,因此我開了 side project 講解我的架構,讓
人意外的是面試官有問到我對 jetpack compose 的想法,看來他們也有 follow 新技術
不過他們會因為隕石開發而加班,這點比較無奈
留言
張貼留言