携程暑期实习一面
#携程求职进展汇总# 面试时间:2025.03.21
(面试官人特别好!!!)
1. 自我评价
2. 问了毕业时间
---- 项目拷打(仅整理非业务逻辑强关联的问题,避免大家阅读不畅)
3. 服务端可以介绍一下整体架构,以及实体之间的通讯方式吗?
4. 服务端主动推送任务和执行器主动拉取的优缺点分析?
5. 分布式锁在项目里怎么用的?
6. 分布式锁解决多机竞争方面,作为一个分布式框架,性能可能受限,你还有什么别的解决办法吗?(面试官解释:)除了加分布式锁,如果数据量更大,你有什么增强的功能吗?
8. 你的这个框架有点类似于MQ,那么对于MQ的话,内部如何实现大量消息的消费?生产者、消费者之间如何去做这样的调度?
9. 在你这个框架下,如果让你添加一个定时任务的功能,你怎么考量?(首先,承载定时调度逻辑的server不负责执行,那么server和执行器都需要维护定时器,在此基础上,答了两个思路:1. 提前拉取任务到执行器 2. 预估是否能成功执行,不能则告警,由server分配新执行器)
10. 追问:提前分发任务的时间(之前说了十分钟),面试官说有点多(我说这是根据任务平均执行时间来看的)
11. 任务执行失败如何处理?
12. 既然你的任务由DB维护,server也主要是在做db操作,那么为什么不由执行器直接去写DB?
13. 什么时候会分表?按数量滚动分表如何知道数据在哪个表上?
---- 八股部分
14. Redis分布式锁如何实现续期?(答了redission的续期机制)
15. 那么到超时时间1/3时,如何知道是否需要续期?(答主动unlock后肯定不必续期,否则只要任务活跃,就会续期)
16. 你的意思是说unlock后再续就续不上了?(答是的,unlock执行顺利的话,锁已经释放掉了)
17. DB和缓存一致性问题如何解决?(强一致性禁用缓存,稍弱一点先写后删,最终一致性监听binlog结合MQ异步更新)
18. 缓存击穿、雪崩、穿透的异同(吟唱XD)
19. 热key的危害及解决方法(答热key最直观的危害体现在对Redis服务的可用性上,首先考虑Redis是否使用了高可用部署,例如主从、分片集群等)
20. 现在没那么多机器,应用层面解决这个问题呢?(答本地缓存结合Redis形成多层缓存,但需考虑多实例部署时,不同实例间本地缓存的一致性问题)
21. 能否让这个key变得不热(答可以像拆分大key一样,做一下拆分)
22. 慢SQL如何优化(领域展开,吟唱中....)
23. (面试官前辈打断的好温柔,说时间关系,继续下一个问题)双字段索引单个字段查能否命中捏?(答可以)
24. spring boot的启动类注解有什么功能(答由三个子注解组成,吟唱自动配置原理,吟唱配置类注解原理,还没吟唱组件扫描时被温柔打断)
25. Java是解释型还是编译型语言?(答均有,答了字节码解释执行、AOT、JIT)
26. 编译完的class字节码是二进制存储的吗?(有点愣神,想了下看过那个深入理解JVM虚拟机,里面那个class文件格式,先是魔数,后面是,,,,,答是的,然后表达了解过那个文件格式)
27. lambda表达式为啥子使用作用域内局部变量时,提示必须为有效final?(答lambda原理,因为lambda表达式可能在作用域外执行,因此为了避免指针悬空,此处需要进行值捕获,也就是copy一份,这个问题和cpp的lambda是类似的)
28. 反问部门业务
面试体验特别好,面试官是特别诚恳、耐心的前辈!


(面试官人特别好!!!)
1. 自我评价
2. 问了毕业时间
---- 项目拷打(仅整理非业务逻辑强关联的问题,避免大家阅读不畅)
3. 服务端可以介绍一下整体架构,以及实体之间的通讯方式吗?
4. 服务端主动推送任务和执行器主动拉取的优缺点分析?
5. 分布式锁在项目里怎么用的?
6. 分布式锁解决多机竞争方面,作为一个分布式框架,性能可能受限,你还有什么别的解决办法吗?(面试官解释:)除了加分布式锁,如果数据量更大,你有什么增强的功能吗?
8. 你的这个框架有点类似于MQ,那么对于MQ的话,内部如何实现大量消息的消费?生产者、消费者之间如何去做这样的调度?
9. 在你这个框架下,如果让你添加一个定时任务的功能,你怎么考量?(首先,承载定时调度逻辑的server不负责执行,那么server和执行器都需要维护定时器,在此基础上,答了两个思路:1. 提前拉取任务到执行器 2. 预估是否能成功执行,不能则告警,由server分配新执行器)
10. 追问:提前分发任务的时间(之前说了十分钟),面试官说有点多(我说这是根据任务平均执行时间来看的)
11. 任务执行失败如何处理?
12. 既然你的任务由DB维护,server也主要是在做db操作,那么为什么不由执行器直接去写DB?
13. 什么时候会分表?按数量滚动分表如何知道数据在哪个表上?
---- 八股部分
14. Redis分布式锁如何实现续期?(答了redission的续期机制)
15. 那么到超时时间1/3时,如何知道是否需要续期?(答主动unlock后肯定不必续期,否则只要任务活跃,就会续期)
16. 你的意思是说unlock后再续就续不上了?(答是的,unlock执行顺利的话,锁已经释放掉了)
17. DB和缓存一致性问题如何解决?(强一致性禁用缓存,稍弱一点先写后删,最终一致性监听binlog结合MQ异步更新)
18. 缓存击穿、雪崩、穿透的异同(吟唱XD)
19. 热key的危害及解决方法(答热key最直观的危害体现在对Redis服务的可用性上,首先考虑Redis是否使用了高可用部署,例如主从、分片集群等)
20. 现在没那么多机器,应用层面解决这个问题呢?(答本地缓存结合Redis形成多层缓存,但需考虑多实例部署时,不同实例间本地缓存的一致性问题)
21. 能否让这个key变得不热(答可以像拆分大key一样,做一下拆分)
22. 慢SQL如何优化(领域展开,吟唱中....)
23. (面试官前辈打断的好温柔,说时间关系,继续下一个问题)双字段索引单个字段查能否命中捏?(答可以)
24. spring boot的启动类注解有什么功能(答由三个子注解组成,吟唱自动配置原理,吟唱配置类注解原理,还没吟唱组件扫描时被温柔打断)
25. Java是解释型还是编译型语言?(答均有,答了字节码解释执行、AOT、JIT)
26. 编译完的class字节码是二进制存储的吗?(有点愣神,想了下看过那个深入理解JVM虚拟机,里面那个class文件格式,先是魔数,后面是,,,,,答是的,然后表达了解过那个文件格式)
27. lambda表达式为啥子使用作用域内局部变量时,提示必须为有效final?(答lambda原理,因为lambda表达式可能在作用域外执行,因此为了避免指针悬空,此处需要进行值捕获,也就是copy一份,这个问题和cpp的lambda是类似的)
28. 反问部门业务
面试体验特别好,面试官是特别诚恳、耐心的前辈!
全部评论
写的真好,加油
mk
面完有约二面吗,我19面完到现在一点动静没有
佬tql


写的真好,收藏了!佬哪所学校的啊
佬,项目那个调度筐架是什么
现在有进展了吗 我也3.21面的还没消息
看得我留下了羡慕的眼泪
笔试后大概多久给面呀
相关推荐


点赞 评论 收藏
分享
03-21 22:42
电子科技大学 Java 
点赞 评论 收藏
分享
点赞 评论 收藏
分享