导语
本部分内容是关于Android进阶的一些知识总结,涉及到的知识点比较杂,不过都是面试中几乎常问的知识点,也是加分的点。
关于这部分内容,可能需要有一些具体的项目实践。在面试的过程中,结合具体自身实践经历,才能更加深入透彻的描绘出来。
华为四面(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希望=技能+面试
-
技能
-
面试技巧+面试题
=技能+面试** -
技能
[外链图片转存中…(img-aPiVUgyB-1621425577208)] -
面试技巧+面试题