Android 开发者计划近半年的跳槽,面试四家,斩获3家Offer

  1. Handler

  2. 进程间通信

  3. 序列化

  4. 动画

  5. native崩溃捕获原理

  6. 结合项目提问

  7. Recyclerview的点击事件原理

  8. 启动一个空的apk,回启动几个线程

  9. 手写算法

A公司三面

  1. 跳槽原因

  2. 原来公司规模

  3. 预期薪资

  4. 个人优势

感受

1.简历上写的一定要了解,并且知道原理

2.多熟悉项目,找出一些能聊得功能点

3.崩溃捕获,以及解决(java ,native)

4.优化需要知道(大厂都会问)

5.了解由点到面,需要把知识连贯起来

6.还有如果想要高薪,一定要多跳槽,一般大厂工资涨幅都是有限度的,最高涨幅百分之30,除非你特别牛皮

B公司一面

  1. MediaCodec连环炮:MediaCodec报错,只有错误码,没有任何其它信息,如何解决?使用MediaCodec遇到了哪些问题?同步使用和异步使用有什么区别?

  2. 如何计算音频帧,一帧音频帧有多大

  3. YUV基础知识,相比于RGB减少了多少空间,YUV 各个分量都是0实际渲染出来是什么颜色的,NV21和NV12有什么区别

  4. MP4是如何存储音视频文件的,它是什么结构

  5. OpenSL 相关的问题,如何使用。可以干什么不可以干什么

  6. 结合项目问题

B公司二面

1.SurfaceView和TextureView区别

2.OpenGL ES相关问题,MVP矩阵左乘和右乘有什么区别,什么是外部纹理,为什么叫外部

3.OpenGL如何渲染一个View

4.VBO是用来干嘛的解决什么问题

5.结合项目问问题

B公司三面

1.项目是什么架构,如何设计的,为什么这么设计

2.算法题:字符串反转

3.平时如何学习的

感受:音视频开发感觉OpenGL ES问的比较多

C公司一面

  1. 自定义view

  2. Handler机制

  3. 组件化和插件化

  4. HashMap的源码

  5. retrofit和okhttp的源码用到了哪些设计模式

  6. NDK静态库和动态库编译流程

  7. openGL渲染模式

  8. Android中的动画有哪些它们之间的区别

  9. 谈谈mvvm

C公司二面

  1. 讲之前做的项目负责哪块,根据业务采用什么架构

  2. 使用过哪些设计模式,项目中遇到哪些棘手的问题,如何解决的。

C公司三面

这个是hr说,整体问下以前公司的情况等问题

感受:自己简历上写的东西要熟悉,基本面试官都是根据简历来问的。对自己以前做的项目也好好梳理,提前组织好语言,挖掘项目闪光点。

D公司一面

  1. Fragment和Activity生命周期联动,及Fragment显示与隐藏的一些方法

  2. Handler原理

  3. View绘制流程

  4. 事件分发

  5. APP从安装到启动都做了什么

  6. 设计模式相关,

D公司二面

  1. 线程都有那些状态

  2. 线程锁相关的东西

  3. 对称与非对称加密

  4. HTTPS请求过程

  5. 数组,链表,红黑树,二叉树等一些数据结构相关的东西,还有一些开放性的问题

D公司三面

hr面试,*回答

感受:基础最重要,不仅要会用,还要知道其中的原理,会根据你的回答逐渐深入。

上一篇:opengl实现骨骼动画-(1)原理


下一篇:openGL绘图基本框架