Loading

面试记录

京东一面

1、leedcode俩个一组反转链表
2、介绍项目实时核算说说有啥技术难点
3、AOP用的多不多
4、反射对jvm的影响?
5、redis为啥很快
6、线程池参数,有一个任务阻塞了,再来一个线程 参数是cool 1 max 2 queue 1
7、mysql 索引 abc 是否走索引
覆盖索引
8、分布式id算法

携程一面

1、场景题,RPC调用发起一个任务,或者触发一个任务,如何做到幂等 --请求带唯一键

2、redission如何解决主从复制造成的延时问题

3、CPU满了如何处理

  1. 定位进程:用 top 查看,确认是哪个 Java 进程占 CPU 高。
  2. 定位线程:用 top -H -p <PID> 找出占用最高的线程 ID。
  3. 转 16 进制printf "%x" tid,转成 16 进制。
  4. 查堆栈jstack <PID> | grep <16进制ID> -A 20,看是哪段代码在跑。
  5. 分析原因:常见的是死循环、正则性能问题、频繁 GC、线程池滥用等。
  6. 解决:修复代码,优化逻辑,必要时调整 JVM 或重启服务。

核心思路:从系统到线程,快速定位到具体代码行

4、并发请求QPS很大,数据库扛不住,除了加机器、限流,MQ还有啥方式

面对高 QPS,我会四步应对:

  1. 限流:用 Sentinel 或网关限流,防系统崩溃。
  2. 扩容:加机器,负载均衡,横向扛流量。
  3. 缓存:热点数据放 Redis,减轻数据库压力。
  4. 异步:非核心操作用 MQ 削峰,提升吞吐。

核心:稳住系统、分摊压力、提升处理能力

posted @ 2025-09-11 20:53  kopoo  阅读(8)  评论(0)    收藏  举报