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