记Android Framework开发之前(面试-入职前准备)

版权声明:本文为博主原创文章,转载请注明出处!谢谢! https://blog.csdn.net/aaa1050070637/article/details/89706261

今天是4月的最后一天,金三银四已经正式结束了。我也在这个节点,成功的从Android 纯应用开发,转为了Android FrameWork开发,节后就直接入职,具体公司不方便透露了。

先总结下面试,然后是面试过程,和我入职的准备过程。

面试第一轮,技术面试

面试采用电话面试的形式,根据我的判断,对面是一个做Android Framework开发的leader或者是经验丰富一点的同事,自我介绍,项目介绍就不说了,直接记录问题:

1.HashMap与ArrayList的区别,这个跟大多数时候遇到的问题可能不一样,一般都是问ArrayList与LinkedList的区别,我在解答的同时,顺便回答了HashMap、HashTable、concurrentHashMap的区别和具体实现的方式,最后问到了时间复杂度,这里回答的还算可以。

2.Android IPC机制,我介绍了有哪几种和Binder的具体用法,后来问到了我Binder对象由谁持有。

3.Handler可以在子线程中使用吗,根据源码,显然不能。

4.JNI开发的场景和具体的开发流程;

5.多线程处理,

6.sychronized关键字放在方法名和作用于对象时的区别;

7.ANR如何检测,我回答了BlockCanary,最后问到了traces.txt

8.Android的性能优化,我回答了代码层次,内存优化,安全优化,流量优化等,还算回答得比较全面把;

9.我之前有一篇博客写了Dalvik虚拟机的类加载机制,问了一下我写的目的,具体原理啥的。(此时我觉得是考验我写东西是否是自己深入理解,而不是简单的记录);

10.Android Camera API接口,OpenGL/ES开发等,我自己了解的也还不够透彻,我就是实话实说了;

11.问到了一些脚本语言是否有了解;

12.对加班的看法;由于我在简历上面写了英语水平还可以,就问到了我如何去安排时间学习英语;和在业余时间如何提升自己,为什么写博客等;

大概就是这些吧,第一轮面试通过了,第二天下午通知我到现场参加复试;

第二轮 复试,技术面试

这一轮面试应该是技术总监之类的,根据我的经验应该是领导级别及以上

1.对自己做的项目做了一个介绍,

2.然后问到了框架如何选型,

3.给了我一张纸,说给我一个新的项目,我如何设计,我洋洋洒洒的写了一堆关于框架设计,技术选型,注意点以及如何分配任务等,最后,效果还不错,给我点了个赞,说讲的还算不错。

4.还有一些技术点,其实就跟上面的比较耦合了;

5.如何管理自己的小团队,如何保持团队活跃激情啥的;

6.为什么考虑换工作,对自己的规划,目前待遇以及期望薪资

7.最后让我问他问题,我就问了一下目前团队的情况,和我入职后,大概接触的人群和工作等,然后叫来了HR;

HR面试

基本就没什么好说的了,主要点就是薪资和一些基本情况的了解;

面试结束后,让我回去等通知,3-5个工作日给我答复;

我还以为凉了, 不过感觉自己发挥的还不错,应该没问题,果然,第三天的下午,给我打电话,确认了薪资,然后Offer发放流程等,面试到这里就结束了。

我之前做过Android开发,Android软件集成,最近的工作做的是Android开发组长,然后最后给我定的岗位是Android FrameWor(下面简称AF)发,这个也是我自己提出来,想挑战一下的。

然后基于我对AF开发的理解,我再第二轮面试之前,查看了一些资料,总结了一些东西:

1.Linux OS的使用以及各种调试手段

2.编译Android 源码,打包,

3.framework层代码的编写

4.脚本语言的编译

5.Android 系统级应用的源码

6.bootloader、kernel等定制化

7.从Android 底层到上层的整体架构

8.拆分化(?我自己也不知道什么东西)

以后发展的方向:智能机器人,车载,智能硬件,手机,可能要再入职一个纯互联网的岗位就有点困难了。

在第二轮的面试中,我也谈到过这些,领导也觉得我还算比较踏实;

最后Offer到手了,我又咨询了一部分人,查询了一些资料;

对自己欠缺的技术点做了一个总结:

1.Framework开发

2.C/C++语言特性

3.Linux OS 开发

4.Android ROM定制、打包、升级

5.Framework启动,IPC,JNI深入理解

6.Android 性能优化,稳定性优化等(framework层次)

如今拿到offer已经好几天了,我这几天主要学习的就是

1.framework开发入门、

2.linux OS 操作(我自己在Windows下面装了虚拟机,可以测试一些东西)、

3.AMS、PMS、WMS、Input系统等Framework组件、

4.android 图像系统、

5.android源码目录结构及编译方式

当前记录一下自己的进度,马上五一了,预计的入职时间是五一节后第二周,也就是5.13日,提醒一下大家(5.12号,是今年的母亲节~~大家记得给自己的妈妈打个电话,给自己已当妈妈的老婆买点礼物啥的,心意一定要到哈~)

最后,祝大家五一节快乐

2019.4.30.12:13,大连华信记

猜你喜欢

转载自blog.csdn.net/aaa1050070637/article/details/89706261