-
Handler
-
进程间通信
-
序列化
-
动画
-
native崩溃捕获原理
-
结合项目提问
-
Recyclerview的点击事件原理
-
启动一个空的apk,回启动几个线程
-
手写算法
A公司三面
-
跳槽原因
-
原来公司规模
-
预期薪资
-
个人优势
感受:
1.简历上写的一定要了解,并且知道原理
2.多熟悉项目,找出一些能聊得功能点
3.崩溃捕获,以及解决(java ,native)
4.优化需要知道(大厂都会问)
5.了解由点到面,需要把知识连贯起来
6.还有如果想要高薪,一定要多跳槽,一般大厂工资涨幅都是有限度的,最高涨幅百分之30,除非你特别牛皮
B公司一面
-
MediaCodec连环炮:MediaCodec报错,只有错误码,没有任何其它信息,如何解决?使用MediaCodec遇到了哪些问题?同步使用和异步使用有什么区别?
-
如何计算音频帧,一帧音频帧有多大
-
YUV基础知识,相比于RGB减少了多少空间,YUV 各个分量都是0实际渲染出来是什么颜色的,NV21和NV12有什么区别
-
MP4是如何存储音视频文件的,它是什么结构
-
OpenSL 相关的问题,如何使用。可以干什么不可以干什么
-
结合项目问题
B公司二面
1.SurfaceView和TextureView区别
2.OpenGL ES相关问题,MVP矩阵左乘和右乘有什么区别,什么是外部纹理,为什么叫外部
3.OpenGL如何渲染一个View
4.VBO是用来干嘛的解决什么问题
5.结合项目问问题
B公司三面
1.项目是什么架构,如何设计的,为什么这么设计
2.算法题:字符串反转
3.平时如何学习的
感受:音视频开发感觉OpenGL ES问的比较多
C公司一面
-
自定义view
-
Handler机制
-
组件化和插件化
-
HashMap的源码
-
retrofit和okhttp的源码用到了哪些设计模式
-
NDK静态库和动态库编译流程
-
openGL渲染模式
-
Android中的动画有哪些它们之间的区别
-
谈谈mvvm
C公司二面
-
讲之前做的项目负责哪块,根据业务采用什么架构
-
使用过哪些设计模式,项目中遇到哪些棘手的问题,如何解决的。
C公司三面
这个是hr说,整体问下以前公司的情况等问题
感受:自己简历上写的东西要熟悉,基本面试官都是根据简历来问的。对自己以前做的项目也好好梳理,提前组织好语言,挖掘项目闪光点。
D公司一面
-
Fragment和Activity生命周期联动,及Fragment显示与隐藏的一些方法
-
Handler原理
-
View绘制流程
-
事件分发
-
APP从安装到启动都做了什么
-
设计模式相关,
D公司二面
-
线程都有那些状态
-
线程锁相关的东西
-
对称与非对称加密
-
HTTPS请求过程
-
数组,链表,红黑树,二叉树等一些数据结构相关的东西,还有一些开放性的问题
D公司三面
hr面试,*回答
感受:基础最重要,不仅要会用,还要知道其中的原理,会根据你的回答逐渐深入。