华为Android岗面经;群面+技术面+英语面+面试题详解
前言
昨天是我去华为面试的整整一天,早上9点开始出发,一直弄到下午5点半,终于完成了所有的测评和面试!
简单说一下,我面的是Android高级开发职位,一个华为的前辈内推的。目前5年半开发经验。面试之前对华为做了大量的了解,而且反复刷了不下300道面试题!如果有正在准备面试的同学,文末可以免费分享我整理的这些面试题,希望大家都能面过一个好工作哈哈。
华为的面试基本就是群面,技术面,综合面,不同的是华为最后还有英语面
1.群面
分两组讨论汇报。汇报时面试官不会只让一个人说,会指派其他1~2位同学汇报。然后就是补充发言了,这时候要主动说,被面试官叫到回答问题的一般是比较危险的。还有就是挑人评价组内表现情况,被评价表现不好的求生欲一定要强。群面主要是筛差的过程,只要对小组有贡献就行,不能不说话。
2.技术面
第一轮面试大概一个半小时。我们过了一面的一起去吃了个必胜客
image做开发的最重要的就是技术面这一关!技术面是与面试官一对一的聊。首先会有3~5分钟的自我介绍,大家在自我介绍的时候一定要挑自己简历以及简历外的亮点说,做过哪些项目,带过团队经历等。重点是!敲黑板!在最后一定要说自己为什么要进入华为,以及对华为的看法!
3.问过的面试题;
(刷的那些面试题真没白瞎,很多都问到了。文末会分享给大家)
自定义 View!
- View 的绘制流程。
- 自定义View的步骤。
- PhoneWindow 实例是在哪个类哪个方法中实例化的?
- Selector 是怎么实现的?
- View 动画是怎么实现的?
- 为什么移动后点击事件还在原来的位置?
Android 系统源码方面
- 事件拦截和分发进程间的通信方式
- 应用的创建启动流程
- Handler 是怎么导致内存泄露的
- 第三方库的源码,Glide、OkHttp 和 Retrofit MVC,MVP和 MVVM 开发模式优缺点
- 常用设计模式理解
- Binder 驱动和虚拟机
数据结构和算法,Java 的常用集合和实现原理
- ArrayListLinked
- HashMap 的实现原理
- 缓存淘汰策略
- 红黑树和二叉树
- 最短路径规划
- 海量数据筛选
- 手写算法!
性能优化
- 如何检测一段代码的执行时间?
- 界面卡顿如何修复?
- 滑动不流畅怎么处理?
- 50fps 有什么办法可以提高到 60fps?
- 内存泄露怎么检测?
- leakcanay 的原理?
线程和线程池
- wait() 和 sleep() 的区别?
- 同步锁线程池的参数详解?
- AsyncTask 源码参数详解?
.......
我能记得的大概就这些了。再啰嗦一下,简历写的好很重要!多写点干货。面试官根据简历提问,面试官会死抠简历!超级细致!
4.综合面和英语面
综合面可以理解为是技术面的plus版本,还是会死抠简历,只是抠的更细了,也会问一些与工作岗位相关的问题,比如你对这个岗位有什么看法什么的,所以提前要做一些功课了。
还有些朋友会遇到boss面,这个就是聊聊天,比如“你最近遇到什么挫折?”“用英语聊一下今天的面试经历”。
英语面:这个很多普通研发类岗位的面试应该是没有的,但层级高一点的一些岗位就会有了。英语测试分为3部分,测试完需要20min。
(1)句子跟读5个,每个就15个词吧,20秒的时间,时间很充裕。
(2)听力单选测试15个,英语4级水平吧。
(3)话题讲述。
整体的难度偏低。虽然我英语口语很蹩脚,但是对方也没怎么在意这块,毕竟又不是面的客户经理之类需要沟通的岗位。后面蛮开心的收到通知顺利通过了面试考核,等下一步录用签约!
5. 《大厂面试资料含答案详解锦集》
开发是面向对象。找工作是面向面试。这里我在收集了一套最新的Android面试专题合集。这些题目是今年群友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率
点击获取面试资料;《大厂面试资料含答案详解锦集》