Android 开发者计划近半年的跳槽,面试四家,斩获3家Offer
Posted 冬天的毛毛雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 开发者计划近半年的跳槽,面试四家,斩获3家Offer相关的知识,希望对你有一定的参考价值。
作者: 李龙
概述
最近我一直在执行一次我计划了近半年的跳槽。总得而言还不错。说下我的情况。我是去年年底开始计划,六月份开始准备,投了100+家公司,拿到了20+个面试,总共面试了四家,拿到了3个offer,周期差不多是一个月时间。
这个面经可能不是适合所有人,毕竟这次不是一线大厂的面经。不过内容可能你看了至少会发现自己还缺乏哪方面的知识点。适合人群:
- 学历一般
- 技术一般的中级开发:毕业1-3年
- 安卓应用层开发
在前面的文章中我已经谈到了如何投递简历和筛选面试和offer的,这边我就不废话了。
技术储备
首先说一下,针对面试我们需要会一些什么。不管是android基础还是Java基础以及常见的数据结构和算法,这些是无原则地必须要熟练掌握的,尤其是非计算机专业的同学,面试官一上来肯定是问你基础,要是基础表现不好很容易被扣上基础不扎实的帽子,常见的就那些,只要你平时认真思考过基本上面试是没太大问题的。
俗话说的好,面试造火箭,工作拧螺丝。所以,该准备的还是要准备。有些东西长时间不看会忘,但有些东西长时间不看也不会忘。所以学习的方式很重要。好了扯远了,下面进入正题。(面试题的顺序可能不一样,印象中记忆的面试题)面试公司
面试过程
接下来就是各公司的面经了,分享出来供大家参考。
A公司一面
- java引用,以及引用队列,以及使用场景
- 拆装箱
- LeakCanary
- map
- 线上性能监控
- SharedPrefrence 遇到的问题
- 手写算法
A公司二面
- 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面试,自由回答
感受:基础最重要,不仅要会用,还要知道其中的原理,会根据你的回答逐渐深入。
谈谈非技术面试
上面的问题大多数还是技术面。我这边稍微说下非技术面,一般非技术面试考你是沟通能力,表达方式,情商等众多方面。不过一般都会环绕公司的发展方向,产品等问题进行讨论。所以,单单技术好还是差一点的。比如某些公司问道,从用户角度,谈谈我司的产品怎么样?所以在面试之前,最好下一下面试公司的app进行了解。如果没找到app也可以上公司官网进行了解。
最后
跟大家分享一下我这面试前期进行收集整理复习的一些 Android 开发相关的学习文档、面试题、Android 核心笔记等等文档,希望能帮助到大家学习提升,如有需要参考的可以直接去我 CodeChina地址:https://codechina.csdn.net/u012165769/Android-T3 访问查阅。
好了,暂时只能想到这些,后面如有想到其它东西再补充哈,祝想找工作的同学都能去自己心仪的公司,前程似锦!
以上是关于Android 开发者计划近半年的跳槽,面试四家,斩获3家Offer的主要内容,如果未能解决你的问题,请参考以下文章
2022上半年《Android面试题合集+完整体系学习指南》,一步实现跳槽涨薪
2019 1.5年 Android跳槽面试复盘 今日头条 有赞 贝贝网 涂鸦智能