这是一次线上分享的文字整理版,视频内容可以点这里查看:线上视频。
为啥会有这场分享
最近在帮团队招人,像朋友圈、脉脉、公众号添了不少推广信息,但能捞到的简历却很少,仅有的简历,能通过筛选的不足 1/3,可见招人之难。另一方面,现在找工作也挺难,因为今年被裁员的人有很多,很多公司还锁了 HC,市场整体竞争压力大。但这两个问题不应该一起出现才对,找工作人多,应该更容易捞到简历,更容易招到合适的人,然而事实却相反,这就很奇怪了,那这里面的 gap 到底在哪里呢?
最近正好有两个朋友都如愿找到了满意的工作,所以就拉他们来一起分享下面试经历。另外还邀请到字节客户端 APM 团队负责人东野浪子,让他通过面试官角度来帮我们理解招人的标准。互联网寒冬,iOS 更甚,处在找工作的节点又该如何应对,且听他们怎么说。
分享者介绍
@阿卡拉
我是阿卡拉,毕业于郑州大学本科软件工程专业,2019 年 6 月进入腾讯。在腾讯主要负责的工作一直都是客户端基础平台建设,在工程效能方面不停的探索。我是国庆节前后刚入职的抖音。
@JY
我是 JY,17 年毕业,是 iOS 摸鱼周报的联合编辑。我之前是在微盟的 App 基础技术部门工作、主要负责 APM 以及线上 Bug 排查等。因为公司裁员不得不重新找工作,目前是拿到了小红书的 Offer。
如何准备面试
@阿卡拉
腾讯在 2022 年上半年就已经开始在慢慢的砍各种业务线,当时,对于我来说,感知比较弱,主要的原因是我一直在工程效能这一块,对于业务线的情况了解不是太多,仅仅是了解到外部的一些声音。
在 5 月 30 号,我们工程效能部门很多小组也开始在裁员,但是我们组的工具平台在最近的两年发展是挺不错的,这一次裁员没有涉及到组内任何同学。
或许是因为部门裁员的力度还是不够,接下来在 6 月 30 号开始裁员,我们组涉及到的有 16 个人左右,最后仅剩下 4 个人做日常维护。
在腾讯的这三年,我发现自己的能力提升是比较快的,从进入公司的小职员,慢慢到一个大的项目的负责人,这也得益于我的 leader 和身边同事的配合。所以,总的来说,并不是我要考虑换工作,而是公司的环境让自己被迫开始换一个工作环境。
公司有 2 个月的缓冲期,缓冲期阶段除了处理手里的交接工作,同时也让自己休息一段时间,对这些接踵而来的消息做一个消化。然后就开始了我的复习计划:
- 整理 iOS 基础知识(八股文)【计划是 2 个周,实际花费 3 周】
- 计算机基础知识:主要是网络,操作系统等基础知识
- iOS 的 dispatch:一直想把该模块的源码看完,但都是比较零散的,所以去看源码做了总结
- iOS 的 dyld/objc:这个是 iOS 动态库加载的原理,所以需要去深入了解,objc 中包括很多的技术支持,如 autoreleasepool, 消息转发,AssociatedObject 机制。
- Runloop 机制,KVO 与 KVC 机制,Block 管理机制,iOS 事件处理机制等等
- 整理曾经看过的开源库:自己之所以喜欢去研究这些源码,是因为他们给我代码能力提升了很多,无论是从设计上和实现方案上都能有比较好的选择。【计划 1 周,实际花费 2 周】
- AFNetworking:iOS 网络访问最出名的网络库,没有之一
- YYCache,YYModule等由 ibireme 大神的开源组件合集
- CocoaLumberjack:也是 iOS 出名的日志库,整个仓库的设计将设计模式很好的应用
- OCMock:这个是一个单元测试组件,但是如果想验证自己的基础如何,这个仓库我觉得是最佳开源库,可以将 objc 的很多知识点应用进去。
- 项目相关【计划 1 周,实际花费 2 周】
- 单元测试自动化:整理整个单元测试的执行流程和之前的实现方案。
- 质量组件化:熟悉自己开发的所有的 SDK ,包括语音 SDK,大文件上传 SDK,屏幕录制SDK 等等。
- 变异测试:我主要负责的一个平台。变异测试的整理设计方案与之后的优化方向;梳理 Objective C 热重载执行方案与设计;LLVM 对 Objective C 语言的语法树分析并做各种能力;LLVM 的 pass 化服务梳理。
- 算法【每天早上刷算法】
- leetcode 上刷「剑指 offer」第一版和第二版,然后刷 leetcode 热题 100(热题100要看着