背景:
经常有学员出去进行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、简单说说你做过的项目?
2、有没有遇到过比较难解决的问题?
3、既然后黑屏冻屏的问题,你说说你分析的这个几个问题,是怎么分析的?
4、对SurfaceFlinger做过什么修改?
5、BLASTBufferQueue中数据的流程?
6、你说你熟悉perfetto,那么线程里面一个方法执行太久了,用perfetto怎么去分析?
7、有没有用过 perfetto 去看帧率?
8、对系统启动有没有做过优化?
9、我想开机就启动一个Native进程 怎么去启动?
10、系统的启动流程?
文章参考:
https://mp.weixin.qq.com/s/rR8kwaz5A1aL8P01zm9zyA
更多framework相关技术干货,请关注下面“千里马学框架”