美团Java面经

一场从项目发散到八股再到场景设计的良好面试体验
1、网络通信为什么要使用Netty
2、介绍一下NIO、BIO在模型上面的区别
3、使用BIO作为通信工具只能一次处理一个请求吗?
回答了和线程有关,BIO是阻塞的,分配到线程就是只有一个线程能提供服务
4、线程池中设定的线程数目过多会有什么样的影响?
5、你说线程数目和CPU资源的关系,这两者有什么关系?
6、Java在等待IO时会占用CPU时间吗?
7、本地缓存是怎么实现的?本地缓存什么时候会被更新?
8、假如服务端节点在很短时间中和注册中心掉线了,会出现zookeeper和本地缓存数据不一致,如何处理?(如果调用的时候,服务端的地址发生了变化,缓存依旧是旧的接口,如何处理?)
9、redis如何存储用户验证码?
10、redis如何使用Zset实现热点商品的排行?Zset的Key是什么?从调用链路的方面考虑这个场景?前端到后端接口,参数如何实现?
11、解释一下什么是粘包问题?
回答了TCP
12、HTTP是一个应用层协议,那么HTTP会发生粘包吗?
13、LRU进行负载均衡是如何实现的?解释LRU的结构
14、解释一致性哈希算法,项目中的实现细节?
15、HashMap中的put的流程
问了项目中认为比较了解的部分?
问了这个问题感觉要G了。前面很多问题提示的很明显了,也没怎么答出来。心里开始凉凉送给自己。
16、MySQL如何防止深度分页问题?
17、MySQL创建多个索引,那么是创建了一个还是多个B+树?
18、非联合索引的查询会出现效率问题吗?
手撕算法题:
两数相加(力扣第二题)
#牛客AI配图神器#
全部评论
是代码随想录的RPC项目?好熟悉
3 回复 分享
发布于 03-11 19:58 重庆
佬 什么bg啊 第一个项目是线程池吗
1 回复 分享
发布于 02-28 14:36 广东
暑期嘛,这么快就面上了
1 回复 分享
发布于 02-28 13:33 江苏
应该就是八股答的不错了,不然不会手撕这么简单
点赞 回复 分享
发布于 03-23 17:47 湖北
接好运
点赞 回复 分享
发布于 03-19 15:38 北京
佬哪个部门
点赞 回复 分享
发布于 02-28 13:44 重庆

相关推荐

11-10 18:10
门头沟学院 Java
实习 1. 你在三家比较大的公司都有实习经历,为什么一直在换呢?2. 你觉得这三家公司的技术体系有什么不同吗?3. 你们的三层缓存是怎么设计的?4. 第一层缓存(Kconf)是什么?它怎么工作的?5. 这一层缓存和 DB 怎么保持一致的?6. 你们的本地缓存过期策略是怎样的?为什么设置 5 秒?7. 你们更新 Redis 是通过 MQ,对吧?那 MQ 会丢消息吗?你们怎么保证不会丢?8. 你们用的 MQ 是什么?八股9. RocketMQ 能保证消息一定是在 DB 成功更新之后才投递出去吗?10. 你知道 RocketMQ 的事务消息具体是怎么实现的吗?手撕代码11. 来写一段代码吧:两个线程交替打印奇偶数,打印到 100。12. 有没有可能存在多余的循环或空转的问题?13. 如果线程之间没有通信,会造成什么影响?要怎么改?(比如用阻塞+唤醒机制)14. 你可用 **`synchronized`** / **`Object.wait/notify`** 或 **`Lock`** 来改写一下吗?场景设计15. 来一个设计题:如果要存储全球的行政区划数据(国家、省、市、区/县、街道),你会怎么设计?16. 不同国家层级不一样,这算一个难点,你怎么处理?17. 你会按层级来做表设计吗?这种设计可能存在哪些问题?18. 如果层级发生变化(比如新增一个层级),你的结构怎么应对?19. 有没有暴力一点的方案?(比如 JSON 存储)20. 那以“河北省”为例,你在这种 JSON 存储里会怎么表示?21. 你的 JSON 存储方案有什么缺点?22. 树型结构除了你这种方式,还有其他表达方式吗?23. 这种树形结构会面临哪些性能问题?比如查询跨级数据的时候怎么处理?
查看24道真题和解析
点赞 评论 收藏
分享
评论
14
129
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务