美团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 重庆

相关推荐

隔壁投了之后又被捞起来面了,以下是TimeLine6.10 投递6.12 约面6.17 一面6.26 二面6.27 三面7.1 HR面7.4 Offer一面:全程40min左右1. 自我介绍2. 开篇面试官介绍了一下这次面试的流程3. HashMap和HashTable的区别?4. 接T3,针对HashTable的问题,有没有解决方案?(ConcurrentHashMap)5. 线程和进程的区别?6. 接T5,通信方式上有什么区别?7. MySQL索引结构?8. 接T7,B树和B+树的区别是什么?9. 接T8,为什么说B+树更好做范围查询?10. MySQL事务隔离级别?11. MVCC12. 索引失效的情况都有哪些?13. Redis持久化方案?14. 缓存雪崩、缓存穿透、缓存击穿15. 讲讲TCP的三次握手和四次挥手16. 说说Linux的常用命令?17. 有没有用过Docker?说说Docker的常用命令?有自己构建过Docker镜像吗?18. 项目拷打手撕:快速排序(问了比较时使用<和<=有什么区别)反问:1. 面试官并不是Java方向的,为什么会问Java基础知识?2. 组里技术栈?(Java、Go、PHP都有,看分到哪个组)3. 后续面试流程?(2-3轮技术面+1轮hr)4. 建议?追问:1. 可能会转语言,是否接受?2. 现在在长沙吗?如果面试通过到这边来会不会有什么阻碍或者困难?面完状态10min左右状态变成业务复试二面:全程40min左右,感觉主要是手撕1. 自我介绍2. 有用过MQ对吧,那你说说怎么解决消息重传的?3. 你是怎么做消息幂等性处理的?4. 接T3,如果说Redis的key已经存入了,但是刚好消费者宕机了,怎么办?5. 建立索引的SQL语句是?6. TLS握手过程7. 手撕1:单链表有一个指针指向任意一个节点,怎么删除这个指针指向的节点,如1→2→3→4,传入2,删除2,没有头指针(回答了更改节点值,next设置为next.next,追问怎么删除最后一个节点,不会,换了道题)8. 手撕2:LeetCode199. 二叉树的右视图(写了递归,要求再写一遍非递归)闲聊:1. 什么时候能到岗?2. 是哪里人?3. 为什么会考虑来长沙这边?4. 你觉得你的优点和缺点是什么?5. 手上还有其他offer吗?反问:1. 业务面完30min左右约三面三面:1. 自我介绍2. 拷打项目3. 拷打实习4. 我现在有一个student表,我要对name简历索引,sql语句怎么写?5. 主键索引和普通索引有什么区别?6. 为什么非聚簇索引要回表?7. MySQL隔离级别?8. MySQL主从同步原理?9. binlog日志存的是什么?10. Redis缓存雪崩是个什么概念?怎么解决?11. Redis持久化方式?12. HTTP报文格式?13. HTTP和HTTPS有什么不同?14. TLS握手过程?15. 为什么是非对称加密和对称加密结合使用?能不能只使用一种?16. 面向对象三大特性17. 我现在有一个Java源代码,比如说叫xxx.java,他是如何变成一个二进制文件的能够让机器运行他的?这个中间的过程是怎么样的?18. JVM的作用是什么?19. 进程和线程的区别?20. 有没有了解过协程?跟线程的区别是什么?21. 为什么说协程为什么更轻量?22. 二进制文件加载进内存,他的分布是怎么样的?23. Linux上怎么看机器的负载?24. top命令哪些参数表示负载?25. Linux怎么看cpu的核数?26. Linux怎么查看当前目录占用了多少空间?27. 查看当前服务器建立的tcp连接,用什么命令?28. tcp滑动窗口机制是怎么样的?29. time_wait状态是什么意思?30. 为什么是四次挥手?31. 三次握手是怎么实现的?中间的ACK和SYN是怎么合并的?32. 用过docker吗?怎么做到容器间隔离的?33. 怎么构建docker镜像?34. 有了解AI吗?大模型训练过程是怎么样的?35. 有没有了解过MCP?36. 使用过什么AI工具?手撕:二叉树的层序遍历,要求null值使用*占位反问:1. 面试结果什么时候出面完状态变为HR面HR面闲聊10分钟
面试问题记录
点赞 评论 收藏
分享
1.可以讲讲用户从发送请求url之后会发生什么吗 ✘介绍了一下SpringMVC的流程,从url到DispatcherServlet再到各个处理器部件等实际上面试官是想问从网络通信层面上它们发生了什么回复不太清楚,只介绍了一下域名通过DNS解析成IP然后请求到后端服务器2.了解cookie和session吗 ✘答的很不好,因为自己只学了JWT和token完全没想到会问这块,只答出前者存储在客户端后者存储在服务端3.了解MySQL中的事务隔离级别吗,它们分别解决哪些问题,具体讲 ✔4.学过哪些排序算法?✔冒泡,二分,快排5.MySQL中索引的数据结构?讲讲优势和为什么✔6.Redis常见架构✔7.了解正排索引和倒排索引吗✘答不太清楚只知道es库中通过倒排索引建表实现较高的搜索效率8.手撕,反转链表✔9.延迟队列是什么,了解底层实现吗✘回答了xdelayed延迟队列的基本应用场景和概念,底层实现不知道10.AMQP中消息可靠性原理✔11.你项目中的推荐功能是怎么实现的简单讲了一下调用了分词器和向量模型的API将库中视频基于标题分到我给出的聚类中反问面试官给出的评价是中间件和微服务用起来肯定没问题,但是基础有待提高,并且希望将来自己的学习要注重底层实现其实自己头两个问题没答上来已经心态挺爆炸了也觉得自己知识储备确实很少,有关Spring和Java的基本没问因为面试官提了一句他们都是使用go的,所以可能更注重通用中间件的底层实现和基本的网络通信,面试官人也很好头两个问题爆炸之后都说没什么关系。自己还是太弱了,急着找什么面试,乖乖滚去沉淀吧
月色及衿:反思了一下自己在学习的过程中确实也一直只想着怎么用和怎么用好,会用,底层实现差不多就完事了,实际上一被拷打就是路边一条,做个半吊子简历急着找实习撞见大厂马上就露原型,唉,好好练功吧
查看11道真题和解析
点赞 评论 收藏
分享
评论
14
129
分享

创作者周榜

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