写点什么

复习 2 个月拿下美团 Android 岗 offer,还有点不容易啊!,最新 Android 开发进阶

用户头像
Android架构
关注
发布于: 14 小时前

也多亏了这一个月的面试时光,我走过了上海的很多地方:漕河泾、张江高科、唐镇、人民广场、陆家嘴、中山公园,之前在上海呆了 2 年去过的地方还没我面试期间去的多。



[](


)冥冥中注定




运气总是守恒的,有一些运气不好被秒杀的经历,必然也会有一些运气好拿到 offer 的。现在回想起来,当时能进美团真是冥冥中注定的,有无数次我都已经差点入职其他公司了,但是最终因为各种阴差阳错,最终都擦身而过。


谷米实业:1 轮笔试,2 轮技术面试。技术负责人比较看重逻辑思维能力,让手写代码,还问一些智力题。给的税后 11k,由于五险一金的问题没去。


飞牛网:背靠大润发,当时觉得很高大上,给的税前 13k,我当时都在看房子了,最后由于一些原因没去成,具体啥原因我自己也忘了…年纪大了,记忆力差的很。



[](


)幸运女神的眷顾




之后的选择已经不多了,就剩 2 个未面试的:平安医疗和美团,并且上海自己能投的基本都投完了,当时决定如果最后这 2 个没满意的就到深圳去(都跟父母和深圳的同学打好招呼了)。我不是一个相信运气的人,但是这次幸运女神确实眷顾了我,让我抓住了最后一根稻草。


进美团并不是一帆风顺的,拿到面试资格都费了好大劲,当时自己的简历太普通了,大概率入不了美团 hr 的法眼,但是我还是厚着脸皮投了很多部门,有些部门还投了很多次。终于,在我的死缠烂打下,有一位善良的 hr 给了我一次机会,这是我进美团的第一位贵人。


可能有同学有疑问,为什么要重复投一家公司,甚至是同一个部门?


答:每个公司都有很多部门,每个部门的 hc 数和招人标准都不一样,即便是同个部门,如果 hr 不同,标准肯定也不一样。重复投相当于是在碰运气,努力让更多的 hr 看到我们,努力让 hr 在不同的日子里看到我们,兴许 hr 今天心情好就给我们个面试机会了。


3 月底开始面试的,到面试美团的时候已经 4 月底了,这面试的时间里,我们不能荒废了学习,还是要持续不断的复习和学习。当时我就在这 1 个月的时间里学了:性能调优,开源框架思想设计高级教程,而且在面试美团就用上了…,你敢信。



美团 1 面的小哥是我的第二个贵人,这个老哥贼实在,就对着我简历写的专业技能一个个的问,真的把我写的每一个点都问了…


咱这么老实的人,写在简历上的都是比较有把握的,因此这个小哥的问题我基本全答上了。不仅过了 1 面,而且可以确认小哥给我的评价很高(因为后面入职发现我比其他同学的定级高一级)。


美团 2 面就是主要问项目了,我又把我那蹩脚的项目拿出来讲了一遍,面试官问的很细,把整个项目从头到尾细聊了一遍,如果没准备好可能会扛不住,最后还给出了一些他的建议(其实就是装一波逼)。



Hr 面就比较简单了,一般是介绍当前的业务,问我对业务是否感兴趣啊,平时有没有在学习等等。对于这些问题,舔就完事了,把握好舔的尺度,不要舔的过于浮****夸一般都莫得问题。


不过也会有一些送命题,例如:能接受的底线薪资,如果低于该薪资会放弃本公司的机会。


我当时是这么回答的:“底线薪资:无,由于对贵公司的前景比较看好及相信贵公司会给出一个合理的薪资,本人将考虑贵公司给出的任何薪资”。现在回头来看这个回答,舔的还算凑合,有一些细节在里面


就这样,我不可思议的拿到了美团的 offer,薪水也超过了我的预期。


[](


)进大厂的诀窍




经过这几年的摸爬滚打,我发现进大厂确实有一些诀窍,对于和我一样背景一般的同学,只要你抓住了诀窍,进大厂不是梦。


1)一定要提前准备,至少准备个一个月,网上的面试题多看看,对于那些高频题目,带着理解去学习,实在不能理解的就背下来,大家高考的时候不都是背过来的。


2)大厂通常有很多部门,每个部门的 hc 数和招人标准都不一样,即便是同个部门,如果 hr 不同,标准肯定也不一样,重复投简历可以增大我们拿到面试机会的概率。同理,重复面试不同的部门,也可以增大我们进大厂的概率。


3)大厂经常会布局新业务,新业务需要快速启动入场,hc 通常会有很多,因此招人的标准会稍微降低,这个时候是个绝佳的机会。我当时进的就是个新的业务部门。


[](


)写在最后


===============================================================


可能有人会觉得我进入美团太幸运了,是小概率事件,不值得参考。


答:进入美团确实有运气成分,我自己也是这么觉得的。但是在大厂混了几年后,我发现这真不是小概率事件,很多人都是这么过来的,好多同学都是面了 N 次才进的大厂。


