然后AMS将入口Activity信息传递给APP。
APP启动对应入口Activity,并且创建对应上下文并且调用Activity的onCreate方法。
3、进程间通信,AIDL,Binder。扯了一会说进程间通信平时怎么做的,就说了一下AIDL相关的Demo实现什么的。说到了自己程序里面有拉起微信的这个功能(也就是广播)。
4、设计模式了解吗,平时用过哪些设计模式。
5、算法题:输入一个数n,代表有n个点,一个二维数组,二维数组代表相连的点,要求输出连通起来的点。
如果n=6,数组假设是{{1,2},{2,3},{4,5}},则输出{{1,2,3},{4,5},{6}}
吐槽一下,本来约的早上9.30和10.30两轮面试,一次约两轮我也是醉了。然后就二面拖了快一个小时才面上。早起代码状态真的差,这两题都写了分别用了快20分钟,真的捉急。
一个午觉起来,收到了面试通过的短信,效率还是非常高的。还以为挂了呢,看来只是面试官想吃饭了……
三面(<30分钟):
0、自我介绍
1、上家公司做的项目
说了RePlugin框架原理,说了ffmpeg动态链接库开发方面的失败经历,说了Android的适配,和最近影响到的AndroidQ相关新特性的适配。
2、什么情况下会压力特别大,怎么处理的。
3、职业规划
…
综合起来就是了解个人情况,技术问题都是自己说的。还是非常愉快轻松的。
**总结:**华为面试安排非常紧张,但是反馈效率特别高,一二面结束马上会短信通知是否通过。然后隔天直接三面,流程走的非常快。
问了hr,说只要通过了面试,一周左右就会下来offer。
1、理论知识的梳理
因为面试时考验你原理性的知识,虽然我工作了两年,但是毕竟是工作,很多理论知识都忘的一干二净,于是去面试前,我利用收集来的Android行业大牛面试笔记给自己做了一次完整的知识梳理。
(个人建议:去面试之前,给自己做一次完整的知识梳理是很有必要的,不仅加深了对理论知识的认知,还可以从中知晓自己对哪一模块的不了解,加深学习)
**Java基础方面:**JVM、String、内部类、多态、抽象和接口、集合框架(Hashmap、Arraylist)、单例、线程、Synchronized、Look锁、动态代理、引用
**Android基础方面:**四大组件、View、进程、Bitmap、屏幕适配、消息机制、线程异步、WebView。
**Android扩展方面:**ART、Apk优化、Hook、Proguard、架构(MVC/MVP/MVVM)、Jetpack、NDK开发。
**Android源码方面:**Leakcanary、Eventbus
**设计模式方面:**面向对象六大原则、工厂模式、单例模式、建造者模式、观察者模式、适配器模式、策略模式、代理模式
算法方面: 排序、二叉树、链表、栈和队列、二分、hash表、堆、数组/双指针、字符串处理、动态规划
**网络知识:**Http(缓存、Https、Http2.0)、TCP(三次握手四次挥手、socket)、类加载器
2、刷题
对于面试,刷题是非常重要的,刷题不仅能加深你对技术原理的认识,而且假如刷到当天的面试题血赚(不过,这种可能性非常小),但刷题还是很有必要的,起码加深了自己对原理、底层的理解。
需要刷题领取上方资料的朋友请点击【GitHub】获取!!!
3、完善简历
大家都知道去面试的过程中,简历对于面试有着至关重要的作用,一份观赏清晰的简历能帮助求职者在面试官心中有着非常不错的印象,仅仅从这一点来看,简历的完善就是非常有必要的。
简历该怎么写?
1、尽可能突出自己的优势
制作简历一定要学会突出重点,写出自己的优势,如你在上一家公司做出的贡献,就要写在显眼的位置进行突出,用颜色加深再好不过。如果你的优势是学历,那么学历就要放在第一页,因为HR在筛选简历时,一份简历往往只看那么几秒钟,你需要做到的就是让HR一眼看中你的简历。
2、描述自己做到了什么,而不是做了什么
很多程序员会在自己的项目或是技术栈里这样描述:在某项目,我负责xxxx,如重构,如优化。但实际上,面试官想要看到的是你在项目中,重构和优化带来了什么样的好处和效果,如果说性能提升了,那么提升的数据和情况是如何的,要一一描述出来,所以重点应该是“将项目做到了什么样子,做成了什么事”。
完成这两点,一份漂亮的简历即可出炉。
总得来说,这次面试能拿到offer,也跟我之前的努力分不开的。其实做程序员圈子很重要,因为有了圈子可以让你少走弯路,拓宽人脉,拓展思路,学习他人失败和成功的经验,获取最新经验与信息,才能抱团取暖!所以说,圈子的高度很大部分决定人生的高度!
大家努力奋斗吧!与之共勉。
上文所涉及到的Android行业大牛的**@Android知识点梳理复习资料+@高级进阶面试题汇总等PDF**,需要的朋友请点击【GitHub】获取!!!
喜欢本文的话,不妨给我点个小赞评论区留个言支持一下呗~
尾声
开发是需要一定的基础的,我是08年开始进入Android这行的,在这期间经历了Android的鼎盛时期,和所谓的Android”凉了“。中间当然也有着,不可说的心酸,看着身边朋友,同事一个个转前端,换行业,其实当时我的心也有过犹豫,但是我还是坚持下来了,这次的疫情就是一个好的机会,大浪淘沙,优胜劣汰。再等等,说不定下一个黄金浪潮就被你等到了。
- 330页 PDF Android核心笔记
- 几十套阿里 、字节跳动、腾讯、华为、美团等公司2020年的面试题
- PDF和思维脑图,包含知识脉络 + 诸多细节
- Android进阶系统学习视频
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!