京东云saas.md

复习(押宝)(2小时复习完 还有场景题)

  1. java基础

    1. 字符串 (包装类默认实现了comparable接口)
    2. 集合 (arrayList,linkedList,hahsMap,TreeMap(key不能为空 比较器),linkedHashMap)(HashSet(HashMap) TreeSet(TreeMap)) (CopyOnWriteArrayList(锁+volatie+数组拷贝))
      1. (ConcurrentHashMap TreeBin维护树的结构 新增ForwardingNode(转移节点保证扩容线程安全 +(旋转红黑树上锁)))
      2. volatile 修饰数组
      3. put 自旋(保证一定可以成功)+CAS(put严谨)+双重check手段;如果遇到扩容 等待扩容完成在put 保证扩容老数组的值不会发生变化。
      4. 对数组槽点操作,先锁住槽点 保证只有1个线程对槽点的链表火红黑树进行操作.
      5. 红黑树旋转操作 会锁住根节点 保证旋转时的线程安全
      6. java7 是对数组进行分段 锁住某一段 java8 是锁住某个槽点 提高并发效率
    3. 多线程
      1. 线程的状态 (NEW->RUNABLE->BLOCKED->WAITING->TIME-WAITING->TERMINATED)
      2. 线程方法
        1. join
        2. yield(放弃当前cpu 让cpu重新选择)
        3. sleep(睡眠 不释放锁)
        4. interrupt (打断,wait,join,sleep 线程是 waiting打断会抛出InterruptedException 使线程进入TERMINATED;如果是IO被阻塞 会抛出ClosedByInterruptException异常)
    4. 并发包
    5. AQS
      1. status volatile
      2. 同步队列 和 条件队列
      3. 排他锁 reentrantLock
      4. 共享锁 countdownlatch
      5. tryAcquire tryRelease 是可以 cas 设置变量status 并设置当前线程 支持可重入机制
    6. JVM
  2. 数据库

    1. sql 执行过程
    2. sql 慢查询发现和处理
    3. sql 规范
    4. 读写分离
    5. 数据迁移
    6. 深分页问题
    7. 分表问题
    8. 分表数据倾斜如何处理 如何避免
    9. 分表带来的问题
    10. sql 中遇到的问题
    11. 分布式事务
    12. 数据同步工具
  3. redis

    1. 基本数据结构使用场景
    2. redis使用问题如何优化
    3. 集群模式如何部署的
    4. 大key 热key 缓存击穿 缓存雪崩 缓存穿透
    5. 开发中遇到的问题
  4. elasticsearch

    1. 基本架构
    2. 存储原理
    3. 查询原理
    4. 写入原理
    5. 使用技巧
    6. 出现问题如何排查
  5. dubbo

    1. dubbo架构
    2. dubbo 使用中最佳实践
    3. dubbo 使用中遇到的问题
  6. 分布式事务

    1. 分布式事务技术对比
    2. 为何选择tcc
    3. tcc 解决了哪些问题 引发了什么问题 如何解决的
  7. mq

    1. mq 原理
    2. mq 底层存储原理
    3. mq 事务消息
    4. mq 一致性保证 如何实现的
    5. 慢消费问题 如何处理的
    6. 最佳实践和遇到的问题
  8. 定时调度框架

    1. 定时调度框架原理
    2. 定时调度框架如何执行的
    3. 触发策略有哪些
    4. 如果超时未触发如何处理
    5. 超时如何中断
    6. 如何进行补偿 保证一致性
    7. 扫表缺点
  9. 分布式

  10. 分布式锁(redis zk 两者实现对比和优劣)

  11. 分布式事务

  12. 分布式cap理论

  13. 分布式base

  14. 分布式paxos raf zab 区别

  15. 分布式 数据一致性如何保证

  16. 一致性hash

  17. 分布式id生成

  18. 如何保证接口幂等 为啥不建议用数据库唯一性

  19. 负载均衡策略

  20. 熔断策略

  21. 降级策略

  22. 链路追踪

  23. 分布式缓存 和本地缓存有必要一起吗

  24. spring

    1. spring ioc
    2. spring aop
    3. springboot 启动流程
    4. spring 循环依赖
    5. spring bean 的生命周期
    6. spring 事务
    7. spring event
    8. spring 使用了哪些设计模式
    9. spring shutdownhook作用是啥?
    10. 如何自定义一个spring start
    11. spring多数据源如何实现
    12. 什么情况导致bean无法初始化
    13. springmvce 如何实现流试输出
    14. springboot 双亲委派有什么不一样
  25. ai

    1. prompt 是啥。如何定义
    2. docparse 如何解析。
    3. rag流程 如何优化。
    4. 工作流编排是咋做的。
    5. mcp 是啥如何使用。
    6. 向量比对使用模型 关注的参数。
    7. 平常使用哪些模型。
    8. 模型部署和模型微调
    9. agent 上下文记忆如何处理?(短期和长期)
    10. agent 工具调用和多agent是如何做的?
    11. agent 如何执行代码片段?
    12. agent 解决了什么?自主agent是啥?(意图识别)
  26. 系统指标

    1. 服务器cpu 内存 磁盘 网络 占用?
    2. 接口响应耗时
    3. qps
    4. 线程池监控
    5. 日志异常监控
  27. 微服务

    1. 如何进行服务拆分
    2. DDD是啥
    3. 微服务之间通信方式
    4. serviceMesh 是啥
    5. 分布式和微服务区别
  28. 解决过生产事故

    1. cpu 飙高
    2. 内存oom
    3. 死锁
    4. mq 数据堆积
    5. RT 飙高
    6. 慢SQL排查
  29. 项目中的亮点

    1. 数据平滑迁移
    2. 资源加载拆分成TCC事务
    3. TTL 解决参数共享问题
    4. 使用xxl-job 分片实现分表之后的扫表
    5. 状态机 + 乐观锁 解决并发问题
    6. 报表服务拆分 同步转异步 (定时补偿)
    7. 本地消息表实现分布式事务最终一致性
    8. 使用redis分布式锁 解决短信验证码重复发放
    9. 借助redis令牌桶 对多租户进行资源限流
    10. 基于token 避免重复提交
    11. easyExcel + 线程池 报表导出
  30. 算法技巧

    1. 双指针 左右指针 二分法 滑动窗口 贪心
    2. 数组 链表 树
    3. 排序算法
posted @ 2025-07-18 11:49  贺艳峰  阅读(2)  评论(0)    收藏  举报