面经哥只做互联网社招面试经历分享,关注我,每日推送精选面经,面试前,先找面经哥
背景
公司:同程艺龙成都BU,现场部门老大面
之前的同程艺龙电话一面过了,然后通知到同程艺龙成都办公地点现场进行部门老大面,面经如下:
1、你在项目中学习到了哪些?或者是遇到了哪些困难?怎么解决的?
2、如何保证你的调用链路的稳定性?如何保证服务调用链路请求的幂等性?
3、mq消息的幂等性如何保证?
4、mq如何保证顺序消费?
5、线程池创建有哪几种方式?
6、线程池核心参数有哪些?
7、线程池中拒绝策略有几种?分别说一下各自的作用?
8、Redis都用到了哪些场景?除了缓存还有其他场景吗?
9、缓存雪崩、穿透、击穿是什么?如何解决?
10、对于穿透解决方案给key对应的value对写为null、未知错误、稍后重试时,如何解决当数据库真的有对应数据时,缓存数据没更新导致正式用户请求访问不到缓存?
11、你刚刚是讲到了布隆过滤器吗?讲一下布隆过滤器的作用以及底层原理?
12、如何保证缓存和数据库数据一致性?
13、对实时性要求比较高的缓存如何保证和数据库数据一致性?
14、在Redis中常用的数据结构有哪些?
15、Redis中Hash结构的扩容机制是什么?那你可以讲讲HashMap的扩容机制吗?
16、Redis中的过期机制有哪几种?底层都是如何实现的?
17、Redis的部署有哪些方式?
18、Redis的cluster和Setinel实现原理是什么?
19、数据库的查询优化、排查慢sql以及sql优化是怎么进行的?详细点说明下
20、InnoDB中哈希索引实现机制是什么?
21、MySQL中唯一索引和聚镞索引相比,性能如何?
22、除了常用排序算法,你还会用到什么算法?或者了解什么算法?
23、Redis中跳表的原理了解吗?
24、项目中用过自定义SpringBoot starter吗?starter是如何实现的?
25、有没有做过或了解过大批量数据迁移,类似于大批量MySQL数据迁移到ES中的操作?
26、分布式事务了解吗?你们项目中都用到了哪些分布式事务?都有哪些优缺点?
27、说一下JVM内存模型有哪些?说一下JVM的内存区域?
28、在Java中,有哪些包是直接定义在对外内存中的?
29、线上做过哪些性能排查以及性能优化的操作?
30、了解Java中的happen-before原则吗?
31、除了用锁、volatile之外,如何保证一个线程的变量能被另外一个线程的变量给实时读取到?
总结:在经过面试官的同意后对本次面试进行了录音,方便之后进行面试复盘。从这次复盘的结果来看,此次部门老大面没怎么问简历上的内容,估计是一面里有面试记录,所以一面面的大部分内容都没有再次问到。从这次面试来看,自己在Java技术栈的广度和深度都欠缺太多,想进互联网大厂的话还任重道远啊。