美团面试总共三轮技术面+一轮hr面,感觉每一面的老师都非常厉害,也很庆幸自己收到了美团的意向书,一定要多请教他们。
美团一面 (1h)
自我介绍
项目介绍 项目难点:商城首页优化+订单结算的补偿性事务
(以下不分顺序,我忘记了,只能想起个大概) Java基础部分: 用过hashmap吧,你来介绍下hashmap 队列用过吧,你给我讲下队列怎么实现的 如何用数组来实现队列 写个单例模式,并进行了提问volatile synchronized lock区别 死锁 活锁(我没答出)
数据库部分: mysql的事务隔离级别 索引 B+树是怎样的一个结构? 二叉树为什么不行 联合索引 聚簇索引和非聚簇索引
操作系统 linux用过吗? 你接触过的复杂的指令都有哪些? 那你知道统计文本的行数是什么(没答出) 会写脚本吗? 你说的那个脚本内容是JVM的那些启动参数吗? 知道管程吗?
计算机网络 TCP和UDP的区别 TCP三次握手四次挥手 HTTP的方法 了解过RestFul协议吗
消息中间件 在问到数据库的索引的时候,面试官问我,如何设计加速读取数据,我说了redis 那redis是如何加速检索的? 除了是基于内存的还有什么?(未答出)
算法 判断一个链表是否有环 找到入环节点 为什么这么做,能证明一下吗? 快指针走的距离:L+x+n*R 慢指针走的距离:L+x 它俩是二倍关系。
开放题 比如说给你一个身份证号,让你判断它是否是存在的? 前缀树
我这边没问题了,你有什么想问我的吗? 多关注一下底层
美团二面 (47min)
自我介绍
HTTP状态码 301永久性重定向和302临时性重定向为什么分开 输入一段url,都经过了哪些过程
类加载机制 STW young gc是否发生STW 2G内存一次young GC需要多久 你读的map的源码是哪个版本的,那你知道头插法是如何头插的吗 线程池参数以及运行过程 线程状态 如果看到大量处于阻塞状态的线程,如何定位原因
AOP Redis zset底层 ES 和 Lucene的关系 Lucene的空间压缩(不会)
序列化方式都有哪些 json序列化方式会有哪些问题
有一个实际场景,启动一个服务,CPU占用过高,怎么定位 top看一下哪个进程有问题? 有可能是JVM,MySQL、网络IO等的问题,排查是哪个问题? jstack -pid 打印这个进程下所有的线程栈信息
算法题: 求两个链表的和,用一个新的链表连接,返回头结点
自我介绍
聊人生10分钟
接下来就是开始被吊打:
讲一讲实习的经历、收获、遇到的挫折 设计一个dmp系统,面对很高的QPS、几亿的数据你怎么设计
10亿用户,每个用户100个标签,怎么去存储,并且保证性能
接下来就是关于ES方面各种场景设计 就记住一个怎么设计倒排索引,思考分布式场景下各种情况 hashmap如何解决哈希碰撞的,都有哪些方法?讲一讲 hashmap的内存利用率? 我想让它内存利用率达到100%,并且时间复杂度降到O(1)怎么办?
反问
全程40分钟(面完精疲力尽)
