58同城 Java二面

1.自我介绍
2.实习介绍,项目介绍,然后根据项目和实习追问,全程无纯八股,下面的项目中问到的一些八股内容
3.有用到线程池吗,线程池应该怎么来用呢
4.假设有一万个任务需要完成,主线程怎么判断这一万个任务是否执行完成,回答说可以使用countDowmlanch,具体解释了一下,然后又问还有没有其他解决办法,主线程应该执行什么操作
5.如果说在分布式服务器中,有10000个任务需要交给不同的节点来执行,应该怎么设计和实现呢
6.看你项目中用了本地缓存和Redis,怎么确保本地缓存和Redis的数据一致性,怎么确保MySQL和Redis的一致性,订单库存信息存在Redis中怎么确保一致性
7.Redis和lua脚本怎么防止超卖的
8.消息队列中怎么解决网络波动引起的订单消息丢失的情况
9.怎么解决单个订单重复消费的情况
10.多个线程同时消费一个未消费的订单这个情况如何解决
11.消费者回调确认消息如何实现的
12.回调通知代码层面怎么做的(围绕wait和notify来说)
13.如果服务器宕机,怎么保证订单消息不丢失,详细回答了持久化机制,包括使用内存暂时存储并定时落盘,面试官又追问你这种情况只能尽可能减少消息损失,就是在代码层面,比如说生产订单这行代码刚执行完服务器就宕机了,这个损失怎么避免
14.MySQL表记录很多的时候比如说有一亿个数据,怎么处理(分片,包括顺序分片和哈希分片)
15.如果数据表分片后,比如说要查询同一个用户的订单,可能在不同服务器上,怎么保证数据库查询的效率呢
16.数据库索引创建过吗,创建索引怎么考虑的
17.如果在订单表要给用户创建一个索引,然后又要给商家创建一个索引,要分别根据用户和商家单独查询要走到索引还可以创建联合索引吗,这个回答的如果只根据一个字段查询,就无法使用联合索引,因为联合索引要遵循最左匹配,必须包含第一个索引字段。这时候面了30多分钟,到了十一点半了,估计面试官要去吃饭了,然后面试官就说今天面试就到这里,没有手撕和反问环节。
全部评论

相关推荐

评论
点赞
6
分享

创作者周榜

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