Fw: [心得] 2018 iOS 面試心得已刪文

看板Tech_Job作者 (Eddie)時間5年前 (2018/12/07 23:49), 5年前編輯推噓29(3016)
留言37則, 32人參與, 5年前最新討論串1/1
※ [本文轉錄自 Soft_Job 看板 #1S2fCbI0 ] 作者: m20021991y (Eddie) 看板: Soft_Job 標題: [心得] 2018 iOS 面試心得 時間: Fri Dec 7 23:34:58 2018 [代 po] (honestbee / iChef) 最近剛結束一連串的面試 準備過程中受到 Soft_Job 板前輩的文章幫助很大, 不論是面試分享的文章,或是職涯相關的文章,都讓我受用無窮 秉著飲水思源的精神,我也想把面試心得分享出來給大家,希望可以幫助到需要的人。 背景:23y, 私大CS夜間部學士畢, 約 4 年 iOS 開發經驗 第一次分享這樣的文章,不確定把薪資直接寫出來好不好,因此還是先以 N 代替 N = 現職月薪(單位:K),現職年薪 = N * 13 文中拿到的 Offer 年薪皆大於等於 1M # Honestbee 誠實蜜蜂 (台灣) [面試獲得方式] HR 透過 LinkedIn 聯絡 [面試流程] 第一關 技術面試 (三個 iOS 工程師) - 約 100 分鐘 第二關 文化面試 (兩個 Backend 工程師) - 約 60 分鐘 第三關 Engineer VP 文化面試 - 約 20 分鐘 [面試過程] ## 第一關 - Technical Interview 由三位 iOS Engineer 面試,其中一位是 iOS team lead 看了 PTT 以前的幾篇面試分享,有英文也有全中文面試的 不知道現在到底是哪個,所以面試前很抖, 不過我這次的經驗是從開始到結束都是以中文面試 這次面試跟第一次一樣,面試完對於被問了什麼問題大概只記得一半, 不知道這樣正不正常 XD 一開始一樣不免俗的自我介紹, 介紹完畢後開始針對履歷及作品集上的項目提問, 個人覺得主要著重在: — 基本功 — 過去經歷 — 對架構的了解程度/想法 — 對語言的了解程度/想法(例: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 參與的專案,會讓你對專案的掌握度非常高, 接觸到的「東西」也會相當多,技術方面一定是接觸到最多的,在面試時會很有優勢, 因為你是專案唯一的開發者,對專案非常熟悉,會有很多經驗可以分享; 再來就是和人合作、溝通的能力也會因此而培養,很多公司重視的不只是技術能力, 協作、溝通、表達的能力也是非常重要的一點。 分享到這邊,希望我的文章可以幫助到有需要的人, 如果有覺得哪裡寫得不好的地方有歡迎跟我說。 如果你是正在找工作的人,希望這篇文章有幫助到你, 也希望可以透過這篇文章給你一點信心, 祝福你/妳可以撐下去,找到心目中理想的工作! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.12.61 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1544196901.A.480.html

12/07 23:43, 5年前 , 1F
推推
12/07 23:43, 1F

12/07 23:46, 5年前 , 2F
23歲..太神了
12/07 23:46, 2F

12/07 23:48, 5年前 , 3F
12/07 23:48, 3F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: m20021991y (36.227.12.61), 12/07/2018 23:49:39

12/07 23:59, 5年前 , 4F
神人
12/07 23:59, 4F

12/08 00:09, 5年前 , 5F
算起來目前的n至少60k
12/08 00:09, 5F

12/08 00:11, 5年前 , 6F
厲害
12/08 00:11, 6F

12/08 00:20, 5年前 , 7F
強者
12/08 00:20, 7F

12/08 00:54, 5年前 , 8F
12/08 00:54, 8F

12/08 01:04, 5年前 , 9F
12/08 01:04, 9F

12/08 01:18, 5年前 , 10F
好奇23y 夜間部 前面4年怎麼進步到現在得過程
12/08 01:18, 10F

12/08 03:23, 5年前 , 11F
可惜, 我還是 IOS 幼幼班~ 不能直接去找相關的
12/08 03:23, 11F

12/08 03:25, 5年前 , 12F
等到真的要再找...也老了 XD
12/08 03:25, 12F

12/08 03:28, 5年前 , 13F
只能邊做不用煩惱的工作~有空之餘, 自己慢學, 自發, 自爽
12/08 03:28, 13F

12/08 08:35, 5年前 , 14F
12/08 08:35, 14F

12/08 08:55, 5年前 , 15F
強者推
12/08 08:55, 15F

12/08 09:37, 5年前 , 16F
很厲害
12/08 09:37, 16F

12/08 09:48, 5年前 , 17F
推強者
12/08 09:48, 17F

12/08 10:12, 5年前 , 18F
厲害!
12/08 10:12, 18F

12/08 10:33, 5年前 , 19F
12/08 10:33, 19F

12/08 11:29, 5年前 , 20F
12/08 11:29, 20F

12/08 11:51, 5年前 , 21F
12/08 11:51, 21F

12/08 11:57, 5年前 , 22F
....夜校 猛
12/08 11:57, 22F

12/08 12:04, 5年前 , 23F
高手在民間啊!
12/08 12:04, 23F

12/08 13:05, 5年前 , 24F
推神手
12/08 13:05, 24F

12/08 14:19, 5年前 , 25F
!!!
12/08 14:19, 25F

12/08 15:01, 5年前 , 26F
推!
12/08 15:01, 26F

12/08 17:23, 5年前 , 27F
有人能解釋給我們這種非資工背景的嗎QQ 原PO超猛?
12/08 17:23, 27F

12/08 17:24, 5年前 , 28F
大概像中興化學學士推上台積RD?
12/08 17:24, 28F

12/08 17:33, 5年前 , 29F
強在23歲是一般人大學剛畢業的年紀就可以在軟體業破百
12/08 17:33, 29F

12/08 17:35, 5年前 , 30F
軟體業大多正常上下班沒在靠加班撐時數的,這行也強調
12/08 17:35, 30F

12/08 17:35, 5年前 , 31F
實際技能而非學歷
12/08 17:35, 31F

12/08 18:11, 5年前 , 32F
強!
12/08 18:11, 32F

12/08 22:19, 5年前 , 33F
777777777推
12/08 22:19, 33F

12/09 10:52, 5年前 , 34F
厲害
12/09 10:52, 34F

12/09 11:46, 5年前 , 35F
12/09 11:46, 35F

12/09 14:21, 5年前 , 36F
恭喜!! 有努力就有收穫~~~~
12/09 14:21, 36F

12/10 12:19, 5年前 , 37F
太厲害了
12/10 12:19, 37F

12/10 13:01, 5年前 , 38F
12/10 13:01, 38F

12/11 13:23, 5年前 , 39F
羨慕噓
12/11 13:23, 39F

12/12 12:18, 5年前 , 40F
強!經驗推
12/12 12:18, 40F
※ 編輯: m20021991y (60.248.176.241), 12/13/2018 11:25:31 ※ 編輯: m20021991y (60.248.176.241), 02/15/2019 14:53:54 ※ 編輯: m20021991y (60.248.176.241), 02/19/2019 10:36:54
文章代碼(AID): #1S2fQL5Q (Tech_Job)