Cider 一面 50min自我介绍拷打项目:MPS 算法模块排产能具体说说吗?拷打项目:用户增长引擎是怎么做的?你是怎么实现超卖 ?(redis 库存预热 + 分段锁)你的商品能退单吗 ?(考察的是超卖的另一种场景) 不能,免费赠送额度,知道这种场景一道递归题目大概是输出树型分类下的所有商品 30min (A了)一个 URL 从浏览器输入到请求返回说说整个链路。反问环节:xxxCider 二面 80min上来就笔试:某个业务下的单表 CRUD + 最大值 + 最小值 + 平均值 (30min A)解法:List 模拟 DB, Map 模拟 Cache, 异步刷库,最大最小值用最大最小栈做到 O(1)。面试官反问:解释一下最大最小栈的原理输入简单的样例验证最大最小值能用其他方式获取吗? (优先级队列)能自己写一个吗 (手搓大小根堆,7,8 min 太短,没搞出来,但面试官 Get 到意思了)为什么你要删除缓存?(解释数据一致性)整个业务能是是线程安全吗 ?(不是)你至少用两种的方式达到线程安全 (sychronized, 变量替换为线程安全的,对象内部加版本号)变量替换为线程安全的整个业务就能安全吗?(反应答错了,加事务以及隔离级别) 这次也没达到点上😢再想想 (volatile)volatile 是什么原理 ?(JMM)JMM 了解 happens-before 吗?了解过数据库吗?默认隔离级别是什么 ?RR 级别线程 A, 线程 B 同时对同一条数据操作会发生什么情况 ?RR 级别下,更新 id > 1 的数据,另一个线程新增 id = 100 的数据,会发生什么情况(反问,这个 id 加索引了吗 ?)为什么会阻塞?看你项目用到了 DDD ,你们是怎么编写 DDD 的,聊了很多 DDD 的内容Cider 三面 65min问了项目为什么要找这一段实习赛车程序(40min)你们公司的部门划分?反问:部门上下游和那些对接?公司氛围总结:八股问得不深,项目问得也不深。