面试官常问的Framework底层(Handler、Binder、AMS、PMS、WMS)

在我们Android开发行业中一直流传着:**“技术好的未必底层够硬,但底层扎实的学起来进步如飞。”**这也是为什么如今的大厂都非常注重对底层原理的考察:除了可以看出面试者的“地基”,底层原理更能看出一个开发者的发展潜力。

大家在面试中也想必是感同身受,底层原理无论如何都会被问及到,无法避免就应该迎面而上,framework的面试题也是许多大厂必问问题之一。本篇就来说说Handler、Binder、AMS、PMS、WMS面试题

framework面试题分享

1、Handler篇

  • Handler 机制中,存在哪些角色?各自承担了什么功能?
  • Handler 分发事件优先级,是否可拦截?拦截的优先级如何?
  • 主线程 Looper 何时运行?
  • Handler 的 Message 可以分为那 3 类?分别有什么标识?
  • Handler 为什么需要使用底层的 epoll 来休眠?
    在这里插入图片描述

2、Binder

  • Binder机制是如何跨进程的?
  • Binder的定向制导,如何找到目标Binder,唤起进程或者线程?
  • Binder一次拷贝原理?
  • Android APP进程天生支持Binder通信的原理是什么?
  • 使用 Binder 传输数据的最大限制是多少,被占满后会导致什么问题 ?
    在这里插入图片描述

3、AMS

  • AMS是什么?什么时候初始化的?有什么作用?
  • AMS和zygote进程通信是如何实现的?
  • ActivityManager、ActivityManagerService、ActivityManagerNative、ActivityManagerProxy的关系
  • Instrumentation是什么?和ActivityThread是什么关系?
  • ActivityThread是什么?ApplicationThread是什么?它们的区别?
    在这里插入图片描述

4、PMS

  • AndroidManifest.xml在解析的作用?
  • InstallStart如何显示安装界面?
  • sartnstal流程分析?
  • pms提前缓存内存存档?
  • 四大组件如何预加载的?
    在这里插入图片描述

5、WMS

  • View的绘制流程?onMeasure职责是做什么?
  • Activity如何与window与view进行分工合作的?
  • onResume函数中度量高有效吗?
  • 线程中view.setText一定会报错吗,为什么?
  • View的绘制过程都是用的同一个canvas吗?
    在这里插入图片描述

framework的面试题除了这五个技术块除外,还有它的系统资源、事件机制UI机制等,这些都会有涉及到。毕竟面试官干的都是造飞机的事,一个也不会落下。面试面对的造火箭、造大炮的事,我们就应该准备充分;及以上的framework底层知识,我特别从大厂高工整理出的Android开发面试跳槽涨薪题库,我从他手上“ 抢“过来的。面试资料很珍贵,希望帮到需要的人。感谢就不必要了,多多点赞关注,是我最大的动力!

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。

学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。

面试大厂,除了会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

猜你喜欢

转载自blog.csdn.net/m0_71524094/article/details/126483272
今日推荐