二面(50分钟)
- 手写代码:删除单链表倒数第x个结点
- 手写代码:z已知,在无序数组中找到两个数x和y,使x+y=z(使用哈希表以空间换时间)
- 有没有看过Handler的源码,当MessageQueue中没有Message会怎么处理
- 说一下线程与进程,android跨进程通讯的方式,自己有没有用过
- 讲一讲AIDL原理
- Service有几种启动方式,有什么区别
- activity的声明周期和启动模式,举了一个实际场景问点击back之后的跳转
- activityA跳转到B过程中A,B的生命周期函数调用顺序
- 自定义View的相关知识
- View的事件分发机制
- 简历中提到了用Picasso做图片下载缓存,为什用Picasso,如果自己实现需要注意什么
- 说说图片三级缓存
- 知道gradle,如果module没有gradle,那能编译出来apk吗
- 有没有看过什么开源库的源码,简单介绍下
- git rebase命令是做什么的
三面(技术经理面,50分钟)
- 聊简历,疯狂聊简历,从头到尾
- 说说在实验室做的项目,项目中有什么难点
- 实习过程中做了什么东西,难点和亮点
- 我在github上挂了一个设备信息采集的代码,面试官看了代码和我讨论为什么这么写
- 平时看过源码吗
- 在学校社团工作中的工作内容
- 将来的职业规划,平时有什么爱好啊
- 聊了聊给我内推的学长
- 问我有没有什么觉得自己特别突出擅长的地方
- 有没有什么想要问的,想了解的
四面(HR电话面,30分钟)
- 手里都有什么offer
- 面试了什么公司
- 如果X公司也给Offer,你会选择美团吗?
- 为什么选择美团
- 有没有什么想问她的
面试回顾:
这就是大概能想起来的美团的面试题,总体来说还是挺顺利的。在一面手写算法的时候没考虑到最高位的进位问题,面试官提醒了一下才想到。美团的面试是一定会有手写代码的,这部分并不会计较函数名是否记住,关注点主要在思路、边界条件的控制和代码实现能力,所以拿到题一定不要着急写,多读几遍题,思路清晰之后再写。有的面试官会要求你先给他说一下思路,这样更好,说一遍更容易理清思路。在写得过程中遇到调用函数名记不住了,不要纠结卡在那里拼命想,继续往下写,毕竟实际编码有IDE自动补全。
一面面试官比较淘气,和我说他基本不问Android,因为来面试Android岗都会有所准备,问太深入又不会,所以主要考察Java方面,计算机网络,数据结构等基础知识。一面中有几道Java的问题有点想不起来了,当时也没答上来,还好面试官人很好,安慰我说没事答出来是加分项,不会扣分。最后搞了一个智力题真的是卡住了,大家有兴趣可以想一想怎么解决。
二面面试官主要考察Android相关知识,很注重原理和应用的结合,基本每个问题都会有一个附带的场景下实际应用。会问有没有看过源码,我个人觉得这个还是实话实说,因为有没有看过一问就能看出来,被识破了只会给人不真诚、不谦虚的感觉。
我的三面面试官据给我内推的学长说是我们部门的Boss,美团每个事业群的套路不一样,有些三面也是类似一二面纯粹的技术面,而我的更偏向于聊简历,会把简历从头到尾聊一遍,从项目聊到实习聊到社团活动聊到对面试岗位的认识,相比前两面来说轻松很多,感觉小Boss人很好,未来工作会挺有意思。
HR面是几天后我有点沉不住气给HR小姐姐打电话问情况时候直接面的,她们当时似乎实在忙正常批次的校园招聘,开始时候就告诉我面试成绩通过了,算是给我吃了个定心丸,主要就是想确认一下面试者的意向,毕竟这是个双向选择的过程,听说美团的HR小姐姐不太刷人,去留主要参考技术面试官的意见,所以大家如果在美团走到HR面就差不多可以放心了。
2、参与者隐私保护
如果有读者不希望暴露自己的ID,我可以在面经总结文章中隐去用户名,保护大家隐私安全。
3、最后
希望大家也可以参与到面试指南的完善中,有任何建议也欢迎写下来。还没有入群的童鞋欢迎加我微信jixiaohua888。备注 Android 指南订阅者。
题外话
我们见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
注意:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**