主要汇总一下暑期实习面试遇到的问题
优惠卷秒杀:
优惠卷秒杀的逻辑
聊聊你的乐观锁。数据库层面的update?update也要加锁的,那这样你的并发量很低,有想过解决方式吗?(被三个面试官指责我这种实现不好,有个面试官建议我用redis扣减库存)
你订单接口的幂等性是怎么做的?(意思就是post请求带着:一个用户id,一个优惠卷id。发送多次请求,如何保证只有一个成功)
你库存扣减之后,还要去insert一个新的订单,你是如何保存这个的一致性的。
关注和点赞:
说说你的数据结构怎么设计的?我关注的人和关注我的人怎么设计的?
redis里面有设置过期时间吗?
那种大v,粉丝数量应该很多,这种热key+大key你是怎么处理的?分表知道吗?
rabbitmq进行异步处理?那我假如关注一个人之后,马上要给他发消息怎么办(场景:互关才能发消息),你怎么保证这个即时性
博客加载:(自己做了个串行加载改并行:thread pool+future)
线程池的参数怎么设计的,核心线程数2n(n=cpu核心数)?但是你多个tomcat请求共用一个线程池啊......tomcat线程池都有几百个线程了,2n肯定不行
future类异步获取加载结果,如果等待时间很长怎么办?一直阻塞吗?
登录:
简述你的登录逻辑
双重拦截器是什么
为什么要用thread local,thread local底层你懂吗?会出现什么问题?内存泄漏知道吗?怎么解决的
redis:
自定义布隆过滤器解决缓存穿透?布隆过滤器满了怎么办?布隆过滤器的数据怎么迁移?从一个小的变成一个更大的布隆过滤器可以吗?
延迟双删说一下,更新成功但是第二次删除失败了怎么办
为什么用redisson?redisson底层原理你懂吗?看门狗机制具体怎么实现的?redisson如何解决主节点宕机问题(setnx进入master,但是宕机,slave节点还没有收到写命令)
zookeeper实现分布式锁知道吗?
作者:适彼乐土