携程线下一面

投的java岗,投的时候看到岗位要求里是精通至少一门编程语言(Java/Golang),就带着我的golang版本的简历去面了。结果一上来就被让解释为什么拿着go简历投java,解释了一通后感觉对面好像不是很满意。
📍面试公司:携程
🕐面试时间:50min    
💻面试岗位:java后端开发
❓面试问题:
1. 那你用一两点总结一下,你觉得 Go 和 Java 最大的区别在哪里?
2. 那 RocketMQ 是怎么保证消息可靠性的?
3. 好的,那在使用 RocketMQ 重试功能时,需要注意些什么呢?
4. 那在失败场景下,如果出现大量重试,首先要考虑失败原因,比如是不是下游服务扛不住了,这也是一种可能的失败场景。如果这种情况下还一直在批量重试,可能会导致下游服务的压力进一步升级,那基于这方面考虑,我们有哪些手段可以预防或避免这种情况呢?
5. 你可以站在两个角度思考:一是作为下游 A 服务的提供者,二是作为调用 A 服务的消费方。假设这两个系统都是你负责的。那你要怎么保证整个系统的稳定性?分别对应的应该做哪些调整?
6. 这个暂停是出于什么考虑呢?那在什么情况下会选择暂停呢?这种情况下,按你说的,流量大的时候反而要暂停调用下游服务,这不是和实际业务需求不符吗?
7. 那暂停要停多久呢?什么时候恢复呢?
8. 那我再问一个问题,你多次提到 “根据监控来做决策”,但如果有很多业务场景、很多系统,都需要投入大量精力做监控,还要求看监控的人具备调控系统的能力,这显然不现实,怎么解决这个问题呢?
9. 自动告警机制确实是个好方法。那告警之后呢?系统后续该怎么运行,才能形成一个闭环,确保业务能继续推进?
10. 那什么时候需要人工去恢复系统正常运行呢?
11. 对,那你这个很很明显的一个问题就是人工嘛,这个我刚才也说了,要求人工有这个能力。它不仅仅是一个系统,它可能很多个系统。如果你采用这个架构去设计的话,你会有很多很多这种东西要去看。比如我们做卖票业务,假设有很多代理人,还有很多航司网站,国内有几十家航司,国外也有不少。那每一个航司它可能都是有一个类似的一个产品设计,对不对?那要是某天东航扛不住了,就要处理东航的问题;明天国航、南航等多家航司同时出问题,就需要很多人去处理。假设都用同一种方案,成百上千个系统都这样设计,人工根本忙不过来,这现实吗?就是一个我能做,10 个还勉强能行。当成百上千的时候,这个人还能玩得过来吗?我就把问题抛得这么严重,我们现在系统就是一个典型的生态,就会有这种问题。那我们该怎么去思考这个问题?
12. 那再问一个关于 RocketMQ 的问题,你之前提到了顺序消费,那 MQ 的消息有序性会在哪些阶段出现问题?什么情况下会导致消息无序?
13. 那再假设一个场景:生产者生成消息 ID 后,发送消息时突然挂掉了,因为之前提到用事务提交,这种情况下消息可能发送失败,导致消息断档。那消费方那边,他在消费的时候,他一直在等上一条消息。那消费者其实不用一直等,也可以处理后面的消息,但这样就会破坏有序性。那消费者怎么知道有一条消息中断了呢?比如消息 ID 从 1 到 10,发送 ID 为 2 的消息时失败了,消费者消费完 ID 为 1 的消息后,按逻辑该等 ID 为 2 的消息,但 ID 为 2 的消息永远不会来了。
14. 那不等的话直接消费到第四条消息怎么办,因为2后面还有34,如果不等2的话先消费4怎么办
15. redis使用经验讲讲
16. redis持久化机制有哪些
17. 缓存穿透、击穿、雪崩
18. 缓存击穿时,分布式锁是在什么时候加载的
19. 用分布式锁的话会让大量用户请求等待,有没有更好的解决方案
20. 多级缓存为什么能解决这个问题
21. MySQL事务隔离级别
22. mvcc怎么实现可重复读
23. MySQL的exist和in的区别
24. 为什么不用select * 查询
25. 索引失效的场景有哪些
27. 设计索引参考哪些原则

