2018届应届生android面试总结
写在前面
四月份结束了拥抱变化后的大规模面试后,2018届android校招面试总结:百度,大疆,乐视,知乎在五月份里,自己进行了最后俩次面试。算是对自己的大学生涯的一个交代。
面试过程
这俩个面试,分别来自人人车和摩比神奇。
人人车
人人车的面试还算中规中矩,应该是最近业务扩展的比较厉害,整体的考察力度和难度不算很高。
一面:
1、画了几个控件的嵌套问一下事件分发。
2、Handler机制,ThreadLocal的作用和源码。
3、HashMap源码分析。
4、Service用法,IntentService作用及源码。
5、Application中使用线程做耗时操作,和启动Service做耗时操作有什么区别。
6、各种情况下Activity的生命周期,已经onNewIntent相关。
7、Binder机制的理解。
二面:
1、处理滑动冲突的常见思路。
2、自定义View相关;MeasureSpec相关。
3、Dalvik虚拟机和ART虚拟机区别。
4、Kotlin的一些语法(我又在简历上写过会Kotlin)
5、询问简历中的项目思路。
6、AIDL中写回调;Binder机制。
7、本地广播和全局广播的区别,顺序广播。
8、手写快排。
三面HR....
整体来说人人车面试的比较快,加上等待一共也就一个小时多一点。中午吃饭的时候接到了电话, 说可以发offer。
摩比神奇
这家公司是一个朋友给内推的,当时以为是一家创业公司,后来百度了一下,原来有大公司的背景。这家比较可惜吧,虽然朋友反馈说面试结果不错,但是他们想要一个有经验的开发,不大想要应届生,说再考虑考虑...然后就没有然后了...不过整个面试质量还是比较高的,技术面一共有四面。
一面:
1、画了几个控件问事件分发,分发/拦截/onTouchEvent的各种返回值的情况。
2、自定义View,画了一个有填充背景多的折线图,问我实现思路。
3、如何实现圆角,图片重叠显示交集(PorterDuff,遮罩)。
4、属性动画和View动画区别,性能上谁更好。
5、Activity的启动模式,各种back的情况。
6、常见的内存泄漏及解决方案。
7、ScrollView中有一个Button会出现什么样的问题,怎么解决。
8、ListView和RecyclerView的区别。
二面:
1、各种Activity/Window/Dialog对生命的周期影响。
2、Handler机制;为什么loop是个死循环;死循环为什么不会阻塞主线程。
3、RecyclerView的缓存机制。
4、Java中线程可以怎么用,线程在不同情况下对应什么状态。
5、synchronized和Lock的区别;乐观锁/悲观锁/分段锁
6、HashMap源码;线程安全的HaspMap多有哪些;分析一种最熟悉的。
三面:
1、文件增量扫描的思路。
2、手写:俩个顺序数组合并。
3、针对简历问实现思路。
四面:
1、线程和进程的区别。
2、Binder机制;为什么说Binder只进行了一次内存复制。
3、TCP/UDP的区别;使用场景。
4、GET/POST区别。
5、写一个生产者/消费者模型
五面HR...
尾声
整体来看,其实摩比神奇面试质量还是比较高的,可能是因为他们需要一个有经验的开发吧,最终并没有收到offer。算是比较的可惜吧。
不过也正是因为没有收到offer,也就不需要头疼选择的问题了。人人车也不错,正在业务拓展期,应该比现在的乐视要强吧....笑哭.png
本菜开源的一个自己写的Demo,这个项目拆解并组合了很多业务。目的在于遇到类似业务,可以快速的ctrl+c/v。希望能给Androider们有所帮助,水平有限,见谅见谅…
https://github.com/zhiaixinyang/PersonalCollect