豆包后端面经

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

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

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 湖北

相关推荐

作为带过好几个实习生的老mentor,我见过有同学带着一腔热血来实习,最后却只带走一份单薄的履历。实习,是你从学校到职场最关键的过渡期,它的价值远不止一份实习证明。今天,我不讲大道理,就从我作为Mentor的视角,给你们几条能立刻用上的建议。记住,你的目标不是当个好学生,而是成为一个值得信赖的职场新人。一、 心态转变:从被动答题到主动解题这是我最想强调的一点。学生思维是:等待老师布置明确的作业,然后完成它。职场思维是:主动发现模糊的问题,然后解决它。反面事例:接到任务后,埋头就做,遇到困难不吭声,直到截止日期才说“这个我不会”。Mentor期待的是啥呢?首先是确认目标:接到任务后,先用自己的话复述一遍:“我理解这个任务是要达成XX效果,对吗?” 确保方向没错。然后是主动思考:不要只带问题来,要带“选择题”。问“这个数据我不会查,我尝试了A和B方法都失败了,您看是方法C更合适,还是我有其他没考虑到的渠道?” 这证明了你的思考和努力。最后是闭环思维:任务完成后,主动告知结果:“XX任务已完成,数据/文件已发您邮箱,并同步在团队网盘了。其中有个小发现是……,供您参考。” 让一切有始有终。二、 沟通方式:实习生的很多错误,都源于“想当然”和“不敢问”。反面教材:在做一个PPT时,因为不确定公司模板,就套用了自己觉得好看的模板,结果不能用。那么怎么确认,怎么提问呢?第一个,不懂就问,但别重复问:第一次问,是学习;同样的问题问第三次,就是不用心。准备一个笔记本,把关键信息、操作流程、注意事项都记下来。第二个,及时汇报,别等追问:特别是遇到卡壳或可能延期时,一定要提前说。Mentor不怕你慢,就怕你失联。没事儿更新一下进度:目前已完成80%,但在XX环节遇到点阻力,正在想办法沟通等回复,预计今天下班前确定结果,到时候给您,这样说能让人极度安心。第三个,珍惜1on1机会:和Mentor的定期沟通,不是你被动接受批评,而是你主动获取信息和反馈的黄金时间。提前准备好:a) 本周工作进展;b) 遇到的困惑/挑战;c) 希望学习的新技能;d) 对团队业务的任何好奇。三、 工作习惯: 专业性体现在细节里职业素养不是空话,它藏在每一个你容易忽略的细节中。1. 邮件/沟通软件礼仪:邮件:标题清晰(如【实习生XX-XX项目周报】),正文称呼得体,结尾有落款。别用“在吗?”开头。工作群:别发表情包刷屏,沟通事情简明扼要。收到任务或通知,回复“收到,谢谢”,这是基本的确认和尊重。2. 文件管理与命名:我会观察实习生的桌面,看他们的使用习惯,乱糟糟的桌面说明他没条理。文件命名要使用统一的命名规则:日期_项目名_内容_版本_姓名。例如:20231027_秋招海报_初版_张三。这能为整个团队节省大量沟通成本。3. 对待杂活的态度:复印、整理数据、会议纪要……这些dirty work是不可避免的。但优秀的人是能从中找到价值的:整理数据时,可以留意数据之间的关联或异常,做会议纪要时,可以梳理出会议的决策和待办事项。四、 终极目标:带走三样东西1. 一段能讲出STAR法则的实战经历:这直接决定了你未来求职简历的厚度。2. 一位可以为你未来背书的Mentor/同事:好好表现,离职时保持联系,他们可能成为你未来求职的推荐人和内推渠道。3. 对行业和岗位的真实认知:通过这次实习,你想清楚自己是更热爱这个行业,还是想赶紧跑路?这个答案,价值千金。最后,作为你们的Mentor,我想说:大胆去试,勇敢去问,别怕犯错。实习期是你犯错成本最低的时候。展现出你的靠谱、主动和思考,我们做Mentor的,会非常乐意把更核心的任务交给你,因为带你,也是在为团队培养未来的战友。希望这些建议能帮你少走弯路,打一场漂亮的实习战!
家族企业:实习一年比在大学多年都有用
第一次找实习,我建议__
点赞 评论 收藏
分享
评论
33
242
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务