面经分享:Android开发3年,内推华为,4面拿下offer(附面试题和答案)

前言

本人今年25岁,毕业之后进入一家小型的互联网公司工作,在这原公司呆了3年,直至今年才有了跳槽的想法。

每个程序员 都拥有大厂梦,我也不例外,在小公司待久了,感觉人会荒废掉,太轻松,没有压迫感。因为有一位前辈的华为内推,所以我直接去了华为面试。

以下分享这次面试华为的面试题,由于文章篇幅原因,只是把面试题列了出来,详细的答案我整理成了一份PDF文档,文末有详细的免费领取方式,有需要的朋友可以到文末查看领取方式。

华为四面(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面还好,感觉都是一些常见的问题,没什么很刁钻的问题。

总结

总的来说,其实华为的面试并没有我想象中的困难。简历准备很重要, 尤其是项目经历个人blog,github这类容易加分的内容,最好能够写出来

面试时候不用太紧张,一面的时候我就明显有些紧张,脑子有点发蒙,而后面的几面调整了一下,就感觉好了很多。

最后还挺重要的要能够及时清楚地描述自己想说的内容。毕竟将来工作岗位中,少不了和同事的交流。另外清晰的描述对面试官了解你,了解你的项目会很有帮助。因此,不论是在给面试官讲述自己项目的时候,还是在回答面试官问题,亦或是想表达自己观点的时候,都需要清晰的表达。如果一时语塞,可以尝试停顿一下,整理下思路然后重新描述,只要面试官能够理解你的话,一般有些停顿是不会有什么大碍。

最后

由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。

需要的朋友可以私信我【答案】或者点这里免费领取

华为面试题答案+复习资料

猜你喜欢

转载自blog.csdn.net/m0_46962786/article/details/106817778