年底了,想着换份工作,接受新的环境,新的挑战.
把我经历的一些面试题分享给大家,希望对2018初换工作的同学有所帮助吧.
面试地点: 南京. 具体哪些公司我就不说了.
1.ANR,发生的原因,如何去分析(traceview);还有一种情况,打开一个页面即将ANR,但并没有出现无相应弹框,过了一会儿又好了,也就是ANR临界点,如何分析这种问题.
2.Handler消息机制,如果一个消息携带两个消息实体,如何发送这个消息(我回答的是Bundle message).
3.android触摸机制.
4.4种线程池介绍(newFixedThreadPool newCachedThreadPool newScheduledThreadPool newSingleThreadExecutor), 线程池底层原理.比如newFixedThreadPool是如何来控制最大并发线程数的,最好看下源码.
5.AsyncTask核心方法,原理.
6.实现微信朋友圈小红点 论述你能想到的所有方法(我觉得往"组件间消息传递"方面想).
7.内存泄漏, 这是个老问题了,主要考察如何分析,尽量详细论述MAT分析工具.
8.你所知道的目前市场上app引导页面的实现,至少说3种.
9.andrdoid arr目录结构.(一个二进制jar包,百度一下很明了)
10.EventBus原理
11.屏幕适配,建议大家看下https://www.jianshu.com/p/ec5a1a30694b
12.一个activity管理多个fragment,以及管理机制
13.activity与fragment有和区别.
14.surfaceview与普通view的区别,以及编写自定义surfaceview流程(这个主要是因为的之前的项目里用到过,没用过的同学可以不看)
15.怎么设计一套进程简通信机制(除了论述aidl,最主要的是有自己的思想)
能回忆起来的暂时就这么多,后续我还面到新题给大家补充. 当然,有很多公司会问你目前的项目以及遇到过的最严重的Bug.想跳槽的兄弟,先把自己项目熟悉好.
fighting!