东方头条安卓工程师社招面经
东方头条
一面
· BroadcastReciver的静态注册与动态注册的区别?
· 广播的分类与工作原理
· 可以再onReceive中开启线程么,会有什么问题?
· 什么是有序广播?
· Application、Activity、Service中context的区别?能否启动一个activity、dialog?
· Fragment的生命周期?
· Fragment的构造函数为啥不让传参?
· Fragment add与replace的区别,分别对Fragment的生命周期影响)
· View绘制流程与自定义View注意点。
· Android中的每一个UI控件都是集成自View,然后这些View都具有相同的绘制流程,必须经过measure,layout和draw. view的绘制流程是在Window添加过程中,ViewRootImpl类的setView方法开始的
· 二面
· 在onResume中可以测量宽高么
· 事件分发机制是什么过程?
· 事件冲突怎么解决?
· View分发反向制约的方法?
· Android中多进程通信的方式有哪些? 进程通信你用过哪些?原理是什么?
· 描述下Binder机制原理?
· Binder线程池的工作过程是什么样
· Handler怎么进行线程通信,原理是什么?
· Handler如果没有消息处理是阻塞的还是非阻塞的?
· handler.post(Runnable) runnable是如何执行的?
· handler的Callback和handlemessage都存在,但callback返回true handleMessage还会执行么?)
· View的滑动方式
· invalidate()和postInvalicate()区别
· 三面
· View的绘制流程是从Activity的哪个生命周期方法开始执行的
· ScrollView下嵌套一个RecycleView通常会出现什么问题?
· Handler的sendMessage和postDelay的区别?
· IdleHandler是什么?怎么使用,能解决什么问题?
· 为什么Looper.loop不阻塞主线程?Looper无限循环为啥没有ANR
· SharedPreference原理,commit与apply的区别是什么?使用时需要有哪些注意?
· 就是这样啦,辞掉工作找工作不容易,希望一切顺利。
#面经##社招##安卓工程师#