美团android开发(一面)面经

一面 4.23 电话面(1小时30分钟)
个人介绍:本科毕业于滑铁卢大学,专业计算机科学与技术,有两个实习经历。
  • 自我介绍
  • 问项目,一个应用软件的开发
  • 项目中你遇到过的困难,你是怎么解决的。(有一个困难问我为什么不用线程池。。。我说我没想到)
  • android中创建一个线程的方式,以及如何跟主线程交互
  • android handler机制 message message queue,looper
  • binder机制
  • listview和 recyclerview 的区别
操作系统部分:
  • 线程和进程的区别(资源分配,调度,系统开销,通信方面,进程切换要中断陷入内核态)
  • 进程间是怎么通讯的(pipe,fifo,信号量,共享内存,socket)
  • 造成死锁的必要条件(互斥,占有和等待,不抢占,环路等待)
  • 操作系统虚拟内存和物理内存关系,内存分页算法(学了好久了,当时有点忘了,答得很不好)
  • 你是怎么认识操作系统的(我也不知道咋答,就结合上面说的总结理一下。。。)
网络:
  • 输入一个美团url,出现网页都发生了那些过程
  • 每个层级都发生了什么事(这个我当时就懵逼了,网络层和数据链路层发生了啥忘记了。凉)
  • tcp和udp区别
  • tcp是怎么保证可靠传输的
java部分:
  • ArrayList和LinkedList的区别
  • hashmap的hashcode 方法, put方法
  • hashmap的结构形势(数组,链表,红黑树)
  • hashmap的扩容机制,容量为什么要为2^n
  • hashmap是线程安全的么?
  • currenthashmap为什么是线程安全的,它是怎么实现的。(问的很细,我当时还答了size()进行了尝试操作)
  • ReentrantLock和synchronized的区别
  • jvm组成部分,静态变量存在哪个区
  • gc算法,四个(标记清除,标记整理,复制,分代)
  • 如何进行标记的(gc root)
  • 为什么要分代
代码部分:
  • 手撕两个单例
  • 双重校验锁方法为什么要双重校验
  • volatile的作用
  • 静态内部类实现 final和static的作用 什么原理
反问阶段

总结:虽然问的知识都很基础,但感觉问的会非常细,很多东西太久不复习是会忘记的。总体考察的知识面还是计算机基础,只不过
更深入。现在还没消息估计是凉了,网络那个部分答最不好,学的时候掌握的就不好。

最后推荐给大家cyc的github,上面的问题都有答案,我复习了一天全是看的这个:https://github.com/CyC2018/CS-Notes







#美团##安卓工程师##面经##校招#
全部评论
鬼鬼 滑铁卢CS专业啊!稳了
点赞 回复 分享
发布于 2020-04-28 19:46
请问电话面怎么手撕代码呀。。
点赞 回复 分享
发布于 2020-04-28 12:22
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2020-04-28 10:20

相关推荐

评论
3
18
分享

创作者周榜

更多
牛客网
牛客企业服务