携程暑期实习一面

#携程求职进展汇总# 面试时间: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. 反问部门业务

面试体验特别好,面试官是特别诚恳、耐心的前辈!
全部评论
mk
2 回复 分享
发布于 03-23 13:21 湖南
写的真好,加油
2 回复 分享
发布于 03-21 14:25 上海
面完有约二面吗,我19面完到现在一点动静没有
1 回复 分享
发布于 03-21 21:30 广东
用的啥项目呀佬
点赞 回复 分享
发布于 04-02 23:47 北京
没有手撕吗
点赞 回复 分享
发布于 04-01 18:55 陕西
笔试后大概多久给面呀
点赞 回复 分享
发布于 03-28 15:57 天津
看得我留下了羡慕的眼泪
点赞 回复 分享
发布于 03-27 18:47 湖北
现在有进展了吗 我也3.21面的还没消息
点赞 回复 分享
发布于 03-25 16:17 四川
佬,项目那个调度筐架是什么
点赞 回复 分享
发布于 03-23 16:22 广东
写的真好,收藏了!佬哪所学校的啊
点赞 回复 分享
发布于 03-23 13:47 湖北
点赞 回复 分享
发布于 03-23 13:01 辽宁
佬tql
点赞 回复 分享
发布于 03-21 15:32 北京

相关推荐

字节财经 9.18 11:00 一面,面试官没开摄像头。先介绍项目,介绍一下上一段字节实习的项目难点,说了几分钟。继续介绍项目,说一下支付这一块怎么做的——redis能解决超卖,那在其他方面存在什么问题?redis宕机后?mysql解决超卖?10w到20w的dps下,如何解决mysql的写操作?出了一道联合索引的题(怀疑是看了过去的面评,上次实习三面的联合索引没有答好)mysql为什么B+树而不是B树手撕:1.多线程轮流打印123;2.LC003 无重复字符的最长子串反问:说我八股没咋看,让我二面前再看看9.22 20:00 二面 自我介绍,介绍一下某段项目的整体架构设计;介绍一下消息队列在项目中怎么用的?Redis可用性的问题有考虑吗?你使用了哪几种Redis数据结构?了解Redis的其他作用吗?Redis分布式锁是怎么做的?SETNX的底层实现?Redis的过期底层实现了解吗?上一段实习中有哪些难点?做的这个部分是基于什么业务场景?上一段实习的工作中,你是怎样设计架构的?你上一段mentor是谁?手撕:1. 实现一个容量有限,线程安全的阻塞队列BlockingQueue;2. LC151 反转字符串中的单词(同LC181,是个easy)反问: 让我多看看底层实现的东西;为什么手撕老是写线程安全相关的题目?答和部门业务有关9.24 14:00 三面 自我介绍,因为保研所以被问了本科排名;只介绍了上一段的字节实习经历,被问为什么上一段不做了,后面实习会做多久。介绍下上一段中有哪些难点,介绍了一会上一段的工作,上一段工作内容的具体场景。问CPU的调度算法,CPU调度的逻辑和时间复杂度。看用到了Redis,介绍下Redis的Zset底层实现?开始输出八股。看用到了Mysql,介绍下InnoDB的事务?开始输出八股。手撕: 1. LC54 螺旋矩阵;2. 版本号排序,LC165变体,实现版本号比较然后sort。这里比较都实现了但是传参有点问题,感觉要寄。
点赞 评论 收藏
分享
评论
19
93
分享

创作者周榜

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