秋招第一站,就给我来了个大的,谁懂啊一个外卖项目问一个小时,总市场一个半小时。结束面试官说,要多注重细节的实现啊,不能只是有一个基本的想法,被追问麻了。。。每次被八股时就被打断说,我不要听概念,你说详细一点的实习!!!819-豆包后端开发项目:项目有哪些模块,单体项目还是微服务吗数据库表模型怎么设计的,详细讲一下对于一张数据库表你的思考、设计过程商品下单有没有库存概念,套餐和菜品都有库存字段吗用户下单操作,后端的流程是怎样的,详细讲一下技术实现?购物车怎么存储的?购物车的key是什么,value是什么结算有哪些步骤如何做的幂等处理库存扣减怎么做的有没有加锁,加锁的目的是什么,锁加在哪里(查询库存前还是查询后),用的什么锁怎么扣减,sql怎么写详细说一下查询库存查的是缓存还是数据库缓存和数据库的库存不一致怎么办?你这里为什么设置缓存,设置缓存更新数据库后清掉缓存,缓存命中率下降怎么办,怎么解决你说的高并发?多个线程扣减库存,如何保证不会扣超有没有不加锁扣减库存的方案说了CAS的想法,让详细讲一下设计方案,update语句怎么写不考虑多线程的问题,现在如果一个线程扣减库存成功了,但生成订单失败了,怎么处理答了mq进行补偿,追问怎么使用mq,消息发送时机是什么时候(扣减库存前还是后),如果还是生成失败,怎么提示用户,怎么回滚扣减的库存(A服务线程扣减库存,发消息给mq,mq ack确认,B服务消费消息生成订单,但生成订单失败,此时B服务线程要怎么做?怎么保障订单创建失败,A服务扣减的库存回滚(微服务模式下怎么做,能用事务)),有没有简单粗暴点的方法。其他:如何从零实现HashMap数组+链表/红黑树:数组存什么?链表存什么?存key还是存value还是怎么(这里被带偏了,说存value,实际key和value都要存,后面有更改)hash函数是干什么的,hash函数的入参和出参是什么,入参只能是字符串?对于不同入参类型,hash函数怎么把他们转换成散列值的?链表越来越长怎么解决—扩容rehash,多线程并发操作不安全怎么解决,还要保证一定并发度?修改时锁怎么加,分段锁加在哪里?如果发生扩容怎么处理,加锁吗,加什么锁(扩容时,其他线程的插入操作怎么处理)—答了分段锁+全局锁两层锁两层锁怎么加,所有写都要加吗——答了rehash才加全局锁java的concurrentHashMap怎么处理的,rehash时加锁了没,并发度如何手撕:手算开平方(给定整x,n),精确到小数点后n位。输出保留指定位数的字符串
点赞 32
评论 11
全部评论

相关推荐

03-03 10:35
3d人士会梦见住进比弗利山庄吗:这四个项目属于是初学者的玩具了。不知道面试官咋问,而且双非本搞算法除了9,还是保守至少c9
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务