关于面试:P7级别的Android开发跳槽面试竟被Framework-知识点难道

2次阅读

共计 1329 个字符,预计需要花费 4 分钟才能阅读完成。

金九银十到了,很多小伙伴曾经在面试或者面试的路上~

最近就有位阿里 P7 级别的 Android 研发跳槽腾讯,没想到本人十年的开发教训还没用上就受到面试官回绝,到底是怎么回事呢?

通过一番沟通了解到,他是在 Framework 常识上吃了大亏…

把握 Framework 有什么用呢?当初热门的技术热修复,插件化,所须要应用到的「欺上瞒下」都须要对 Activity 启动以及与 AMS 交互等十分精通,天然须要利用 Framework 的常识。此外,一些性能相干兼容,监听 MessageQueue 排查卡顿,甚至一些零碎更新,例如 Android 9 对 hidden API 的限度,你也须要熟知 Framework 才可能找到突破口。

举个例子,比方常说的 Handler,MessageQueue,Looper。看源码你就能够更好的了解那些概念:

  • ThreadLocal 做什么的?
  • Thread 和 Handler 的关系
  • 为什么不能在子线程更新 UI?
  • idleHandler 什么时候运行?
  • 主线程为什么循环却不会卡死?
  • ContentProvider、Broadcast、Service 是怎么利用 Message 监控 ANR 的?

再比如说 Android 的卡顿掉帧问题,很多文章都说卡顿是因为主线程耗时造成的,这其实只是一部分,其余的比方:

  • RenderThread 耗时也会导致卡顿
  • Binder 通信耗时也会导致卡顿
  • 60 fps 下没问题的 app 90fps 或者 120fps 下也可能会卡顿
  • 有时候低内存下你主线程读个文件可能都会导致卡顿

但如果你真正明确了卡顿的原理,再面对卡顿问题就不会那么慌了。

所以问题在于哪里?是你对于底层原理的理解。

置信近期有面试的小伙伴也能够感觉得到:当初面试是越来越难了!别说阿里、头条、腾讯这些大厂,就连很多中小公司面试问的都全是原理,其中 Framework 层相干的常识十分多!

Binder 和 Handler 就更是其中的必问项,相对是必须要把握的知识点!

像上面这些面试题就全是高频问题,来看看本人能不能全答上来:

Handler 相干面试题:

  1. View.post 与 Handler.post 有何不同?
  2. 主过程的 Looper 是何时创立的?
  3. 线程关联的 Looper 是如何与 Handler 绑定的?
  4. MessageQueue 中如何晋升音讯的优先级?
  5. 零碎中的同步屏障机制是怎么的?

Binder 相干面试题:

  1. Activity 启动时与 AMS 交互,binder 交互的细节是怎么样的?
  2. ActivityThread 中的 ApplicationThread 是什么作用?
  3. binder 交互过程中波及到多少个线程?
  4. 启动过程中如果想监控 binder 交互的频率,怎么做?
  5. binder 交互过程中,想要监控传输数据的大小,避免数据过大造成解体怎么做?

既然晓得常常会碰到这些问题,那么咱们该怎么答才能够取得面试官的青眼呢?

为了帮忙大家更快更好的把握其中原理,面试畅通无阻 ,特地邀请了 前阿里 P7 架构师,为大家带来《2022 年 Framework 原理解析进阶训练营》,在这里给大家筹备了一场干货十足的学习之旅,将带大家深刻 Binder、Handler,把握其原理,有须要的小伙伴能够点击下方链接,收费观看。

链接:https://www.bilibili.com/vide…

正文完
 0