做为去年裁人大军中的一员,为了准备年初的面试真的是勤勤恳恳坐卧不安啊。简单介绍一下,目前5年半开发经验,工做地点在上海,面的是Android高级岗,有一个认识前辈内推的。面试以前对华为作了大量的了解,并且反复刷了不下300道面试专题,面试的时候才发现这些题真是没白刷!
java
华为的面试基本就是群面,技术面,综合面,不一样的是华为最后还有英语面
1.群面
群面是分两组讨论汇报。汇报时面试官不会只让一我的说,会指派其余1~2位同窗汇报。而后就是补充发言了,这时候要主动说,被面试官叫到回答问题的通常是比较危险的。还有就是挑人评价组内表现状况,被评价表现很差的求生欲必定要强。群面主要是筛差的过程,只要对小组有贡献就行,不能不说话。面试
2.技术面
第一轮面试大概一个半小时。咱们过了一面的一块儿去吃了个必胜客算法
问过的面试题;
自定义 View!(重点!)设计模式
- View 的绘制流程。
- 自定义View的步骤。
- PhoneWindow 实例是在哪一个类哪一个方法中实例化的?
- Selector 是怎么实现的?
- View的事件分发机制
- 为何移动后点击事件还在原来的位置?
这是我以前收集的不少面试相关的专题资料,确实不少都问到了。不过此次面试遇到的问题我并无单独整理出答案来,一方面是时间精力有限,一方面是每次面试都不会是一样的几个问题。不过技术面确定是同样的,因此梳理出来给你们一个参考,但愿对在找工做的朋友能有帮助。缓存
Android 系统源码方面性能优化
- 事件拦截和分发进程间的通讯方式
- 应用的建立启动流程
- Handler 是怎么致使内存泄露的
- 第三方库的源码,Glide、OkHttp 和 Retrofit MVC,MVP和 MVVM 开发模式优缺点
- 经常使用设计模式理解
- Binder 驱动和虚拟机
数据结构和算法,Java 的经常使用集合和实现原理数据结构
- ArrayListLinked
- HashMap 的实现原理
- 缓存淘汰策略
- 红黑树和二叉树
- 最短路径规划
- 海量数据筛选
- 手写算法!
性能优化数据结构和算法
- 如何检测一段代码的执行时间?
- 界面卡顿如何修复?
- 滑动不流畅怎么处理?
- 50fps 有什么办法能够提升到 60fps?
- 内存泄露怎么检测?
- leakcanay 的原理?
线程和线程池ide
- wait() 和 sleep() 的区别?
- 同步锁线程池的参数详解?
- AsyncTask 源码参数详解?
.......性能
我能记得的大概就这些了。再啰嗦一下,简历写的好很重要!多写点干货。面试官根据简历提问,面试官会死抠简历!超级细致!
这些都是我在腾讯一个Android官方QQ群里收藏保存下来的面试题。包含了BAT各类大厂的高级源码面试题,也有java,数据结构这些基础的面试题。最近在找工做面试须要这些面试专题,和了解行业状况的朋友,能够加一下试试;830344345。里面有各类免费学习和面试资料分享,还能跟大佬一块儿交流。
对于咱们作技术的来讲,每每接触越深,就越感受自身的不足。每一天都当心翼翼就怕哪天学不动跟不上发展了
综合面和英语面
综合面能够理解为是技术面的plus版本,仍是会死抠简历,只是抠的更细了,也会问一些与工做岗位相关的问题,好比你对这个岗位有什么见解什么的,因此提早要作一些功课了。
还有些朋友会遇到boss面,这个就是聊聊天,好比“你最近遇到什么挫折?”“用英语聊一下今天的面试经历”。
英语面:这个不少普通研发类岗位的面试应该是没有的,但层级高一点的一些岗位就会有了。英语测试分为3部分,测试完须要20min。
(1)句子跟读5个,每一个就15个词吧,20秒的时间,时间很充裕。
(2)听力单选测试15个,英语4级水平吧。
(3)话题讲述。
总体的难度偏低。虽然我英语口语很蹩脚,可是对方也没怎么在乎这块,毕竟又不是面的客户经理之类须要沟通的岗位。后面蛮开心的收到通知顺利经过了面试考核,等下一步录用签约!