一次互联网音乐领域巨头的面试

前言:

最近到一家国内互联网音乐领域巨头面试,对此作记录,希望对其他人也有帮助。因为在疫情期间,所以采用远程视频面试,个人觉得相比以前方便了很多,希望以后面试也都改为远程视频面试吧哈哈。

一面:

自我介绍

最擅长什么安卓技术(我回答自定义View,这个问的不多)
自定义View主要的流程方法?
onMeasure方法的参数及其意义?
测量阶段是什么遍历方式?

描述下Handler机制实现流程?
Handler如何进行跨线程发送消息?
ThreadLocal原理?
Handler消息队列如果为空会怎么处理?
Handler死循环为什么不会ANR?
ANR是怎么产生的?
底层是怎么实现ANR机制的?
ANR的弹出框为什么能在应用阻塞的情况下弹出?
ANR的弹出框是从哪里弹出的?

requestlayout调用后真正刷新视图是什么时候,简述其实现?
多次调用requestlayout会多次刷新视图界面么?
简述视图渲染的流程?
渲染同步信号是从哪里发出来的?

retrofit有什么优点?
retrofit用一个接口就表示一个请求的原理?

描述HashMap工作原理?
HashMap怎么进行扩容?
HashMap为什么扩容是以2倍扩容?
为什么Java推荐一个类如果重写了equals方法就要同时重写hashCode方法?

ConcurrentHashMap原理(要说出不同版本的区别)?

能否简述一个Java类加载到虚拟机的过程?

(一面暂时能想起来就这么多了。。)

二面(组长面,问的问题比较少):

自我介绍

描述HashMap工作原理?(大家都喜欢问HashMap啊哈哈)

为什么安卓跨进程通信选择Binder?

简述热修复和插件化原理?

使用MutiDex有没有遇过什么问题?

安卓事件分发机制最接近什么设计模式?

如果引入一个第三方的库,你会考虑什么问题?

面向对象的设计原则,是否在工作中的运用过一些设计模式及其原则?

Java线程阻塞有多少种情况?

三面(交叉面试)

自我介绍

最擅长什么安卓技术(我回答自定义View,这次面试官重点猛攻自定义View了)
自定义View主要的流程方法?
onMeasure方法的参数及其意义?
如果自定义一个TextView,父View宽高固定,分别说下布局文件中传入matchParent,wrapcontent,精确数值的时候onMeasure传入的参数以及onMeasure的处理方式?
onLayout方法的参数及其意义?
onDraw有什么注意要点?
如何自定义一个流式布局(类似一个会自动换行的横向LinearLayout),简述流程?
简述如何写一个自定义viewgroup,所有子view 的宽度都和宽度最大的view相同,所有子view横向从左到右依次排列,直到要超出viewgroup的时候换行,如果宽度超过viewgroup的一半则为viewgroup宽度一半并居中。viewgroup为宽固定数值高wrapcontent?

简述如何用OpenGL做出视频处理特效呢?(我简历有写)

你可能感兴趣的:(Android进阶)