#发面经攒人品#
全部评论
懵了
点赞 回复 分享
发布于 09-29 14:47 四川

相关推荐

10-03 17:08
已编辑
西安电子科技大学 Java
点赞 评论 收藏
分享
10-04 10:44
已编辑
南京大学 Java
实习的组没hc,令我愤恨的是拖了三周才挂我转正,导致期间也没法投递秋招流程不过好在运气不错,前脚投后脚就被一志愿约面了,一问发现是实习所在业务的下游(难绷)9.18 一面 1h20min1. 自我介绍2. 先做题:删除链表中的重复节点II3. 聊美团实习。性能优化细节,以及如何实现算子的元信息记录逻辑不侵入业务代码等4. hashmap引入红黑树的目的5. 既然红黑树效率比链表高,为何不一开始就用红黑树6. 用二叉排序树或AVL可以吗7. 线程池核心参数8. 假如一段代码是用了大量的synchronized,效率很差,你会如何优化它?9. synchronized和基于AQS的锁有哪些区别10. 那你觉得二者的性能有差别吗11. 如果我们的一个线上系统出现了频繁的fullgc,如何排查并解决问题12. cms和g1,这两个你觉得分别适合什么场景13. 对zgc有了解吗14. 如何理解最左前缀原则15. 一个表上a b c三个字段建了联合索引,现在的查询条件是a>1 and c=1,问索引的使用情况?16. 线上出现了慢查询,要怎么去定位和排查反问:1. 部门业务(tsp)2. 多久出结果9.22 二面 1h30min1. 自我介绍2. 挑一段实习讲一下3. 实习难点4. 其它有挑战的部分5. 美团实习,你的ld是谁?(😨)6. 实习内容细节,追问的比较狠。尤其是讲到考虑到压测机器被用来跑自动化测试的时候,diff流量和压测流量冲突的问题。面试官不断追问二者冲突会带来什么影响和为什么会影响,以及为何线上流量能与二者正常区分。这里把我问住了7. 现场出题:int a = 3Integer b = nullint c = a + blong d = 1l +0x7fffffffint e = a + d运行以上代码,会发生什么?怎么解决?8. 现场出题:Integer a = 567Integer b = 567sout(a == b)会输出什么?如何修改使结果符合预期?9. 讲讲你所了解的并发编程10. 你刚才提到了🔒,java中的🔒都用哪些,区别是啥,简单介绍下11. 线程池简单讲讲12. 电脑按下开机按钮,开机后打开面邀链接进行面试,这个过程计算机底层发生了哪些事情(408究极大杂烩,从硬件加电自检讲到引导扇区再到os进线程启动再到显卡协同液晶单元显示画面,再到打开链接的上层http交互到底层网卡的编码调制。整个一个大串烧)13. 你刚才提到视频会议底层用udp,那为什么不用tcp14. mysql简单讲解下你所了解的(准备讲架构,被面试官拒绝了,说不用讲这么底层,说说偏应用层面的😂)15. 怎么知道一个sql语句有没有走索引16. explain一般关注哪些字段17. 过往的实习或项目中,印象最深刻的一张表,描述出来字段、索引情况18. 根据刚才描述的表,即兴出了两道sql题19. 你所写的sql语句中出现了select from where groupby having这些关键字,它们的执行顺序是怎样的20. 算法题:二维矩阵行有序、列有序,查找某个值反问:1. 部门技术栈2. 面试流程(2技术)9.30 意向
发面经攒人品
点赞 评论 收藏
分享
评论
3
19
分享

创作者周榜

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