豆包后端面经

秋招第一站,就给我来了个大的,谁懂啊一个外卖项目问一个小时,总市场一个半小时。结束面试官说,要多注重细节的实现啊,不能只是有一个基本的想法,被追问麻了。。。

每次被八股时就被打断说,我不要听概念,你说详细一点的实习!!!

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位。输出保留指定位数的字符串

#25秋招记录##豆包##后端开发#
全部评论
这就是字节强度么
7 回复 分享
发布于 2024-08-20 10:44 上海
好难啊
2 回复 分享
发布于 2024-08-20 14:55 北京
好难
2 回复 分享
发布于 2024-08-20 11:09 河南
外卖缝点评?
1 回复 分享
发布于 2024-08-23 21:47 广东
浙大佬
1 回复 分享
发布于 2024-08-22 23:49 黑龙江
佬现在有消息了吗
点赞 回复 分享
发布于 2024-08-26 11:37 北京
你这个外卖是微服务吗
点赞 回复 分享
发布于 2024-08-22 21:22 上海
麻了
点赞 回复 分享
发布于 2024-08-22 14:44 四川
进去豆包是做啥业务,做豆包商业化吗
点赞 回复 分享
发布于 2024-08-21 22:21 广东
有实习怎么还写外卖
点赞 回复 分享
发布于 2024-08-21 06:41 上海
我也面的豆包后端,感觉比你问的简单一点,也是扣细节
点赞 回复 分享
发布于 2024-08-20 15:17 湖北

相关推荐

05-06 15:29
东华大学 C++
1. ​分布式订单ID生成? 短时间高并发下如何保证唯一性?我先回答了雪花-like, 上段实习中, 我们项目的全局GUID生成器是我写的, 考虑了短时间内大量产生的情况, 向后借用, 未考虑时钟回拨然后想起来当时和leader讨论,  单独的GUID生成中心, 分批向各个ds批发号段.. 或者是用tacplus的自增id, 但是这样效率太低2. ​CPU 性能瓶颈分析使用 prof 工具监视热点函数的性能消耗3. 上段实习工作内容? 难点?    背包/仓库/道具 ​重构模块追问​:    在两周内重构1万行代码,如何保证代码质量?是否引入单元测试或自动化验证?    10天完成15天任务,如何协调开发与测试资源?是否牺牲技术债?4. 问了一点网络: 网络通信与实时系统视频会议与代码共享的链路设计追问​:解释从你的设备到面试官屏幕的完整网络路径(如NAT穿透、协议选择)5. 游戏服务器同步机制? 和互联网开发的区别服务器作为权威状态源,定期向客户端广播游戏世界的完整或增量状态(如玩家位置、血量)电商无状态服务可通过REST API+RPC横向扩展,而游戏服务器需维护长连接和会话状态。6. 系统设计 分布式事务与最终一致性​游戏道具交易涉及多个系统(背包、仓库、邮件),如何设计分布式事务?对比电商订单支付+库存扣减。​回答方向​:​Saga模式​:将事务拆分为多个可补偿步骤(如“扣道具-发邮件-记录日志”,失败则回滚)。对比:电商更倾向异步消息队列​(如Kafka)实现最终一致性。7. 游戏服务器宕机后如何快速恢复玩家状态?电商系统如何设计类似容灾机制?定时落DB+游戏整体运行在共享内存, 方便resume7. 游戏后端请求链路分析采用自定义的可靠UDP协议​(KCP),平衡延迟与可靠性. 玩家操作(如移动、技能释放)需携带时间戳和操作序列号,用于服务端验证顺序, 请求直达, 客户端直接和服务器感觉面试内容很不"八股", 答得稀里糊涂的, 上面的顺序不是面试提问顺序, 想起来什么说什么, 大家做个参考
查看11道真题和解析
点赞 评论 收藏
分享
评论
32
240
分享

创作者周榜

更多
牛客网
牛客企业服务