有时候,选择比努力更加重要,机遇比奋斗更加重要。但是,机会只留给有准备的人。我们只有时刻准备着,才能在机会到来的时候,去抓住它。


我很幸运的是,当我准备好的时候,机会来了。从此以后,我变成了一个相信运气的人。


我相信,越努力,越幸运

[](

)Android 架构学习路线与面试题分享:


1.架构师筑基必备技能:


Android 应用是由 Java 语言进行开发的,SDK 也是由 Java 语言编写,所以我们要学习 java 语言。另外,虽说 kotlin 语言得到了 Android 官方的热推,但是 kotlin 也是编译成了 java 语言再运行的。对于 Android 来说,只要 SDK 没有用 kotlin 重写,那么 Java 语言是都需要学习的。而且 Androidapk 的后台服务器程序大概率是 java 语言构建,所以学习 java 也是一种必然。


那么 Java 中哪些东西是我们 Android 程序员需要学习的呢?由于 Android 程序员习惯了 CV 代码块,所以与 Android 中比较相关的稍微比较难的 Java 基础几乎都是一个门槛,像泛型,多线程,反射,JVM,高效 IO,注解,序列化等,都是被 CV 的对象,而程序员是不懂原理的,具体内容如图所示。



2.Android 框架体系架构——Andlroid 高级 UI 与 FrameWork 源码


说到 FrameWork 别的不说,你只要去 Github 上看一下腾讯 Matrix 的源码,就知道 Framework 的知识有多重要了。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……



3. 360°全方面性能调优


Android 性能调优方面包括了很多知识点,其中关键的就有设计思想与代码质量优化, 程序性能优化,开发效率优化, 我们开发者将这些统称为 Android360°全方面性能调优。 其实在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:


测评:对系统进行大量有针对性的测试,以得到合适的测试数据。


分析系统瓶颈:分析测试数据,找到其中的 hotspot(热点,即 bottleneck)。


性能优化:对 hotspot 相关的代码进行优化。



4.解读开源框架设计思想


在 Android 开发中开源框架设计思想中的知识点也是较为重要的,相信大家都可以看到在每个公司招聘当中,对 Android


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


开源框架要求都是比较严谨的。而想要完全搞懂还得学会整理和规划:我们常见的 Android 热修复框架、 插件化框架、 组件化框架、 图片加载框架、 网络访问框架、 RxJava 响应式编程框架IOC 依赖注入框架、最近架构组件 Jetpack 等等 Android 第三方开源框架,这些都是属于 Android 开源框架设计思想的。如下图所示:



5.NDK 模块开发


Android 平台从诞生起,就已经支持 C、C++开发。众所周知,Android 的 SDK 基于 Java 实现,这意味着基于 Android SDK 进行开发的第三方应用都必须使用 Java 语言。但这并不等同于“第三方应用只能使用 Java”。在 Android SDK 首次发布时,Google 就宣称其虚拟机 Dalvik 支持 JNI 编程方式,也就是第三方应用完全可以通过 JNI 调用自己的 C 动态库,即在 Android 平台上,“Java+C”的编程方式是一直都可以实现的。在最近比较吃香的音视频开发技术也是属于 NDK 模块开发。关于音视频进阶方面可看这篇文章:关于音视频进阶方面可点击这篇文章:[作为一个 Android 程序员,精通音视频开发,寒冬再冷也冻不到你](


)



6.架构师练成实战


在学好以上知识后就应该运用到实战当中了,在常见的实战当中:架构设计,网上商城项目实战,新闻客户端项目实战,多格式播放器项目实战,Gradle 自动化项目 都是属于重中之重的。



当然还有小程序项目实战也是 Android 开发者必须搞懂的:



7.微信小程序


阿里架构师对小程序的看法:


第一点,不管小程序能不能在未来的时间里在移动端大放异彩,学习它,掌握它,都是没有任何坏处的。


第二点,就目前的版本而言,还是太过封闭。开发小程序就感觉像是在微信给我们划定的一个小圈子里兜兜转转,在圈里也许我们能得到很良好的开发体验,但是一步都出去不得。


第三点,在性能与便捷之间,最终往往会是便捷取胜。


第三点,能用 js 开发的,最终都会用 js 开发。



8.Hybrid 开发与 Flutter


想要成为一名优秀的架构师,需要掌握的知识是有点篇多,出来新的技术也不能落下学习,正像 Flutter


在 flutter 中,一切皆控件!一切皆控件!一切皆控件!牢牢记住这个概念。Text 是控件,Image 是控件,Icon 是控件,布局脚手架也 Scaffold 也是控件,甚至整个 APP 也是控件。



针对学习路线大纲配套整理了相关方面的资料,都已整理成 PDF 文档,也是借此机会免费分享给大家的:


1.架构师筑基必备技能:



用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
复习2个月拿下美团Android岗offer,还有点不容易啊!,最新Android开发进阶