作者:Petterp
这是我最近 1个月 的找工作记录,希望这些经历对你会有所帮助。
有时机会就像一阵风,如果没有握住,那下一阵风什么时候吹来,往往是个运气问题。
写在开始
先说背景: 自考本,3年经验,非大厂背景。
在现如今行情并不是很好的情况下,这些case更像是叠 Buff
一样,充满着各种限制。
个人背景比较差的情况下,那靠什么才能拿到一个 面试机会 呢?或者说,抛开目前的背景而言,还有什么可以 辅助证明 [小伙子应该值得一面] :
- 年龄 24 (能卷 / 瞎说);
Github
1k Star,多个开源库的维护者;- 清晰的职业规划与个人目标(比较虚的东西,但每个人都应该具备);
职业规划
对于技术同学而言,3年、5年 这些都是至关重要的时间节点,于我而言,刚好处于 3 年的位置。
在之前的经历中,因为团队比较自由,涉及的范围相对比较广,从业务到性能优化,再从基础设施到CI/CD。
故按照原本的职业规划,本次理想目标是:小厂,性能优化||基础架构 方向
面试经历
这部分总结了一张表,感兴趣的大家可以看看:
最开始先找了一些外包进行尝试(因为很久没有面试过了,看看市场),但尝试发现,外包本身难度比较低,故不太适合。然后尝试内推了各种小厂,但几乎都在HR关被筛掉了,所以真正能有机会面试的并不多。所以于我而言,最难的不是面试本身,而是如何通过第一道简历筛选😟。
从这个月总的面试感受来看,有准备的情况下,面试难度基本都比较适中,比如陌陌其实比较简单,相对困难一点的是: 汽车之家(基础架构)、融云(sdk)。当然这并不代表所有业务线,总体还是要根据个人简历与知识深度以及运气而定。
问什么?
当聊面试的相关问题或者方向时,直接说面试题,总不是特别好的方式,故结合自身而写了下面几个维度:
- 架构方面 (MVx系列、组件化)
- 基础技能 (
Kotlin
、ASM
、APT
) - 数据结构 (链表、哈希表,力扣热题100)
- 性能优化 (秒开、包体积、
ANR
与Crash
…) - 基础概念 (
Handler
、View
绘制、线程池 …) - 三方组件 (
ARouter
、JetPack
系列、Epoxy
…) - 项目相关 (个人角色、数据 真实性、方案 可行性 …)
- 软技能与情商 (OKR制定、个人 定位 、职业规划 …)
回到面试本身,个人本次的体验中,少有去问八股的,可能因为项目本身就有足够问的,当然这个就要根据简历以及面试官而定。
常见流程
聊到具体的面试流程,通常如下所示(根据个人经历):
- 一面(技术)
自我介绍,然后问项目中的问题(时间较长),接着会问一些常见的八股或者三方组件问题,最后算法题收尾,最后你还有什么想问的; - 二面(
leader
)
自我介绍,开始问项目,如果某个问题或者某些通用型问题频繁回答失败(分数下降),降级回到八股去问,最后你还有什么想问的; - 三面(总监||
CTO
)
有时会省略自我介绍,说说你之前做了什么,问一些OKR
以及 职业规划 上的问题,你对我们公司怎么看,你在原公司的角色等; HRBP
聊聊个人情况,预期的薪资,我们这边的情况,你对我们公司怎么看,面试的感觉如何等等;- 加面(
CEO
)
开门见山,先说公司的背景与核心业务,再说现状,比如今年的目标等;再问你之前负责的事,你的职业规划等等; HR
(聊薪)
会再问你预期的薪资,上家的总包情况等,然后再说公司这边的福利等等,最后会给你一个大概多久反馈结果(可能需要你问)。
不过一般不会有这么多轮,往往都是:2(技术)+1(HR),或者 3(技术)+1(HR) ,如果遇到 加面 ,往往都是都是对于小公司或者岗位比较重要。
一些技巧
1.简历投递
如果背景不太好,记得编辑一下打招呼消息(突出你的 技术亮点 和 社区贡献 等),优先找Boss是 技术同学 的去投递;
2.面试准备
当拿到面试邀约后,记得去体验一下所在业务线的产品,技术氛围,网上有没有相关面试资料等等,对简历中的重要部分进行整理;
3.自我介绍
不要像背诵一样,通常除了说项目本身,更重要的是需要阐述你做了什么?得到了什么关键数据?你的职业规划等;
4.面试过程
* 记得 开摄像头 ,这是基本礼节,这样也能更好的Get面试官状态变化;
* 对于没听清或者没get到的问题,不要猜,大胆再问一遍 ;
* 对于一些八股或者无法解释的问题,可以 换角度解答 。比如:这块我以前整理过,但是目前记得不是特别清,不过我可以根据我个人的理解来进行解释,不确定是否一定正确。ps: 重要的是你 如何思考 ,而非答案100%正确,善意的面试官通常也会引导你进行解答 😃
* 手写算法时,如果发现自己5分钟之内无法写出,可以告诉面试官 大概思路 即可。ps:大家时间都很宝贵,通常思路正确也可以;
5.面试复盘
对于每次面试,及时做好 复盘 ,特别是对于简历上写,如果面试中被问住,则更需要回来反复思考整理;
比如会有同学建议尝试录音,这也是一种很好的方式。不过我更多的是通过文字记录,特别的,对于一些比较重要的部分,及时做好分段分章节记录。对于一些关键业务数据,一定要确保真实可信,可论证;
6.面试结果
常常会经历等结果的过程,通常行业中默认第二天不联系,就等同于没通过。但如果比较在意这家公司,面试中还不错(75分即可),那么可以大胆在面试完隔1天后去问结果如何。ps: HR
不会因为你问他/她结果而如何,结果是业务部门定;
7.聊薪阶段
关于社保公积金的比例、公司的福利、每年调薪机会等等其他情况都可以进行提问,到了这个阶段,也就不要再藏着掖着。需要注意的是,需要自己了解现在的市场行情,当然更多的是根据上一份base而定,幅度 15-20%
左右(根据自身情况,有没有其他offer等等调整),也不要太离谱。
最终去处
最终在 融云(IM SDK) 和 回响科技(Flutter) 中间选了后者;
最终下决定的原因来源于:
我是一个比较感性的人,在这两家纠结了挺久。最后突然在小宇宙刷到了后者创始人(沈振宇)的一些fm,听了一些产品侧以及对市场的看法,冷不丁的感觉,这里也许更适合我,可能下决定时有点冲动,但站在现在的角度,这个决定是符合我的状态。引用比较喜欢的一句话:
社区不止是内容的承载,更是这部分人群的呼应与共鸣。(有修改)
虽然很 向往 高复杂场景的设计与基础设施的构建,但也喜欢 产品设计与技术本身 所带来的呼应,就像去买 pixel
,不仅仅是为了原生系统,更重要的是满足 最初的梦想 以及 探索电子产品 所带来的感受。
站在理性的角度,对于我个人的职业规划而言,显然未来更很想成为一个独立开发者(具备产品思维),前者做sdk
,虽然深度提高,但也限制了其他场景,故后者更符合我自身。不过事在人为,无论是在哪里,于我而言,都会朝着这个方向前进。
当然也要特别感谢我 女朋友 和在北京的同学们,也是他们一直在鼓励我别灰心 😃
Next(新篇章)
即将迎来新的 3-5年 ,除技术本身之外,也有下面几个新节点:
- 单词 & 英语口语练习;
Android GDE
;- 在职研究生考试;
其中 第一项 是目前最重要需要解决的,也是后两项的基础,可能会花一年时间去准备。同时在中间节点,也会去参加几场技术分享,为 GDE
铺路。
依然记得当年毕业面试时,别人问我的那个问题:你为什么选择Android?
因为热爱
写在最后
这就是最近一个月的面试记录,唠唠叨叨也写了不少,虽然结果并不像我原本所期望的那样:找个中小厂,去为履历增添几笔。
但往往并不会事事顺心,很多时候反而是 运气成分 较大。 不可否认,好的背景能加分不少,但如果能有更多的自由空间,去做比较有意思的事情,也是非常酷。
常言道:英雄不问出处,这句话某种程度上听着还是会比较遗憾。不过,生活也远不止一种方式,未来具体能走到哪里、遇到怎样的人、站到怎么样的高度,还是在于自身。
最后,希望我的经历,会对你有所帮助,愿大家都能 无限前进:)
下面推荐一些复习文档:《Android 八大知识体系》:https://qr18.cn/CyxarU
+《2023版Android 最新面试题(含Java基础、Android基础、性能优化、Framework……)》:https://qr18.cn/CgxrRy