美团一面
2023年9月12日 |54分钟 1秒
关键词:
租户、模块、内存、日志、拦截器、存储、主键、数据库、代理类、隔离级别、设计模式、装饰器模式、定时任务、插入数据、业务代码、方法调用、数据开发、函数调用
欢迎讨论。
1. 自我介绍
2. 实习项目:租户模块是为了解决什么问题?具体这个模块是怎么做呢?
3. 你们的业务肯定是有各种各样的接口的,那在这些接口里面是怎么避免不同租户的水平越权问题的?
4. 权限控制的设计上有参考什么业内比较通用的方案或者模型吗?
5. 接口改造:你们有提供什么手段或者工具来保障业务改造过程中的稳定性吗?
6. 在这个接口上加拦截器,这个是怎么实现的?然后背后的原理是什么?
7. 手写装饰器的设计模式
8. 装饰器模式跟代理模式有什么区别? 难
9. 你们这个系统线上的核心接口的 QPS ?
10. 你们发现就流量比较高的时候,比如说到 100 的时候,突然间某个接口性能响应时间过长了,这种问题应该怎么排查分析?
11. 对于SQL比较慢 有什么排查手段
12. MySQL 里面的幻读是什么。
13. 幻读和可重复读的区别是什么?什么问题可以称作幻读,什么问题可以称作没有实现可重复读?
14. 如何解决幻读
15. 这个间隙锁是怎么加的,然后怎么解决幻读问题的。 难
16. MySQL 的索引的数据结构? 为什么?为什么不用二叉树来存储。
17. 通过你们线上的监控发现某一个项目在频繁地发生GC,应该怎么排查?
18. 查看这个内存的现象有什么排查手段吗?
19. JVM什么指令可以排查?
20. 内存占用过高具体可能有哪些情况?首先它是内存的哪一部分出现了问题,对,然后这个问题会导致什么现象?然后导致这个问题的根因是什么?然后从这个思路回答
21. 堆的分代?我们现在的现象是在频繁的GC,对于新生代和老年代来说,这个问题的现象和这个现象背后的原因有什么区别吗??
22. Young GC 和Full GC 具体流程区别