华为面试Android岗;群面+技术面+综合面+英语面

做为去年裁人大军中的一员,为了准备年初的面试真的是勤勤恳恳坐卧不安啊。简单介绍一下,目前5年半开发经验,工做地点在上海,面的是Android高级岗,有一个认识前辈内推的。面试以前对华为作了大量的了解,并且反复刷了不下300道面试专题,面试的时候才发现这些题真是没白刷!
java

华为的面试基本就是群面,技术面,综合面,不一样的是华为最后还有英语面

1.群面


群面是分两组讨论汇报。汇报时面试官不会只让一我的说,会指派其余1~2位同窗汇报。而后就是补充发言了,这时候要主动说,被面试官叫到回答问题的通常是比较危险的。还有就是挑人评价组内表现状况,被评价表现很差的求生欲必定要强。群面主要是筛差的过程,只要对小组有贡献就行,不能不说话。面试

2.技术面

第一轮面试大概一个半小时。咱们过了一面的一块儿去吃了个必胜客算法

作开发的最重要的就是技术面这一关!技术面是与面试官一对一的聊。首先会有3~5分钟的自我介绍,你们在自我介绍的时候必定要挑本身简历以及简历外的亮点说,作过哪些项目,带过团队经历等。重点是!敲黑板!在最后必定要说本身为何要进入华为,以及对华为的见解!

问过的面试题;

自定义 View!(重点!)设计模式

  1. View 的绘制流程。
  2. 自定义View的步骤。
  3. PhoneWindow 实例是在哪一个类哪一个方法中实例化的?
  4. Selector 是怎么实现的?
  5. View的事件分发机制
  6. 为何移动后点击事件还在原来的位置?

这是我以前收集的不少面试相关的专题资料,确实不少都问到了。不过此次面试遇到的问题我并无单独整理出答案来,一方面是时间精力有限,一方面是每次面试都不会是一样的几个问题。不过技术面确定是同样的,因此梳理出来给你们一个参考,但愿对在找工做的朋友能有帮助。缓存



Android 系统源码方面性能优化

  1. 事件拦截和分发进程间的通讯方式
  2. 应用的建立启动流程
  3. Handler 是怎么致使内存泄露的
  4. 第三方库的源码,Glide、OkHttp 和 Retrofit MVC,MVP和 MVVM 开发模式优缺点
  5. 经常使用设计模式理解
  6. Binder 驱动和虚拟机

数据结构和算法,Java 的经常使用集合和实现原理数据结构

  1. ArrayListLinked
  2. HashMap 的实现原理
  3. 缓存淘汰策略
  4. 红黑树和二叉树
  5. 最短路径规划
  6. 海量数据筛选
  7. 手写算法!

性能优化数据结构和算法

  1. 如何检测一段代码的执行时间?
  2. 界面卡顿如何修复?
  3. 滑动不流畅怎么处理?
  4. 50fps 有什么办法能够提升到 60fps?
  5. 内存泄露怎么检测?
  6. leakcanay 的原理?

线程和线程池ide

  1. wait() 和 sleep() 的区别?
  2. 同步锁线程池的参数详解?
  3. AsyncTask 源码参数详解?

.......性能

我能记得的大概就这些了。再啰嗦一下,简历写的好很重要!多写点干货。面试官根据简历提问,面试官会死抠简历!超级细致!

这些都是我在腾讯一个Android官方QQ群里收藏保存下来的面试题。包含了BAT各类大厂的高级源码面试题,也有java,数据结构这些基础的面试题。最近在找工做面试须要这些面试专题,和了解行业状况的朋友,能够加一下试试;830344345。里面有各类免费学习和面试资料分享,还能跟大佬一块儿交流。

对于咱们作技术的来讲,每每接触越深,就越感受自身的不足。每一天都当心翼翼就怕哪天学不动跟不上发展了

综合面和英语面

综合面能够理解为是技术面的plus版本,仍是会死抠简历,只是抠的更细了,也会问一些与工做岗位相关的问题,好比你对这个岗位有什么见解什么的,因此提早要作一些功课了。

还有些朋友会遇到boss面,这个就是聊聊天,好比“你最近遇到什么挫折?”“用英语聊一下今天的面试经历”。

英语面:这个不少普通研发类岗位的面试应该是没有的,但层级高一点的一些岗位就会有了。英语测试分为3部分,测试完须要20min。

(1)句子跟读5个,每一个就15个词吧,20秒的时间,时间很充裕。

(2)听力单选测试15个,英语4级水平吧。

(3)话题讲述。

总体的难度偏低。虽然我英语口语很蹩脚,可是对方也没怎么在乎这块,毕竟又不是面的客户经理之类须要沟通的岗位。后面蛮开心的收到通知顺利经过了面试考核,等下一步录用签约