美团APP Java开发 暑期实习一二面
美团一面
- 时间:2022.04.08—19:00~19:50
- info:自我介绍+项目+编程+反问
- 面试官是做秒杀的,撞枪口上了
- 全程都在问分布式
- 项目中数据库表是怎么存的?
- 如何做的分表?(横切)如何进行哈希?
- 这样哈希合理吗?数据倾斜怎么办?
- 数据库集群怎么做的?
- redis怎么做的集群?用的那种集群方式?
- 改库存的时候,如何做的?
- 库存在redis中是怎么存的?用的什么数据结构?
- 数据库与redis的一致性怎么做的?
- redis宕机了怎么办?
- 那你选的哪种持久化方式?缺点是什么?
- 你怎么知道你做的是高并发的?
- 压力测试是怎么做的?
- RateLimiter是怎么进行限流的的?原理是什么?用的哪种令牌桶?
- 分布式中,如何做令牌桶的限流?
- 输入一条url后的流程?
- 为什么要第四次挥手?
- close_time和wait_time的区别?
编程
- 用过MySQL吧?写个sql语句吧。给了个表然后写sql。
表A:上学期的成绩A(dt, name, subject, score)
就是一个人可能有多门课,就会有多行,例如
表A
dt | name | subject | score |
---|---|---|---|
11111 | ming | chinese | 90 |
11111 | ming | math | 95 |
22222 | hong | english | 100 |
33333 | gang | math | 90 |
33333 | ping | chinese | 90 |
表B:上学期的平均成绩
dt | name | score |
---|---|---|
11111 | ming | 90 |
22222 | hong | 100 |
55555 | fang | 90 |
求:学生这学期比上学期平均成绩提高了多少
- 第K大数。
美团二面
- 时间:2022.04.12—19:00~20:00
- info:自我介绍+项目+科研+编程+反问
- 美团APP,基础技术中心,网络安全组
- 限流是怎么做的?介绍一下限流算法
- 科研做的是什么?
- 美团app时会出现什么不安全的地方?
- 如何解决不安全问题?
- 开始问HTTPS能不能抵御中间人攻击?
- HTTPS中的对称/非对称加密,被问为什么两个加密都用了?
- 介绍一下二叉排序树
- 写代码:把二叉排序树转成双向链表(利用left, right即可)
- 负载均衡了解吗?问我这是课下学的还是课程?
- 说一下Spring的AOP
- 你的项目中有没有用到AOP,怎么用的?
- 隔了个大致的场景:在controller中加日志,我想统计每个方法的使用频率及耗时信息,你需要怎么做?
- 后面启发式的问答了几轮这个问题(其实就是怎么用AOP得到耗时信息,然后怎么存,怎么统计)
- 存日志这个地方,我说了用数据库可能方便统计,然后面试官说,如果这个业务的访问量很大呢?(答 用追加的方式存到日志文件)
- 后面接着问,我已经从文件中读出了10000条日志,我想统计耗时的中位数和前top99,你该怎么做?(先回答的用快排划分找中位数,堆找前top99。然后分析了下划分的时间复杂度;然后我回答还可以用hash,经提示用数组就行了,时间戳就是下标,之后做一次紧凑,直接输出,O(2n))。时间不够,没让写。
- 最后还剩3分钟,又问了一个如何用Java做一个定时器。(我回答了用延迟队列),然后面试官说用JDK的东西可以做吗,告诉我说用Excutor
#美团实习##实习##面经##美团#二面一开始,面试官以为我是做安全的,问了一些安全相关的,后面明白过来,开始问Java开发,最后呢,不出预料地收到了感谢信。
美团还有另外一条线,后面会再更新另一个的面 经。