今天来分享一位读者美团校招Android岗位的面经。 下面是正文。 个人背景:双非本,机械专业转码。
美团一面(40分钟)
- 介绍项目
- 项目中的滑动冲突是怎么解决的?
- 实习的内容,实习过程中有什么印象深刻的?
- 现在让你改进实习工作中的某个功能,你觉得有哪些可以改进的?
- JAVA中HashMap用过吗,了解基本原理吗?
- 讲一下TCP三次握手,为什么要三次?
- Activity的启动模式
- Handler基本用法,message是怎么进入队列的?
- 了解过异步消息吗,同步屏障?(这里答view的绘制用到就被打断了)
- 怎么保证Looper线程隔离的?(ThreadLocal)
- 四大组件用的多吗?介绍一下。
- 为什么要学安卓?对安卓有兴趣吗?
算法:
- 删除链表第n个节点(不用写代码,说思路就行)
反问:
- 主要做什么业务?(美团首页架构)
- 美团的页面每次打开都有可能是不一样的布局,这个功能大概是怎么做的?(动态化技术方案,下去可以了解一下)
美团二面(1小时)
- 实习公司是做什么产品的?在实习的时候做了什么事情?(10分钟)
- 定时任务不会被系统杀掉吗?软件的保活是怎么做的?这功能在国内的产商定制的系统下能实现吗?
- 面试官这里突然介绍了自己管理的团队负责的业务,流量分发平台化的能力,美团所有的C端业务体系都是由这个部门来提供技术服务的。
- 聊到校招的笔试题有一道题,1024个节点的树最多有多少个叶子节点,问我选了什么?
- 浏览器中输入了网址,到页面渲染出来网络都做了哪些事?
- 网络是如何实现流量控制和拥塞控制的?
- 用过JAVA的泛型吗?说一下JAVA的理解。
- 知道应用的main方法是在哪个类里写的吗?
- APK都有哪些组成?(dex文件,assets文件,manifest文件等,看过但不太记得)
- APK的构建过程?
- 四大组件,广播有哪些广播类型,注册方式?
- 对哪些设计模式比较熟悉,Android或者Java中哪个类用到了哪种设计模式?
- 写一写你所知道的单例模式的写法(枚举,饿汉,懒汉,双重校验锁)
- 写一下二分查找,各种情况下都能处理到位(主要就是入参校验和避免数据溢出)
- 说一下项目中印象最深刻的,解决的最有挑战性的问题,你是采用什么方式去解决的。(说了滑动冲突,这里被表扬了:为了这个难题去把事件分发机制研究明白了)
- 平时都有哪些途径学习安卓?为什么要选择安卓开发?
- 最后问一个问题,目前手上有哪些offer?(如实回答还没有)在面试哪些公司,对哪些比较有意向?(这里肯定爆舔美团了,表明自己非常非常想去美团)
反问:
- 你对做移动端开发有什么看法?(感觉做什么都一样,主要看兴趣,兴趣是最大的推动力,坚持自己的想法就行)
- 你为什么从事移动端开发?(面试官说自己是阴差阳错被调剂到计算机专业,当时最火的是土木,他没选上就被调剂到了计算机专业,然后又读研,当时毕业时15年,也是安卓最火的时候,然后就一直做这个了)
- 部门内部会有技术分享吗?(会的,每个部门做出了什么东西都会放到公司内网上,大家都能看到,拿来用)
- 入职之后如果遇到比较困难的需求怎么办?(这个不用担心,入职之后会安排资深的导师一直带你)
总结:一定要把自己的项目和实习的事情弄清楚做了什么。然后讲解的时候保证自己的每一步都能被对方听懂。
BTW 美团的两轮技术面的面试官都巨好,我特别喜欢。尤其是二面的面试官,在我回答问题的时候,我说什么他都会有积极的回应,包括我讲项目中的滑动冲突的时候,他也能跟上我的思路。
美团HR面(30分钟)
这HR面跟我想象中的不一样啊, 感觉就是第三轮技术面,幸好我做了一些准备。
- 自我介绍
- 对安卓开发产生兴趣的原因是什么?自己现在做开发的业务水平是什么情况?
- 学校期间的项目和实习的部门主要在做一个什么业务?在这件事情当中负责了什么工作?
- 从0到1的自主学习当中,对学习是怎么规划的,自己是怎么完成这个目标的?
- 你觉得独立开发和团队合作开发有哪些区别?在这两种状态当中你是怎么去推进工作进度的?
- 你是怎么发现需求不合理,然后又是怎么跟产品沟通的?
- 在自学的过程中缺少导师的指导你是如何把握自学的方向是否是正确的,有没有能够掌握这些内容?
- 在自己的项目或者实习工作中遇到过哪些困难的事,你是如何解决的。现在去反思的话你要如何把它做得更好?
- 你对你投的岗位的团队有什么了解吗?你觉得这个团队要怎么开展日常工作?当你进入到这个团队你要如何开展工作?
- 对美团的业务有没有了解?平时有用美团app的习惯吗?
- 你做的项目或者实习的项目如何检测它的效果好与不好?有跟进用户反馈吗?如何对待用户反馈?
- 你对工作城市有要求吗?还是说北京上海都ok?
反问:
- 这个岗位在北京吗?(这个无意之举让她多问了一个问题)
- 如果入职的话,我加入的团队是技术面面试官的团队吗?(不能确定是不是上下级关系,但可以与他们取得联系)
- 校招生有哪些培养计划?(美团很重视对校招生的培养,校招生会有自己的导师,还有为期3年的培养计划,从公司,平台和部门的层面都会给到学习和资源,比如公开课,分享讲座等)
- 可以提前实习吗?(可以)
- 多久有结果反馈(10天之内,这么久吗?一般会比这个时间短)
这次能够上岸还是要靠《Android核心面试题笔记》,它占我本次成功的80%还要多!!!
欢迎准备 Android面试以及学习 Android的同学来获取收藏学习,干货很多!
这套题总共分为三十二个模块,分别是:「Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Binder、Handler、AMS、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES」,如下图所示:同时,还给出一些常见问题的思考方式,以帮助读者在面试中更好地表达自己!
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
第一章 算法和数据结构面试题汇总
第二章 Java核心基础面试题汇总
第三章 Java深入泛型与注解面试题汇总
第四章 Java并发编程面试题汇总
第五章 Java虚拟机原理面试题汇总
第六章 Java反射类加载与动态代理面试题汇总
第七章 网络编程面试题汇总
第九章 高级UI面试题汇总
第十章 Framework内核解析面试题汇总
第十一章 Android组件内核面试题汇总
第十二章 程序性能优化与数据持久化面试题汇总
第十三章 开源框架面试题汇总
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
标签:面试题,哪些,OC,美团,汇总,实习,Android From: https://blog.51cto.com/u_16163442/8042205