0%

京东物流后端一面

2025.5.13 20多分钟(京东零售一面挂了,被物流捞了)
体验很好,不会追问到不会,面试官会顺着我说的接着说。
不过面试中问了很多大模型相关的开放性问题,回答的不太好。
还有DDD领域驱动设计,后悔没看。

————

后续:15号约二面了,把京东的技术文档全看一遍!

自我介绍

  1. 缓存和数据库一致性如何实现
  2. 如果删除缓存失败该怎么办
  3. 项目中消息队列用的什么,如何选型,怎么选Kafka和MQ
    Kafka支持大规模的数据流处理,支持分布式架构。吞吐量高10万级
    RocketMQ注重消息的低延迟,适合对响应时间要求严格的场景
  4. 如何保证消息不重复消费
  5. 密码怎么存数据库的,为什么要加密加盐
  6. Redis中热Key过期会怎么样,如何解决
    不显示设置过期时间
    在每个集群中都备份热Key
    增加二级缓存,将热Key加到JVM,设置合适的缓存过期时间
  7. 还有什么方法
  8. 说说数据库的锁,如何实现的
    乐观锁假设冲突少,通过版本号或 CAS 机制检测冲突(如 UPDATE SET version=version+1 WHERE version=old_version)。
    悲观锁假设并发冲突频繁,先加锁再操作SELECT FOR UPDATE
  9. 举一个数据库产生死锁的场景(讲的不太好,面试官即使打断,问下个问题)
    发布一个帖子时,有两个人同时评论,要更新评论表和帖子表。如果一个事务先获取的评论表,再获取帖子表,而另一个事务先获取帖子表,再获取评论表,就会造成死锁。
    两个事务,一个事务先更新A,再更新B;另一个事务先更新B,再更新A,就会造成死锁。
  10. 什么情况下加锁,只有update和insert吗
    当前读也加锁,select xxx for update
  11. 数据库发生死锁怎么看,怎么解决
    MySQL 的死锁是由于多个事务持有资源并相互等待引起的。我通过 SHOW ENGINE INNODB STATUS 查看死锁信息,定位到是加锁顺序不一致导致的,最后通过调整加锁顺序解决了这个问题。
  12. 慢查询怎么优化
  13. 说说explain的一些字段
  14. 多表连接,怎么看连接的顺序(explain中的table字段可以看)
  15. 怎么避免回表,索引怎么建立
    覆盖索引
  16. 用过哪些垃圾回收器,怎么进行垃圾回收的
  17. G1垃圾回收器有什么特点
  18. JVM有哪些参数可以调整
  19. 内存溢出或是CPU100%怎么解决
  20. 项目中用到哪些设计模式
  21. 除了单例模式,还用了哪些设计模式,DDD了解吗
  22. 平时项目都用git管理吗
  23. 用过哪些大模型工具
  24. 怎么用大模型写代码的
  25. MCP了解吗
  26. 在项目开发过程中,是需求,开发,还是测试阶段,用大模型更多一点,随便说说
  27. 在开发一个模块的时候,大模型始终达不到要求,该怎么办
  28. 是继续改提示题让大模型生成,还是自己写了

反问(部门业务是仓储系统toB、toC都有,建议是对大模型要熟练使用,了解更多)