Fw: [心得] 2018 iOS 面試心得

作者: m20021991y (Eddie)   2018-12-07 23:49:39
※ [本文轉錄自 Soft_Job 看板 #1S2fCbI0 ]
作者: m20021991y (Eddie) 看板: Soft_Job
標題: [心得] 2018 iOS 面試心得
時間: Fri Dec 7 23:34:58 2018
[代 po]
(Alfred / honestbee / iChef)
最近剛結束一連串的面試
準備過程中受到 Soft_Job 板前輩的文章幫助很大,
不論是面試分享的文章,或是職涯相關的文章,都讓我受用無窮
秉著飲水思源的精神,我也想把面試心得分享出來給大家,希望可以幫助到需要的人。
背景:23y, 私大CS夜間部學士畢, 約 4 年 iOS 開發經驗
第一次分享這樣的文章,不確定把薪資直接寫出來好不好,因此還是先以 N 代替
N = 現職月薪(單位:K),現職年薪 = N * 13
文中拿到的 Offer 年薪皆大於等於 1M
# Alfred 阿福管家
[面試獲得方式]
Yourator 主動投履歷
[面試流程]
第一關 技術團隊 (兩個 iOS 工程師,一個 CTO) + PM 面試 - 約 30 分鐘
第二關 CEO 面試 - 約 90 分鐘
[面試過程]
## 第一關 - 技術面試
由技術團隊 (兩個 iOS 工程師 + CTO) + PM 面試
進去後不免俗的雙方先自我介紹一下,
自我介紹中間還因為第一次面試太緊張有點忘記要講什麼 囧
結束後由 PM 開始面試,由於我自己有做一個 App (下班後的 Side Project)
所以 PM 的話題多圍繞在我做的 App 上,過程中像是在交流 App 的開發
(e.g. 這個功能怎麼決定要做的?A/B Test 怎麼實作?
用了什麼數據分析的服務?舉例一個根據數據來決定的功能?)
中間有穿插約 3 題的 Objective-C 問題,都算是基礎,不難
CTO 也有針對我做的 App 提問了兩個假設性的情境題,
兩題都算是比較偏向團隊合作的問題,感覺得出來很著重在團隊合作這塊
第一關過程約三十分鐘,快結束前由我問了一些公司及團隊的問題後,
就換第二關 CEO 面試。
## 第二關 - CEO 面試
一樣先自我介紹一下,然後就開始面試
面試主要也是圍繞在人格特質、了解過去的經驗、
為什麼想換工作、為什麼選擇唸夜校等
對方表示原本一面前是有 Take home test 要寫的,
但因為看我有一個還不錯的作品,所以團隊討論過後覺得可以直接省略這塊
聊到一半 CEO 說:你好像還不是很了解公司
(我有大致上了解公司做的產品是什麼,也有下載使用,但了解程度的確是很片面沒錯)
當下抖了一下想說完了大概要被請出去了 XD
不過之後 CEO 也和我介紹了一下公司、團隊、主要的營收方式等
但可能因為記性不太好再加上聊了一個半小時聊太多了,有些對話有點想不起來
第二關過程大概一個半小時左右,整體面試下來還滿愉快,
團隊每個人給人的感覺都很好相處,很親切,
CEO 在過程中也給予我相當正面的評價,真的非常感謝他!
[結果]
Got an offer
面試結束後 CEO 直接發口頭 Offer (實在是受寵若驚)
當下有表明非常感謝,但因為同時也在看其他機會,
所以可能不會這麼快回覆 Offer,對方也表示沒問題會等我
約三個工作天後收到 Email 正式 Offer
待遇:(N + 17) * 13
=====================================
# Honestbee 誠實蜜蜂 (台灣)
[面試獲得方式]
HR 透過 LinkedIn 聯絡
[面試流程]
第一關 技術面試 (三個 iOS 工程師) - 約 100 分鐘
第二關 文化面試 (兩個 Backend 工程師) - 約 60 分鐘
第三關 Engineer VP 文化面試 - 約 20 分鐘
[面試過程]
## 第一關 - Technical Interview
由三位 iOS Engineer 面試,其中一位是 iOS team lead
看了 PTT 以前的幾篇面試分享,有英文也有全中文面試的
不知道現在到底是哪個,所以面試前很抖,
不過我這次的經驗是從開始到結束都是以中文面試
這次面試跟第一次一樣,面試完對於被問了什麼問題大概只記得一半,
不知道這樣正不正常 XD
一開始一樣不免俗的自我介紹,
介紹完畢後開始針對履歷及作品集上的項目提問,
這邊跟 Alfred 一樣,面試官有先下載並使用過我作品集上的 App,
一樣也針對 App 裡面的某些功能做提問
個人覺得主要著重在:
— 基本功
— 過去經歷
— 對架構的了解程度/想法
— 對語言的了解程度/想法(例:struct 跟 class 會怎麼選擇?)
— 團隊合作
並且會針對你過去做過專案再一直細問下去,確認你是不是真的會
(例:我有提到專案中用的是 FLUX 架構,對方便請我說明 FLUX 是如何運作)
用了什麼架構?用什麼方法實現某個功能?用什麼方法有什麼優缺點?
說明使用過的架構 etc ...
因此對參與過的專案掌握程度要很高,才有辦法回答每個問題
最後有一題算是上機考吧,給你一小段 code,
請你找出這段 code 所有可能的問題、或是可以優化的地方,並且講出來
個人覺得題目出得不錯也不會太難,大概 5 ~ 10 分鐘就可把問題都抓完
算是把很多語言面 & 實作面的基礎問題都濃縮在一題裡面
不過因為是肉眼 compile 所以有些細節容易漏掉
我就是盡力把我看到的問題都講出來,並解釋為什麼這樣錯了,
應該要用什麼方法,最後還是有一兩個漏掉地方,
在面試官的引(ㄊㄧˊ)導(ㄕˋ)下也有抓出來
最後是發問時間,問完想問的問題就結束一面了
過程中有提到因為是跨國產品,國外也有 Engineering team,
因此會需要英文溝通,可能大部分都是讀 & 寫,少部分口說,問我覺得英文 ok 嗎?
(OS:糟了,這個開場白一定是英文面試的起手式
此時腦袋已經開始高速運轉準備要接招了,但最後還是沒被用英文問到問題 XD)
我表示讀寫一定沒問題,説也ok,不過口說可能還是需要多練習才能講得順
結束後由 HR 簡短說明接下來的流程,如果有二面的話一個禮拜內會通知,
重點會放在文化面試,然後就離開了
## 第二關 - Culture Interview
三天後收到二面邀請,HR 寄信通知後也直接打電話通知我
也說明了接下來的面試會如何進行,以及簡短說明薪資福利,
還有面完對公司的感覺是什麼,感覺得出來很重視面試者
一面完還特別寄信給 HR 說如果被拒絕的話可不可以也寄信跟我說一聲,
看來是多心了嗚嗚嗚
二面由兩個 Backend Engineer 進行,著重在處事上面
兩位面試官剛開始殺氣很重,剛開始有點嚇到,後來發現其實他們人很好也滿有趣的 XD
(例:如果跟成員意見有衝突,會怎麼辦?被排了很多事做不完,怎麼辦?etc ...)
這部分就是照實回答,其實也沒什麼標準答案,平常遇到時怎麼處理就怎麼回答,
沒遇到的就想一下遇到時會怎麼應對。
還有一部分時間在閒聊,相對輕鬆一點,約 30 ~ 40 分鐘就結束了。
結束後由 HR 詢問面試到現在的感覺,以及詢問期望的薪資,
HR 表示幾天後會根據我開出的期望薪資給我一個回覆後,就離開囉
(到這邊終於算是拿到一個口頭 Offer 了!)
原以為面試到此就結束了,
回家後接到 HR 電話表示 Engineer VP 希望可以跟我聊聊,
原本是要排在跟剛剛的面試一起,但因為有會議所以就沒有一起面,
於是展開了第三面之旅
### 第三關 - Engineer VP Culture Interview
三度來到 Honestbee 辦公室
一樣是 Culture Interview,事前有先針對 HR 給可能會被問到的題目做準備
(例:遇到最挫折的事是什麼?有什麼興趣或熱愛的事嗎?)
過程也會直接談到期望的 Offer,說了期待的薪資後,
VP 表示由於我被歸在 Junior iOS Engineer,所以會比我開的數字還要再減 10 萬,
但因為一季會有一次 review,會有加薪及升職的機會,所以也是有機會升到 Senior 的
我也表示 ok。
面試很短,約 20 分鐘而已,VP 人很帥很親切,面試過程很輕鬆,
不會有什麼壓力,VP 會一邊用鋼筆紀錄在筆記本上面,稍微喵了一下,字很漂亮 XD
結束後由 HR 說明接下來流程會怎麼跑,大概會花多久
我詢問完相關的福利之後就結束面試了。
後來問了一下 HR 為什麼以前面試分享的文章都說有四關英文面試,
但我完全沒有遇到,HR 回應說是因為不希望因為英文而錯過真的優秀
但英文或許沒那麼好的面試者,所以才有修改了面試流程。
(我記得沒錯的話是這樣,如果我有講錯請糾正我)
[結果]
Got an offer!
原本 HR 是說一個禮拜內會有答案
不過當天晚上就接到 HR 打來的好消息,表示 VP 覺得我 ok,
送件給新加坡 review 時也意外跑得很快,所以當天晚上就拿到 Offer 了!
待遇:(N + 31.5) * 12
=====================================
# iChef 資廚管理
[面試獲得方式]
主動聯繫 HR (HR 半年前透過 LinkedIn 聯繫,當時表明還沒有找工作的打算。)
[面試流程]
第一關 技術面試 (兩個 iOS 工程師) - 約 160 分鐘
第二關 HR 面試 - 約 20 分鐘
[面試過程]
原本已經約好面試時間,不過因為其他公司的二面結果在 iChef 排定一面之後才出來
想把其他面試排在同一天,所以和 HR 姊姊改時間,
過程中多次打電話反覆確認面試流程、時間相關的細節才終於敲定,
HR 也很有耐心的協助我,真的很對她很不好意思也很感謝。
## 第一關 - 技術面試
一面由兩位 iOS 工程師進行
面試的問題一樣不外乎語言的基礎、用過的架構、用過哪些 Design Pattern、
哪些 Design Pattern 用在什麼時候、有沒有 Refactor 的經驗等
我會在文末整理最常被問到的問題,在這邊就不多贅述
沒有什麼太難或刁鑽的問題,但有些基礎問題還是沒有答對或答得很好
(例:NSString 為什麼要用 copy?),覺得非常慚愧。
面試到一半火警警報器還響起來,後來發現是虛驚一場,算是滿特別的經驗(?
HR 提到會有白板題,原以為會有演算法題目,但後來發現沒有,
只是有時候講解東西會需要用到白板來輔助而已 XD
印象滿深刻的是由於 iChef 是做 B2B 的 POS 系統,但有些店家會沒有網路,
所以 App 必須也要在沒有網路的情況下可以運作,
所以邏輯跟資料儲存都會寫在前端,因此也很重視 unit test,感覺是個很大的挑戰。
## 第二關 - HR 面試
HR 相對技術面試而言就是比較輕鬆的了
主要就是一些滿常被問到的人格特質相關的問題,了解找工作的動機等
(例:用幾個詞形容自己、覺得自己有什麼缺點?etc...)
此時 HR 也會詢問期望薪資,如果有二面的話會跟 CTO 面試
## 第三關 - CTO 面試
(很抱歉這段因為面試完沒有馬上做筆記
幾天後想起來要寫筆記已經忘掉大部分問題了)
一面約三天後收到二面通知!
二面也是一些常被問的問題
(例:遇過最困難的技術上的問題是什麼?介紹一下做過的作品)
CTO 也不吝嗇分享 iChef 團隊內部的情況,團隊的願景、團隊如何協作等
過程像聊天,CTO 人很親切,大概有一半的時間是我在發問,
問完想問的問題後面試就差不多結束了,後續跟 HR 簡單聊一下後就離開了。
[結果]
Got an offer!
兩天後收到 HR 電話通知錄取
待遇:(N+20) * 13
[後記]
面試/準備面試真的是一件很累人的事情,不論是心靈上還是身體上
心靈上要承受著面試後可能被拒絕的壓力,
就算被拒絕後還是要打起精神繼續面試下一家公司
身體上由於只能用下班時間來準備面試需要用的東西,
再加上下班後還有 side project 要顧,
光是履歷 + 整理作品集就花了我兩三個禮拜才真正完成,
更別說要整理出面試常被問到的問題,並且熟悉這些問題所花的時間跟精力有多少了
儘管如此,面了三間公司以後,讓我收穫滿滿
不論是透過和不同公司、不同的人面試,可以知道自己還有哪些地方不足
還是每間公司的面試方式、面試會問的東西、公司在乎求職者的是什麼
在這邊整理一下面試這三間公司以來,最常被問到的一些技術上的問題:
struct、class 差異是?怎麼選擇?
GCD 相關 (dispatch_sync、dispatch_async)
strong, weak, assign, copy 是什麼,分別在什麼時候使用?
retain cycle 是什麼?怎樣造成?怎麼解決?通常最容易發生在哪些情況?
Category 是什麼?
NSInteger、int 的差異是?
用過哪些 Design Pattern?
物件之間溝通有哪些 Design Pattern 可以用?Delegate 用在什麼情況?
Notification Center 用在什麼情況?
用過哪些架構?聽過哪些架構?OO架構的運作方式是?有什麼優缺點?
面到後來發現其實每家公司在乎的都滿像的(當然我樣本數只有三個不夠多)
最重要的一定還是:基本功、基本功、基本功,
如果連最簡單的 Retain cycle 都回答不出來的話,
我想也很難說服人自己可以寫出一個穩定的 App。
再來就是你懂不懂得在哪些時機,使用哪些方法
哪些情況適合用哪一種?哪些又不適合?
(例:Objective-C 中 Category 跟 Class extension 的差異是?
Delegate 跟 Notification Center 分別在哪些時機使用?)
另外有 unit test 的經驗看下來雖然不是必須,但有些公司還是會問有沒有接觸過,
如果有一點 unit test 的經驗我想應該算是有加到分的(亂猜測)
個人覺得至少要懂 Dependency Injection、Mock、Stub 這些概念。
至於演算法白板題,看了以前板上的文章會覺得好像現在刷題已經是基本中的基本,
不管到哪裡一定會考。
但我很幸運的沒有在這三次面試中遇到,不然我可能一面就通通直接被刷掉了 XD
雖然我有因此買了個白板在家自己練習、模擬解題,但在這方面還是非常非常弱,
只寫了約 50 題的 Leetcode Easy。
最後補充一點,我覺得有一個(自己的)完整獨立開發的作品也是相當重要
有一個從 0 到 1 參與的專案,會讓你對專案的掌握度非常高,
接觸到的「東西」也會相當多,技術方面一定是接觸到最多的,在面試時會很有優勢,
因為你是專案唯一的開發者,對專案非常熟悉,會有很多經驗可以分享;
再來就是和人合作、溝通的能力也會因此而培養,很多公司重視的不只是技術能力,
協作、溝通、表達的能力也是非常重要的一點。
分享到這邊,希望我的文章可以幫助到有需要的人,
如果有覺得哪裡寫得不好的地方有歡迎跟我說。
如果你是正在找工作的人,希望這篇文章有幫助到你,
也希望可以透過這篇文章給你一點信心,
祝福你/妳可以撐下去,找到心目中理想的工作!
作者: h5904098 (LBJ IS GOD)   2017-12-07 23:43:00
推推
作者: fidelity77 (小柚)   2017-12-07 23:46:00
23歲..太神了
作者: ID3238 (默默)   2017-12-07 23:48:00
作者: artorius (嵐)   2018-12-07 23:59:00
神人
作者: CumCumCum (2 hard 2 hard)   2018-12-08 00:09:00
算起來目前的n至少60k
作者: b10007034 (Warren)   2018-12-08 00:11:00
厲害
作者: snowgod (北極熊的鄰居)   2018-12-08 00:20:00
強者
作者: teddy9685 (EE)   2018-12-08 00:54:00
作者: qswitch (燕子)   2018-12-08 01:04:00
作者: jiayun0902 (RRRRR)   2018-12-08 01:18:00
好奇23y 夜間部 前面4年怎麼進步到現在得過程
作者: igoam (igoam)   2018-12-08 03:23:00
可惜, 我還是 IOS 幼幼班~ 不能直接去找相關的等到真的要再找...也老了 XD只能邊做不用煩惱的工作~有空之餘, 自己慢學, 自發, 自爽
作者: shiauji (消極)   2018-12-08 08:35:00
作者: yasmydio   2018-12-08 08:55:00
強者推
作者: brian155266 (東亞病貓)   2018-12-08 09:37:00
很厲害
作者: amethystboy (紫晶男)   2018-12-08 09:48:00
推強者
作者: bewitchsky (Shopping)   2018-12-08 10:12:00
厲害!
作者: SupaQ (SupaQ)   2018-12-08 10:33:00
作者: GKDOOMHAMMER (G.K.)   2018-12-08 11:29:00
作者: ho83leo (LWHo)   2018-12-08 11:51:00
作者: doggly (你屬豬的嗎)   2018-12-08 11:57:00
....夜校 猛
作者: samhe (ㄚ軒)   2018-12-08 12:04:00
高手在民間啊!
作者: waterseven5 (water)   2018-12-08 13:05:00
推神手
作者: erial (erial)   2018-12-08 14:19:00
!!!
作者: kevin925   2018-12-08 15:01:00
推!
作者: qwqmmmm (qwqmmmm)   2018-12-08 17:23:00
有人能解釋給我們這種非資工背景的嗎QQ 原PO超猛?大概像中興化學學士推上台積RD?
作者: GX90160SS   2018-12-08 17:33:00
強在23歲是一般人大學剛畢業的年紀就可以在軟體業破百軟體業大多正常上下班沒在靠加班撐時數的,這行也強調實際技能而非學歷
作者: iop222456 (iop222456)   2018-12-08 18:11:00
強!
作者: a0025068 (略有小魯)   2018-12-08 22:19:00
777777777推
作者: totocc (Jimmy)   2018-12-09 10:52:00
厲害
作者: wayne0530 (小天)   2018-12-09 11:46:00
作者: crystalshamu (當下)   2018-12-09 14:21:00
恭喜!! 有努力就有收穫~~~~
作者: ohburger (burger)   2018-12-10 12:19:00
太厲害了
作者: Ellsbury2 (雜貨人)   2018-12-10 13:01:00
作者: hstf (馬刺贏球就是爽\⊙▽⊙/)   2018-12-11 13:23:00
羨慕噓
作者: yawg (笑看蒼穹)   2018-12-12 12:18:00
強!經驗推

Links booklink

Contact Us: admin [ a t ] ucptt.com