涂鸦智能一面面经

面经

写面经,攒人品

  1. 自我介绍
  2. 项目介绍
  3. 线程创建的几个方式
  4. callable的使用场景(*)
  5. 多线程情况下的资源安全(锁,*)
  6. 线程池的工作原理
  7. 服务调用的方式
  8. dubbo的协议(*)
  9. dubbo的序列化方式(*)
  10. 分布式事务
    1. 二阶段提交
    2. mq事务消息
  11. jvm内存模型
  12. redis分布式锁的问题(碰到过没有)
  13. 学习的方法
  14. 反问
    1. lot为什么需要客户管理系统
    2. 技术栈

写面经,攒人品


解答

线程创建的几种方式?

  线程创建的4种方式:

  1. 继承Thread类
  2. 实现Runnable接口
  3. 时间Callable接口
  4. 使用线程池,使用Executor框架创建线程池

callable的使用场景?

  callable有返回值,可以通过Future获取返回值。

多线程情况下的资源安全?

  有多种保证线程安全的方式:

  1. 加锁的方式
  2. 并发的工具包

线程池的工作原理?

服务调用的方式?

  服务调用分为多种方式调用:

  1. 本地service调用
  2. 远程调用
    1. rpc调用
    2. rest(http)调用

dubbo的协议,dubbo的序列化方式?

分布式事务?

jvm内存模型?

redis分布式锁的问题?