本专栏专注分享大型Bat面试知识,后续会持续更新,喜欢的话麻烦点击一个关注
面试官: ButterKnife为什么执行效率为什么比其他注入框架高?它的原理是什么
心理分析: ButterKnife框架一直都是使用,很少又开发者对butterknife深入研究的,既然你是面试Android高级岗位,自然需要有相应被问到原理的准备,面试官想问你对注解处理器了解多少,Android编译流程有多少认识
**求职者:**应该从 注解处理器原理 与优势说起,肯定注解处理器对解放生产力的作用。然后可以引申常见的 Butterknife,Dagger2,DBFlow。这才是加分项
优势
- 我们平常在使用Java进行开发Android时,经常会需要写很多重复冗余的样板代码,开发中最常见的一种,就是findViewById了,如果一个界面有很多View,写起来那叫一个要死要死。于是我们注解处理器可以帮助解决冗余的代码的,
- 由于是在编译器进行生成的代码,并不是通过反射实现,所以性能优势是非常高的
- 加快开发速度,由于减少了写繁琐的代码,会对项目进度起有利的作用
接下来我们一起来看注解处理的原理
在android开发中,比较常用到的第三方库中,有不少用到了 注解处理器(Annotation Processor)。 比较常见的就有 Butterknife,Dagger2,DBFlow 等。
-
工作了十来个年头,也经常给内部培训,以及面试下应聘者。内训是最好的提升自己公司地位的过程,同时也会让你更快的接触上层老板。
-
有个朴素的逻辑,你给他赚到了钱,足以惊动到他注意,这就是所谓的吸引力法则。要在一个新的岗位上快速站稳脚跟,最好的策略就是在正确的方向,用实力来证明。
-
我一直在手机行业,做的是技术岗位,所以面试的都是一些应聘技术的人员。我喜欢跟应聘者聊天,也会闲聊几句,让对方放松心情,无需紧张,都是为老板打工的,不分彼此。
-
记得16年的时候,我在选择新的公司的时候,刚好踩到了招聘热潮里面,于是面试通过就显得轻而易举。我事后分析过为什么,同时我也在面试的时候主动展现这部分价值。我相信大家面试都是不超过一两小时,而我的记录有四五个小时,跟几个人一直聊。
-
我面试的都是技术岗,我们大家常说全栈,你去面试说你是个全栈,一般面试会一笑而过,而我当时展示的就是全栈,也就是整个手机应用,框架,系统底层驱动,操作系统,BootLoader,动态库原理,启动,以及产品能力。语言也不设限,不止 C ,也有Java ,perl,lua,汇编也涉及,不过这块我弱化掉了,因为这个不是我要命中的职位。
-
我做这些的目的是,展示价值,同时给出我的目标岗位,薪资期望。当你说的这些,都言之有物的时候,因为我有一些对应产品,以及技术原创输出,同时他们的技术跟我交流,能够很快发觉我们能够共频,我能在交谈中发掘他的诉求,从而给出快速的信息捕捉,以及解决思路。
-
同时还能调动气氛,找一些大家感兴趣的话题,进行分享,这些带来的结果就是,即使我暂时没有去到他们公司,也能跟他们产生连接,信任,交流,因为他们主动请求加好友,可以做个朋友来交。
-
而我在面试其他人的时候,也会关注4个方面:
-
技术能力(能干活)
-
沟通能力(协同办公)
-
三观(符合社会价值取向)
-
自我驱动(好学求知)
我在面试过程中,发现了有些人做了很多有趣的事情,表达的时候却发现,他只把这个当做需求实现,却不知道这个的市场价值。于是面试的时候,也就显得没有激情,对于自己的价值理解偏差,我当时兴奋的看到一个面试者,做了很多技术突破,而面试的时候却说得差强人意。最终他没有来我们公司,理由也比较简单,因为钱。
-
这里就是**技术人需要的市场敏锐度,能够捕捉到机会,知道自己掌握的技术价值,实现技术杠杆。**划重点,记住这句话吧,好像人生的试卷上要考。
-
**我选择公司,钱不是第一维度,当然钱多会更好。**我喜欢的是办公环境,主要是人际关系。我不喜欢职场勾心斗角,我不喜欢进行同质化竞争,没有必要。于是我找工作,找眼缘好的,也就是谈得不错,并且薪资给的爽快。
-
之前遇到一个面完提出给我加薪,欢迎我去。而我确实动心,人也确实不错,环境也在我的期望之内。但有一点我没妥协,就是要随时出差。
-
**我不喜欢随波逐流的感觉,我喜欢命运在自己手里掌握,至少不能倾斜到被人指派,完全失控的状态。**这也是我随后再一次换公司的理由,我希望尊重,以及不要直接把人和钱划等号,我喜欢的是这个状态,不是钱多少的问题。
-
即使公司出现什么问题,请敞开心扉来聊,人心都是肉长的,突破职场,还有个有趣的关系。江湖路远,来日方长。
-
我为什么要提出这么多的我不喜欢,因为我想让我自己过得更加舒适一些。于是就需要自己不断地提升自身价值,从而有了选择的能力。我们听过红海,蓝海,其实你的职场就是在拼这个,你选择了哪个领域,注定什么样的结局。
-
要在红海中杀出重围,你需要的是排在20%的价值体现,否则你就会被价格战包围,失去议价能力。
-
永远记住一点,面试的你自己就是产品,买方是公司。就如同你去商城买衣服一样,你会怎么选择呢?那些奢侈品店,卖的到底是什么呢?
尾声
开发是需要一定的基础的,我是08年开始进入Android这行的,在这期间经历了Android的鼎盛时期,和所谓的Android”凉了“。中间当然也有着,不可说的心酸,看着身边朋友,同事一个个转前端,换行业,其实当时我的心也有过犹豫,但是我还是坚持下来了,这次的疫情就是一个好的机会,大浪淘沙,优胜劣汰。再等等,说不定下一个黄金浪潮就被你等到了。
这是我在这行工作10几年积累的一些资料,如果还想继续在这行业走下去的,或者现在打算跳槽,我愿意把资料免费分享给大家。
直接点击下面链接领取
Android学习PDF+架构视频+面试文档+源码笔记
- 330页 PDF Android核心笔记
- 几十套阿里 、字节跳动、腾讯、华为、美团等公司2020年的面试题
- PDF和思维脑图,包含知识脉络 + 诸多细节
- Android进阶系统学习视频
知识脉络 + 诸多细节
[外链图片转存中…(img-o5CCh7bg-1621843856264)]
- Android进阶系统学习视频