Pdd-三面-4.17
- 请简单介绍一下你自己做的项目,以及大概用到了哪些组件(中间件)?
- 是否了解分布式系统的 CAP 理论?这大概是一个什么样的问题?
- 在你的项目中,使用分布式锁主要是为了解决什么问题?如果改为异步的方式,还能判断“一人一单”吗?
- 秒杀场景下,先判断“一人一单”再判断“库存是否足够”,这一套逻辑具体是在哪里判断的?
- 项目中的 Redis 是单节点部署的吗?如果变成集群部署,库存在一致性的问题?
- Redisson 分布式锁的实现原理是什么样的?
- 布隆过滤器?
- 如果让你设计一个工作在多线程并发环境下的本地先进先出(FIFO)队列,且为了性能要求是无锁(Lock-free)的实现,你会怎么考虑其数据结构和实现机制?
- (给每个线程分配单独队列的方案)这种方案有什么缺点?
- 底层有没有了解过哪些操作手段、机制或技术,是专门为了实现无锁化而设计的?
- 经常使用锁会对系统性能产生比较大的影响,这种性能开销具体体现在什么地方?为什么用锁会导致这么大的性能损耗?
- 谈到上下文切换,所谓的“上下文”到底包含哪些信息和内容?
- 发生上下文切换之后,是否还会涉及到大面积的内存拷贝问题?
上来先手撕:非递归实现后序遍历二叉树,磨蹭半天写出来了