2021春招面试,2021Android大厂面试经验
# 华为四面(3次技术面+HR面)
**一面(1hour)**
* 自我介绍
* 项目介绍,技术点相关。
* C++和Java区别,GC
* 线程相关,Runnable和Thread的区别。
* 线程池
* synchronized,volatile
* 继承相关,多重继承和接口
* 网络编程
* UPD,TCP区别
* 最大的优点
* 最大的缺点
* 算法,二叉树中序遍历,
> 早上状态很差,简单问题也会卡壳,希望大家还是能够选择自己状态好的时间点面试……。
**二面(40mins)**
* 自我介绍
* camera 硬件有哪些引脚。
* 问渲染管线主要有哪几个阶段?
* Android的数据存储方式等等。
* 说说mvc模式的原理,它在android中的运用。
* 谈谈你的工作经历,聊聊你的职业规划等。
* 问了一下,java有几大基础数据类型。
* 问了Activity启动的几种模式,强引用、软引用、弱引用、虚引用使用。
* 还问了我做过的App上有一个实现的自定义View问了下实现的思路。
* 又问了自定义View,三个不同的构造函数的各自作用。
* 问Scoket和Http最大的区别是什么?
> 华为面试安排非常紧张,但是反馈效率特别高,一二面结束马上会短信通知是否通过。然后隔天直接三面,流程走的非常快。
**三面(40mins)**
* C/C++基础:inline和define的区别;
* volatile的作用,应用在哪些地方,为什么不是所有的变量都用volatile
* static变量的特点
* 操作系统:线程和进程,怎么实现线程的同步
* 数据结构:对什么排序比较熟悉;二分法查找
* 现场写程序:一句代码实现,判断一个int类型的数是否是2的幂。2进制,位运算a&(a-1)
* 做软件测试什么能力比较重要?
* 白盒测试和黑盒测试的区别。
* 什么是UT?
* 问了关于规范、扩展、回调,父类的静态方法能否被子类重写等问题
* 冒泡排序算法。
* 虚拟机原理、内存回收机制等。
* 说说对华为的了解
* 为什么离职?到华为会不会不习惯?
**HR面(20mins)**
* 为什么离职
* 有没有职业规划
* 对公司未来的展望
* 以前公司的薪资待遇
* 期待的薪资
> HR面还好,感觉都是一些常见的问题,没什么很刁钻的问题。
### 尾声
最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626006785499479.jpg)
##### Android进阶学习资料库
一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626006785400066.jpg)
* ##### 自行下载直达领取链接:[点击这里前往GitHub](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)