面试阿里,直呼太难了!

时间:2024-07-19 21:07:07
  • 自我介绍
  • 项目背景?
  • 你觉得项目难点是哪些?
  • 第一版是怎么实现的?为什么会出现超卖问题?
  • 记录抢单结果的表是怎么设计的?
  • 这张表的索引和其他的约束是怎么做的?
  • 乐观锁为什么不是加在抢单关系表而是在订单表里的?
  • 你现在数据库的设计上似乎有些问题
  • 你们的订单允许取消吗?
  • 如果要取消的话应该怎么设计呢?
  • 简易短视频做了哪些东西
  • 用户登录的处理流程是怎么个样子
  • 接收登录请求是HTTP吗
  • HTTP里面登录的状态保持是怎么做的?
  • 怎么判断JWT的合法性
  • JWT里面保持了哪些东西?数据结构大概是什么样子?
  • JWT和普通的Session的方式有什么区别?
  • session的方式了解过吗?
  • 使用JWT要实现一个状态只能一个设备登录,这应该怎么做呢?
  • 怎么设置JWT的校验不通过呢?
  • JWT对于登录数量有要求的就很痛苦
  • Java的双亲委派,为什么要这么设计呢?
  • 类如果重复加载会有什么问题呢?
  • 有遇到过非双亲委派模型的场景吗?
  • 类加载的过程一般会做哪些事情?每一步具体都在做些什么呢?
  • 对JVM的调优有了解过吗?
  • 说说你对Redis的了解
  • bitmap是个什么样的东西
  • 项目里的Redis是怎么用的?
  • 抢单为什么会有库存数量
  • 使用Redis防止超卖的流程是怎样的,会不会有并发的问题?
  • 递减是怎么操作的?
  • 这样会不会有问题,递减完成时的并发判断库存大小的时候出问题,因为递减和判断不是原子性的
  • ThreadLocal的作用
  • 什么样的情况下会使用ThreadLocal?
  • 后面怎么使用的?
  • 这么设计(使用ThreadLocal)的原因?目前来说ThreadLocal是能不用就不用的
  • 内部起个线程池,这时能拿到ThreadLocal的内容吗?
  • SpringCache和Redis有什么区别?(考虑业务上的合理性)
  • MySQL有哪些储存引擎了解吗?有什么区别
  • 聚簇索引和非聚簇索引有什么区别?
  • 回表的优化了解过吗?
  • 为什么不要使用select * 呢?
  • 没有被索引覆盖是什么?
  • 什么是索引下推
  • 反问