美团Android电面1面+2面+3面
之前内推的,约好本周日上午10点面试,一共面了三面,一天面完(暂时还没有hr面,说实话面完嗓子都哑了。。)。于是分享下面经,积攒下人品。
一面大概35分钟,面试官语气很和蔼,一上来直接就开问(压根没让我自我介绍 - -!)
1.看到我实习经验上面有涉及到数据库,所以问了下增删查改语句(这个没答好,话说都差不多忘了),主键外键。(数据库这部分没答好。。)
2.计网,点击一个url经历哪些过程。tcp中的3次握手。get和post的区别,你知道还有哪些请求方法,平时用过哪些,说下情景。
3.TCP和UDP的区别,五层协议
4.线程和进程的区别,线程状态,同步锁,Java里面应用到同步锁的情景,Android哪里用到了同步锁(答了个AsyncTask里面的SerialExecutor),死锁知道么(不知道)
5.项目中做过哪些优化?简单说下。
6.问了下List中的ArrayList和LinkedList的区别,hashmap和hashtable的区别,hashmap的底层实现,如何解决hash冲突
7.算法,一个三叉树,求深度,求最大节点数
一面是问的比较基础的,还有些忘记了就没写上来(应该没答上来或者压根不懂。。)
二面45分钟
1。在线编程(没什么好说的)
2.说下EventBus,订阅过程?使用EventBus你遇到了哪些问题,EventBus可以跨进程么?如果让你实现EventBus跨进程,你会如何实现?
2.说下IPC有哪些(Messenger,AIDL,socket。。。。),如果让你分类,如何将它们分类,为什么?
3.Broadcast可以跨进程么?如果可以,是通过什么实现的?
4.了解Binder么?说下
5.了解Service么?说下bindService和startService的区别?
6.项目中的bug,你是如何解决的?解决过程。。。
7.说下java中的引用吧(强软弱虚,因为项目中用到了)
三面55分钟
1.聊项目,说下你的项目架构,做了多久,每个人分工
2.说下vitamio(因为项目中用到过),为什么不一开始就用vitamio
3.遇到过哪些bug,具体说下,如何解决的,从中学到了什么
4.说下Gson
5.说下xUtils3.0(项目中用到过。。。)
6.聊下部门,说下想去哪个部门
7.聊了下公司的一些业务,说下以后自己的方向
8.聊了下如何学习的,为什么对Android感兴趣,通过项目学习到了什么
9.三个简单的智力题,开放性的。
总的来说,面试官都很nice,一面的话基础问的比较多,二面的话主要考编程和一些项目中的细节,三面就是问项目和未来规划。还有一些面试中的细节可能忘记了,暂时就记得这么多,拜~