背景:
经常有学员出去进行framework相关的面试,他们都会给马哥反馈一些面试题目,今天给大家整理一下方便大家进行面试前的准备
列出的面试题目大部分都是有答案的,答案可以vip群获取,有的是没有答案的,毕竟是去人家公司面试的,面试官也不是马哥,当然也就没有相关的答案,不过看到题目大家一般都可以有自己的答案,大家不确定的可以vip群中丢出来讨论。
常见面试题目汇总:
1、socketpair对比socket的区别和关系
2、socketpair创建是在同一进程,那么如何让socketpair达到跨进程通信的效果?
3、app在主线程epoll一般会监听哪几个fd(looper)
4、binder通信oneway与非oneway的区别?oneway通信时需要注意什么?
5、binder通信中不同进程的指向同一个Binder服务的客户端请求服务端时使用的handle是否是相等的呢?比如AMS服务
6、在源码中我们经常会有将binder对象当作token,利用了binder的什么原理熟悉
7、Dumpsys window windows命令和层级结构树的哪一个层级相对应?
8、如何根据dumpsys快速找到对应的代码
9、代码中dump类可以找到,但是dumpsys的指令找不到,这时有什么好的办法呢?
9.1、请问用winscope做过什么实战项目相关的问题?
10、Perfetto的线程运行状态的颜色区分
11、如何查看开机时各阶段的耗时。
12、判断权限的时候,经常会传入一个uid,这个uid跟多用户的userId有什么联系吗?
13、binder通信中经常会调用clearCallingIdentity,这个用法目的是什么?14、为什么clearCallingIdentity之后要进行restoreCallingIdentity呢?
15、input事件的流程?
16、inputreader是如何通知inputDispatch启动的?
17、聊一下IQ,OQ,WQ
18、聊一下input anr中的not response 的异常?
19、在onresume中进行耗时10s的操作,会产生anr吗?
20、在一个button点击,不松手会触发anr吗?
21、在click中进行延时10秒的操作,是否会触发anr?
22、一般遇到冻屏问题你的分析思路
23、自己进程调用自己进程的binder接口,是否通过binder驱动,请详细说明每个流程
24、普通第三方应用如果想要检测自己是否ANR有哪些方案或者思路
25、车载单屏显示多窗口,多屏你有啥实现思路?
真实面试一些案例面试题:
同学1反馈面试题部分:
1、简单说说你做过的项目?
2、有没有遇到过比较难解决的问题?
3、既然后黑屏冻屏的问题,你说说你分析的这个几个问题,是怎么分析的?
4、对SurfaceFlinger做过什么修改?
5、BLASTBufferQueue中数据的流程?
6、你说你熟悉perfetto,那么线程里面一个方法执行太久了,用perfetto怎么去分析?
7、有没有用过 perfetto 去看帧率?
8、对系统启动有没有做过优化?
9、我想开机就启动一个Native进程 怎么去启动?
10、系统的启动流程?
同学2反馈面试题部分:
1、多线程Handler?
2、讲一讲多线程?
3、layer泄露 或者 SurfaceFlinger图层数量超过限制了有什么解决办法?
4、WMS中的冻屏有没有了解过
5、讲一讲binder怎么通信???
IBinder、binder、bnbinder、bpbinder和你刚才讲的怎么对应?
6、oneway模式了解吗?你简历上说oneway的bug,具体讲解一下?
7、设计模式你常用的有哪些?
8、你做的项目有什么比较困难的地方?
9、有没有做过系统层面的优化?
同学3反馈的一个没答出来的
1、系统中经常出现的audioflinger,surfaceflinger,都是有独立native守护进程的,但是inputflinger目前都是和systemserver进程在一起,请问系统为什么要这样做,不可以把inputflinger也独立成守护进程么?
相关面试题目答案,欢迎各位vip学员群里进行讨论哈
更多framework实战开发,请关注下面“千里马学框架”