Soft_Job 板


LINE

哈罗,大家好,版上已经很久没有 iOS 相关的分享了,而且好像没看过 Senior 的文章 我来分享最近这阵子找工作的经验抛砖引玉,看能不能吸引到各路大神来分享 先自我介绍一下,本人学历是 NTUEE 学硕,在亚东医院的系统/软体公司工作了四年,在 最後有升到 Senior,参与过的事项大概如下 1. 参与过多个 app 的维护,和新 app 开发 2. 帮忙从零开始架设内部的 Jenkins 和 fastlane 3. 从没有 framework 版控的情况导入 CocoaPods 和 SPM 搜寻职缺: 1. 求职网站: Yourator, CakeResume, Meet.jobs 等等,大部分的职缺距离目标薪资还有一段距离, 不然就是接近上限才能达到,後来我没有从这边丢履历 2. LinkedIn Jobs: 这里比上一个方法好的是容易搜寻可远端的工作,找到感兴趣的职缺还满多的。但後来 都没有投,因为要针对公司来修改 CV 要花很多精力 3. Hunter: 後来先作了一个 CV 的样板,把 LinkedIn 的状态更改为积极求职中,就陆续有 hunter 来联络了。後来有去面试的公司都是从 hunter 来的 Hunter 推荐被拒绝: 9 Count-Wink:这家觉得我开 1.8M 太高了,他们的上限似乎是 1.4~1.5 有投还没结果: Amazon Ring: 已经在 Ring 内部建档了,但都没消息 进到面试流程的公司: (新公司), 17-Wave, Xendit, Omlet, Swag, Ubiquiti, Foodpanda 面试的过程都差不多:自我介绍、白板题、测验 iOS 知识、互相问问题 下面如果没有比较特别的事项就不再花篇幅介绍 底下针对每间公司顺序作介绍,新公司放到最後,因为特别想分享他们的面试题目 17-Wave: 第一部分要设计一个聊天室,包括 UI, Cache, DB, API 大概的组成。这部分都是透过口 述进行,所以没办法说得很清楚 如果可以重来的话,应该要开 draw.io 直接画出来,可以避免来回确认,也方便後续讨论 第二部分是前一部分的延伸,如果现在有高流量的讯息要怎麽处理? UI 会不会卡(DB lock, main queue 更新时机)? API 怎麽变更设计? ... 这部分我应该就回答得不太好,因为我确实没有处理高流量的经验 结果:Wave 通知 hunter 结束面试 Xendit: (全英文面试) 有面试前的线上测验,十几题选择题和一题程式。 题目内容很广,除了 iOS 以外还有问一些网路、资料库方面的问题 除了有一题问 Http Auth 的完全看不懂以外,其他的我记得不会很困难 据 hunter 的回馈是他推荐的其他人选都没有通过测验就是了 通过测验之後与技术主管面试,刚好前一天去打疫苗,面试的时候头昏昏的 连我自己都觉得讲得很烂,不到半小时就结束面试QQ 结果:Xendit 通知 hunter 结束面试 Omlet: 这家的产品不太作宣传,但用户数量满惊人的,应该是满有潜力的公司 有面试前的作业,内容不能透漏,有测验到的技能是: data decode, UICollectionView,还有一个加分项目 通过测验之後到现场面试,一次来四个面试官。面试过程没有比较特别的题目 考了两题演算法,和一个实作画面(怎麽拆 view, 比较复杂的 autolayout 设定) 另外公司有一定比例的外籍人士,有一段面试过程要求用英文回答 结果:隔天收到感谢函 Swag: 有两题面试前的题目,我判断难度应该都是 easy 通过测验之後到现场面试,问问题的过程中,感觉到特别注重 GCD 系列 api 的用法 sync, async, serial concurrent, semaphore, group 等等 履历的部分问得非常详细,是所有面试的公司问得最多的,应该是所有写到的东西都问了 像是我写到有 RxSwift 的经验,就问了导入的时候有遇到什麽困难、怎麽处理,另外问知 不知道 Rx 後面的原理(Observer),怎麽实作 另外我有提到 UI/Unit test, refactor,就问了是从专案的什麽方向切入开始作,策略是 什麽,怎麽兼顾 release 的时程 後面还问了很多以前团队运作的流程、怎麽协作分工,以及各式各样的问题。应该是把所 有能想到的东西都问了一遍,是所有面试里面耗时最长的,花了两个小时左右 *很重要的一点,这里以後的主力会是 Flutter 开发,不过团队偏小,我记得目前是5人 结果:等待中 Ubiquiti: 团队目前有这在开发的产品,IOT相关,我猜应该和 Amazon Ring 是类似的东西,但是 Ubiquiti 有网通产品,应该有比较深度的整合。进去之後会加入这个团队 没有问比较特别的问题 结果:收到其他 offer 了,通知 hunter 结束面试 Foodpanda: (全英文面试) 有两题面试前的题目,我判断难度也都是 easy。限时一小时,我19分钟完成 AC 100% 通过测验之後由新加坡的人资面是,根据资我介绍和履历的内容询问过去的经验 另外特别提到目前团队主要使用 MVVM, VIPER 结果:太晚开始这间的面试,加上我判断可能难以 compete offer,婉拒後续面试 新公司: (全英文面试) 第一关: mobile head - 问答 (一小时) 一开始介绍公司的产品,内部的开发流程、团队组成 接下来问了一些 iOS 相关的问题,没有太深入,不过有问到一些没那麽常用的 api - frame, bounds 的区别 - 解释 autolayout 的 compress, hugging priority 第二关: iOS Developer - live coding (一小时) 第一大题是给一个截图实作目标画面,并且从指定的 api 拉资料 先用假资料来把画面建出来:UI 的部分是 CompositionalLayout, DiffableDataSource, CellRegistration,资料部分是 Codable,这里应该都算基本功 再来是要从 url 下载图片显示到 cell 里,这里就注意 background 和 main 切换 再来问分页式的 api 要在什麽时机呼叫,让画面可以随着卷动载入更多资料 第二大题要实作一个 UIScrollView subclass,让他可以有好多个 delegate 有要求一个介面来新增 delegate ( addDelegate(_ delegate: UIScrollViewDelegate ) 我的作法是这样 1. init 之後设定 self.delegate = self 2. 宣告一个容器来装所有 delegate (var delegates: [UIScrollViewDelegate]) 3. 实作每个 delegate function,传给第二步容器内的每个元素 不过这里有个陷阱是 Swift 并没有 weak array,但又必须让 delegate 是 weak ref 这里有想了一下,在面试官稍微提示之後想出来 第三题问知不知道 Optional 的实作,是两个 Case 的 enum (应该是常识?) 第四题先要我解释一下 weak, strong ref,然後问怎麽实作一个像 ARC 的系统 这里的话就是先分析一下 ARC 的规则: 1. A ref B, B ref count +1 2. ref count 归零,物件 release 第一条规则就是系统需要记住 B 被哪些人 ref,这个关系和物件被持有的方向是反过来的 第二条规则就是 A 被 release 之後,需要类似 notification 的机制找到所有被 A ref 的物件,然後把 A 从 ref list 删除 这一关的面试应该算非常顺利,有被面试官称赞对 api 很熟悉,比较困难的部分也在一点 点提示之後就想出解法,面试官看起来很意外,一直被称赞 本来一小时的安排应该只有前两大题,因为前面比较顺利所以又多了後面的部分 第三关: iOS lead - live pseudo coding 考的是系统设计,题目是设计一个西洋棋的系统,让两个玩家可以进行游戏,不用考虑 AI 我的设计是分成 Player, protocol Piece, GameRunner 判断棋子移动和吃子规则写在十作 Piece 的 type 里面 GameRunner 会记录盘面,判断获胜条件等等的 follow up 问:如果现在有个新种类的棋子,是骑士和城堡的合体,要怎麽实作 这里就是用 composition 把新的类型实作出来 结果:offer get 薪资:>2M + RSU + sign on 最後结果是只拿到一个 offer,不过已经有达到期望,其他进行中的可能也比较难compete 不然就是要等很久,再加上密集面试也累了,就结束之後的面试 最後分享一些准备面试的心得 - 刷题? 我对白板题的看法是没有需要特别准备,除非你是新人或者要面 FAANG 我自己是刷个一两题 Easy, Medium,找一下解题的手感而已 虽然前公司也是以困难的白板题出名,但这可能是必要之恶 对新人来说,没有经历可以证明程度;对大公司来说,必须快速筛掉大量的履历 但是对 Senior 来说,对苹果生态的熟系度还有建立架构的能力我觉得比解题重要多了 工作中实际需要自己实作的可能也就 BFS, DFS,剩下的在 Foundation 都有了 - 英文能力 我认为有英文沟通的能力绝对是在职涯上更进一步的关键,但这并不表示英文能力是第一 顺位,有一定程度的实力再来加强英文可能是比较适当的做法 加强的办法我自己是多听一些 podcast 和 youtube,习惯一下各种语速和口音 准备面试的部分,可以把自我介绍的内容写成稿,然後务必要试着讲几遍 follow up 会被问的部分心里也要有大概的剧本 再来是回答的时候不要紧张,也不要太担心文法是否正确,慢慢讲,确保内容清楚就好 - 进修资源 等 Xcode compile 或是通勤的时候就可以多翻翻 1. twitter: 很多大佬都挂在上面,可以获得很多第一手踩 bug 的资讯 2. 大佬的网站,推荐几个 - General: - John Sundell: 大佬中的大佬,特色是用不会太长的篇幅解释各种观念和语法 另外有经营 podcast,邀请各式各样的开发者上节目 - Hacking With Swift: 比较偏初学的资源,但偶尔还是会找到有趣的东西 - SwiftUI: - Swift with Majid: 比较进阶的技巧,也许是奇技淫巧的范围,有点难拿捏 - Mark Moeykens: 有一些免费的电子书 3. 付费资源: - PointFree: Composable Architecture 的作者,目前有几十小时的内容,除了介绍 TCA,我觉得更重要的是它引导 functional 观念的部分,大推 - Essential Developer: 处理架构和测试非常厉害,有在 youtube 直播 live mentoring session,大推 4. 周报类: - 13: 13 大大的周报 - 老司机周报: 简体中文。这里有时候混很多 Flutter 的玩意就是了,哭啊 - iOS Dev Weekly: 老字号英文周报 5. Swift 本身 Evolution, Proposal: - 行有余力的话可以来这里看看,也可以翻翻看之前的 roadmap。了解一下大佬的思考 过程,也可以了解一下 Swift feature 是怎麽产生的 大家有什麽想讨论的,欢迎在下面留言 如果有什麽不方便公开讨论,或是想询问我的问题,可以站内信 或是想办法找到我在其他平台的帐号直接私讯我(应该没有很难找?) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.171.101.163 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1639812442.A.433.html
1F:推 Raymond0710: 恭喜!推!好奇第一份工作怎麽会选择医院 12/18 15:33
2F:→ Cprimer: 楼上误会了 应该是群晖 12/18 15:40
3F:推 kyrie77: 推 12/18 15:43
4F:推 energyaup6: 强者一生推 <(_ _)> 12/18 16:41
5F:推 dapple: 感谢分享 12/18 16:45
6F:→ final01: 虽然看到後面会知道是群晖,不过前面也不用这样写吧... 12/18 16:58
7F:推 ID3238: 推一个 内容很扎实 好奇後续去哪边就职? 12/18 18:05
8F:推 tofuflower: 好奇问问你觉得现在资深 iOS 两百的职缺好找吗?web 12/18 18:48
9F:→ tofuflower: 後端我觉得现在资深那两百不会太难找(当然也不是随 12/18 18:48
10F:→ tofuflower: 便都有两百),不知道是不是自己同温层。 12/18 18:48
11F:推 asleisureto: 原来是群晖,本来还想说能从医院it直接跳2M很天生神 12/18 19:13
12F:→ asleisureto: 力XD 12/18 19:13
13F:推 Obama19: Wave有高流量? 12/18 19:13
14F:推 lonelymmm: 大推,祝楼主一生平安 12/18 19:19
15F:推 humanfly: 看了很久还想说学历这麽好跑去医院 12/18 19:30
16F:→ jimmy789lee: tofuflower,我觉得不太容易找,基本上只有hunter给 12/18 19:31
17F:→ jimmy789lee: 的缺才有达标的,可能我也需要精进一下怎麽在Linke 12/18 19:31
18F:→ jimmy789lee: dIn上找到好职缺的眼力吧 12/18 19:31
19F:推 x246libra: 厉害,英文真的是坎,好无力 12/18 19:32
20F:→ keyboard56: 看来200的缺真的凤毛麟角,大部分150比较多一点 12/18 19:35
21F:推 popcool: 从面试内容大概猜到新公司是哪家,没想到後面这麽硬,原p 12/18 19:38
22F:→ popcool: o真高手 12/18 19:38
23F:推 wei12f8158: 推强者 12/18 19:59
24F:推 Hack: 真强者 推 12/18 20:04
25F:推 WaterLengend: 资源整理推 12/18 21:10
26F:推 shiauji: 推分享 12/18 21:14
27F:推 ohmylove347: 推 12/18 21:19
28F:推 gragon: 我也以为在医院 12/18 23:06
29F:推 andy9595995: 大大太强,推分享 12/19 00:03
30F:推 holebro: 好想去群晖喔 12/19 00:05
31F:→ DrTech: NTU的找工作分享文都很有系统,个人想法,与逻辑啊。真的 12/19 00:12
32F:→ DrTech: 很欣赏有想法,有系统化找工作的人。 12/19 00:12
33F:推 eric111043: 推强者 12/19 01:21
34F:推 zmcx16: 推 12/19 01:44
35F:推 genius945: 推,强大的分享 12/19 11:15
36F:推 jj2564: 大推,感谢分享! 12/19 12:20
37F:推 MiracleShot: 恭喜升级了! 12/19 12:39
38F:推 bewitchsky: 推 12/19 15:49
39F:推 Funkshow: 跪了 12/19 16:07
40F:推 IhateOGC: 想去swag 12/19 19:56
41F:推 Mike1109: 推推 期待大神分享更多iOS相关心得 12/19 23:52
42F:推 jiujibye: 感谢分享 12/20 00:56
43F:推 kattte: 感谢分享 12/20 02:04
44F:推 hellomotogg: 推推 12/20 02:47
45F:推 worcdlo: 推,一直在想是否别急着出国,去贵司先待两年会更好 12/20 18:44
46F:推 kids1243: 推 12/20 19:21
47F:推 cacadeon: 感谢分享 12/20 20:05
48F:推 bewitchsky: 推 12/23 21:26
49F:推 mike8469: 大推! 12/25 11:57







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP