秋招面经-百度go后端开发二面50min

1.项目介绍
2.实习相关
3.go并发编程代码段中,for循环里写select语段,case监听通道,在外部没有写入时,for循环会是什么定位。case通道外部关闭会发生什么,写和读会发生什么。
4.go并发编程时候,嵌套子协程,主协程想退出,如何通知到其他派生子协程
5.内存足够,对于一个没有重复数字的整形数组做稳定且高效的排序
6.希望生成一个没有重复的整型数组,可以使用ranint(a,b)来生产,希望数组的元素最小值是0,最大值是9999,数组长度是10000.
7.0-1背包问题,数学抽象。多背包问题,数学抽象。最小费用最大流问题,如何保证最大流约束。
8.手撕代码:子集合问题,给一个由正整数组成的随机数组和一个target,问这个正整数集合是否存在一个子集,使其元素和等于target,存在输出true,否则false。
全部评论

相关推荐

11-19 09:45
已编辑
门头沟学院 Java
bg:2本9硕,第一段实习胆小🐭未投递bat整体timeline:10.9开始投递 除jdy外 10.23都已经结束美团(数据平台部)一面 二面 oc蚂蚁(Oceanbase某边缘部门)一面 二面拒绝(脑子进水了)快手(大模型应用开发)一面挂虾皮 (保险那边业务)一面 二面挂京东jdy(京东科技)一面 二面 三面 oc百度(用增后端)一面挂b站 (cicd流水线)一面挂滴滴 (mpt引擎架构)一面过 二面oc面试一些更具体部门或者业务,这里就不展开了,有感兴趣的同学可以私聊面经~一点感想:1.越来越卷了,认识了很多27届的小伙伴现在已经2-3段实习了2.大模型应用开发是趋势,在你学历以及简历深度到位的基础上,了解甚至熟悉大模型应用开发的东西会帮助你脱颖而出,最少能多很多面试(实测),但是也存在一个小风险:简历靠大模型吸引来的,可能一般也只是组里应上面okr要求要做agent,招你进去随便做一个,成长性堪忧,但是总比啥都不做好。3.自己做的项目,不管是点评还是什么其他各种秒杀 电商等,可以想办法多体现一些与众不同,面试官们真看腻了,他们都能给你全文背诵你简历的描述,最重要的在于项目复杂度,一定新颖程度描述到位的基础上,多结合个人的思考,没接触的场景或者问题,玩命调动自己做项目的过程经验以及结合一定八股来回答,在面试官那边印象不会差的4.算法这块,感觉绝大部分厂不会太为难,我手撕十多道的经验上来看,没有超出hot100及其简单变式,不用太担心5.最重要的还是运气,运气面前一切实力高低与否都显得很渺小而运气又和投递时期挂钩,短时间内如果没有面试或者面试结果不尽人意,不用着急,可以继续投递的同时一边优化简历和熟悉八股算法,没准哪天某大厂缺人就一面速通你了,幸福往往就在一瞬间~祝大家都能找到自己满意的实习~也欢迎同一届的后端小伙伴们一起多多交流
发面经攒人品
点赞 评论 收藏
分享
常规问题: 1. 3分钟简单自我介绍2. 在实习和开源经历中,你遇到的最大困难或最具挑战性的事情是什么?实习拷打(拓展相应的场景八股)慢 sql 治理相关的1. 你在平台稳定性建设中提到通过添加索引、读写分离优化慢SQL,具体是怎么做的?2. 读写分离可以再详细说一下吗3. 能否举一个添加索引的具体例子?比如在哪个字段上加了什么类型的索引?4. 你加的是单列索引,如果查询只需要表中的几个字段,当前的单列索引是否有优化空间?5. 联合索引相比单列索引的优势是什么?为什么更优?(从回表,索引下推优化那个方向说就好)es 慢查治理相关1. 关于ES扩容主分片优化查询,具体是怎么做的?2. 系统的ES集群资源配置你了解吗?(如CPU、节点数等)3. 扩容分片数量是如何确定的?仅依据数据量吗?4. 分片切割后为什么查询会变快(并行查询)5. 将 long 类型字段转为keyword类型,是如何利用跳表结构的?这里其实并不能,只是切换是为了适应精准匹配的场景,keyword 的底层用的是倒排索引+跳表6. 除了分片扩容和类型转换,还有哪些方式可以优化ES慢查询?(force merge 整理碎片)分布式锁(业务中有个并发修改用到了,主要问的一些分布式锁的实现细节)1. 你在业务中使用的分布式锁是标准库还是自研的?2. 让你自己实现一个最简单的分布式锁,你会怎么实现?3. 如果任务加锁后异常退出,没有释放锁,如何避免死锁?4. 如果任务执行时间很长,锁过期被其他任务获取,原任务完成后误删了别人的锁,如何解决(防止锁的误释放,加标识)5. 如果任务A包含多个子任务,且子任务本身也有加锁逻辑,在嵌套调用时会因重复加锁失败,如何解决?(可重入锁的实现)6. 在秒杀场景下,能否直接用分布式锁控制库存扣减?会有什么问题?7. 如何让秒杀请求不立即失败?(锁的自旋)并发编程1. 你使用CompletableFuture并发查询多个维度,底层是如何实现并发的?2. 你是自己定义线程池,还是使用默认线程池?3. 你是基于什么依据设置线程池参数的?4. 如果一个任务同时包含CPU密集型和I/O密集型操作,共用一个线程池会有什么问题?应该如何设计?(线程池隔离,避免cpu密集型任务阻塞I/O密集型任务)Agent和开源相关的内容1. 你的基座模型切换(DeepSeek → 千问)后,响应是流式还是非流式?2. 为什么关注完整响应时间,而不是首字响应时间?(主要是业务上的一个需要)3. 你的性能优化目标是在保证输出内容不变的前提下缩短生成时间吗?4. 你在Agent框架中使用了责任链模式和观察者模式,请分别解释这两种模式5. 既然有四个固定执行步骤(Agent执行前,执行后,模型执行前,执行后),是否可以用模板方法模式替代责任链模式?6. 你使用观察者模式的具体场景是什么?为什么选择它?7. 你还了解哪些常用设计模式?8. 你提到使用HNSW算法进行向量搜索,能简述其基本原理吗?(避免全表的向量查询)9. 为什么不直接用余弦相似度做全量匹配,而要引入HNSW?10. 你是否使用过BM25算法?它的作用是什么?11. 向量搜索有哪些弊端?12. 向量检索和BM25全文检索的得分量纲不同,如何进行混合排序?(引入一个精排模型重新打分)反问:1. 业务(智能客服相关)2. 不足,基础还需要加强无手撕,总体一个小时总结:面试体验很好,主要就是根据简历延伸一些八股和简单场景,有些还需要加强的地方,挖出来了自己基础上的一些问题
点赞 评论 收藏
分享
上来问了一下你确定你投递的是测试开发岗位?(简历上是后端,现在不应该心照不宣了吗)自我介绍项目拷打:(真的很希望看到别人项目拷打的问题,我都编不下去了)选择一个项目进行介绍(选了天机学堂)介绍你在这个项目中干了什么你们这个项目听着挺大的,全是你开发做的吗你们这个项目上线了吗,如果上线了,你觉得用户量会达到多少,我说了几千到几万?那么这个值是怎么估计得到的,我说这种在线教育用户范围限定的比较死,面试官应该想听更详细的估算方法?项目中的接口,上线了你有哪些指标来衡量它的好坏你怎么测试你接口的好坏?测试相关:测试用例,微信红包(大概就是围绕功能,性能,安全,边界值,兼容性去说)八股:Redis可以做什么(签到,GEO查找,缓存重点结合项目说,分布式锁,结合项目登录校验取代session)Mysql的索引讲一下(聚簇索引,二级索引;普通、唯一索引;单列多列索引,主要是重点说聚簇下b+树的结构展开多说了点)Linux常用命令(rm,mkdir,cp,cd,ls,grep,ps,sudo这些都说了)Linux远程传输文件的命令(不知道)代码Sql(给定一个成绩表,包括姓名,科目,成绩)1.请找出语文成绩排名前10的姓名2.请找出名字李开头的人的总成绩(模糊+count)算法:二分查找(提前下好客户端,我浏览器打开会看不到题目,只能自己共享屏幕本地编译)反问:业务相关,搜索部门好像是多久出结果(明天)第一次面试需要改进的地方,感觉算法和八股面试官觉得还行,说我项目那里还得练(反正问点场景我不知道的我就老实开摆)人生第二面,其实也是首面,下午刚面第一面,希望大家指正有点迷茫,不知道接下来该朝哪方向努力,本来准备后端的,结果后端无人问津测开被约三次了,现在应该补充点测开系统知识吗,能不能两手抓,这种网上的项目怎么装的像真要上线一样啊,实在脸皮薄不会撒谎,感觉一问都是漏洞,真心赐教。
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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