本文主要是介绍2021年华为Android面经,移动架构师成长路线,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
**工欲善其事必先利其器,要想拿到满意的offer,必须有一定的准备。**以下列出来的东西是笔者认为应该准备的东西
* 简历中提到的,一定要有准备,别给自己挖坑
* Java准备,Java基础,有的公司会扣的很细,Java数据结构相关的类、JUC、Java的语言设计、
* JVM 推荐看一下深入理解Java虚拟机这本书
* 网络部分,推荐看一下图解TCP/IP,图解HTTP这两本书,如果觉得不满足,也可以看一些其他的,如详解TCP/IP卷
* Android Framework,推荐看gityuan的博客,并且自己看一下代码
* 第三方开源库,这个笔者保持这一直读代码的习惯,因此不会刻意准备
* 算法,推荐看一下剑指offer,leetcode随便刷一些题即可,不会太难
* 自己搜集的算法题
* 平常搜集的一些有质量的面试经验
相信每个人都有自己复习的方法,这里就不多说了。
### 面试过程
好的面试官会去发现候选人的优点,他们会根据你简历写的东西进行提问,因为,把简历上写的搞的明明白白,即可。在面试过程中,不要紧张,要突出自己的特点,有意的向自己擅长的方向引导。态度要好,要自信,如果遇到自己不会的,尽量别说自己不会,稍微思考一下,突出自己解决问题的能力。
接下来就是一些面试题。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210704/1625410174523574.jpg)
### 面试题
#### 小米公司
**电面-20分钟**
* 简单的沟通自己的工作经历
* 聊聊过去一年做的事情
* 基本上以简历上的为主
**一面-40分钟**
* 介绍之前的工作内容
* 如何统计进程的启动时间,进程启动的过程,activity启动的过程
* jvm gc
* jvm 堆和栈的区别,栈上分配
* 四种引用的区别
* 性能优化
* handler
* binder
* 算法题。最大回文字串。有getmin功能的栈,时间复杂度o1,两数相加
**二面-40分钟**
* 自我介绍
* 插件化
* binder,经过几次内存拷贝,从哪里到哪里,
* okhttp
* 跨进程eventbus
* 设计模式6大原则,常用的
* activity a到b的生命周期变化,view是什么时候显示的
* 事件分发机制
* pms activityrecord
* 看源码的动力
* jni,jnienv作用,jni线程切换
* 性能优化,fd limit
* 算法题。随机打印k个数
**三面-60分钟左右**
* 说下对Android的了解
* 事件分发机制 给了个场景 讨论了半天
* mvp优缺点,mvvm
* 相册搜索,设计。讨论了半天
* 介绍了下他们的业务
* 职业规划
### 美团
面试问的很多问题忘记。一面面试官重技术,广度+深度+基础都要有。
* jvm内存分区,那些是线程私有的
* 类加载机制
* 做的一些事情
* 泛型原理
* 一笔画算法
* 链表去重
* 滑动冲突的一个场景可以了,nestedscrollview
* gradle插件相关
* 打包过程
* tcp/ip协议分层
* http请求包 响应包
* https链接过程
* 做的东西 最有成求感的
* asm aspectj等改字节码的方式
* 职业规划
* 找什么样的工作
* 为什么离职之类的
* hybrid
### 陌陌
陌陌面试题没记住多少,总体来说和其他并无太大差别,就是考察你做的事情是不是真实做过,价值怎么样。
* 数据库优化
* 网络优化
* 多路复用,自己用udp实现quic
* 反射优化
* 介绍下自己做的事情,
* 为什么离职之类的
* apm
* 热修复,tinker
### 快手
>3面技术+1面hr
一面重java,二面重Android、项目和自身特点。
**一面java**
* ArrayList LinkedList区别,场景,时间复杂度
* 写一个单例,volatile的作用,为什么需要
* volatile如何实现,内存屏障
* 如何让GC不回收
* HashMap的数据结构,扰动函数,扩容
* 并发、锁、AQS、CAS之类的
* 线程池,线程池原理,种类。ForkJoin线程池,由于我是最近一段时间内唯一一个提到ForkJoin线程池的,所以比较加分。
* 算法 - 翻转链表
**二面 根据自己的简历问**
* 代理、静态代理、动态代理、CGLIB
* asm javaassit
* java hook,native hook
* 网络协议,tcp三次握手,为什么三次,四次挥手,为什么四次,三次行不行
* 消息队列
* 算法-按层打印二叉树
**三面**
聊业务,聊规划之类的
### 总结
总的来说,现在市场情况一般,招人宁缺毋滥,因此,很多公司喜欢技术能匹配到年限的候选人,在我看来,3年P6,5年P7是他们比较中意的。建议跳槽把握好这两个时间点。
#### 题外话
**不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~**
> 这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套**进阶学习的视频及面试专题资料包**,点击这里[免费分享](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210704/1625410175117623.jpg)
**最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。**
这篇关于2021年华为Android面经,移动架构师成长路线的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!