字节财经 三面 手撕居然出了hard

面试公司:字节跳动
面试岗位:后台开发
面试问题:
1. 自我介绍

2. 挑个项目讲讲,又祭出了祖传的RAG(主要怕说java玩具项目对方没兴趣,后来发现我想多了,三面的面试官至少也是架构师级别,啥项目在人家眼里都是玩具

3. 具体是怎么做的?整个RAG链路是什么?

4. 向量化怎么做的?为什么能把文本映射成向量?底层原理是什么?

5. 用的什么向量数据库?(答Milvus)追问:Milvus和常规的关系型数据库有什么区别?为什么用Milvus?

6. 为什么不用Elasticsearch?(太偏向于文本匹配,对语义的感知能力不够)

7. 你在项目中遇到的最大的挑战?技术难点?(说了关键词增强的多路召回,面试官很失望,说我觉得这也不是啥技术难点啊,汗流浃背了

8. 来做一道题吧(此时距离面试开始才过去22分钟,但是题目出来的一瞬间我就知道为啥这么早就开始做题了

题目:删除无效的括号(hard)

早就听闻这道题很复杂,好在之前在利特蔻德上喵过一眼,于是直接献出了我的自创方法:预检索+剪枝回溯+后处理+后验证(后来发现这个思路其实和官解方法三大体差不多2333)

还是先说大致思路,然后写代码。不得不说是真的复杂,前前后后大概写了100行左右,自己测了一下没啥问题,最后对着代码和面试官讲了具体思路。整个过程大概40分钟。

反问:
对实习生的要求?具体看重的方面?(回答技术基础+对新事物的求索心)

总结:三战字节,每次面试官的风格都不一样。但是也存在一些共性:比如主要围绕着项目拷打(如果有实习的话应该也会猛猛问实习),常规八股较少(就一面问了两三个),以及非常重视对算法题的考察,而且难度都是mid起步,很少出easy

许愿OC

#软件开发笔面经#

-----------
更新:当天晚上hr来电话,说正在走offer审批,加了微信
全部评论
手撕hard已经过了
14 回复 分享
发布于 03-06 17:08 上海
!这个手撕是我上次二面挂掉的
5 回复 分享
发布于 03-06 21:29 北京
我的吗,100行我都不敢想象
3 回复 分享
发布于 03-07 10:40 上海
一面hard就给我挂了
2 回复 分享
发布于 03-07 17:16 上海
太牛了,速通字节
2 回复 分享
发布于 03-06 22:24 陕西
给南大✌🏻👻了
1 回复 分享
发布于 03-07 18:32 广东
我也是三面遇到了这个题
1 回复 分享
发布于 03-07 16:18 新加坡
神中神!
1 回复 分享
发布于 03-07 14:09 湖北
大佬好强,我hr说还在内部审批,是不是还没有offer呀
点赞 回复 分享
发布于 03-06 22:16 北京
第一次面试就是字节,一面刚开始就开始手撕,上来就是hard给我整懵了
1 回复 分享
发布于 03-06 21:21 安徽
太强了
1 回复 分享
发布于 03-06 19:36 广东
姐姐,我是你妹妹艾莉,请你把offer转让给我,不然我要用俄语怼你了
1 回复 分享
发布于 03-06 18:46 北京
稳的,鼠鼠还在碰壁(哭
1 回复 分享
发布于 03-06 18:11 江苏
许愿OC
1 回复 分享
发布于 03-06 17:31 广东
佬好强祝oc
1 回复 分享
发布于 03-06 16:19 辽宁
太🐮了
1 回复 分享
发布于 03-06 16:13 北京
架构师级别牛逼
点赞 回复 分享
发布于 04-15 23:32 陕西
实习会怎么拷打呢
点赞 回复 分享
发布于 04-13 20:58 河南
mark删除括号hard
点赞 回复 分享
发布于 04-07 09:33 浙江
👍👍
点赞 回复 分享
发布于 04-01 23:53 陕西

相关推荐

拼多多 暑期实习 二面,总共用时1h 左右, 被面试官疯狂拷打, 估计凉凉。首先介绍项目, 对方完全不感兴趣: 你做的这些和后端开发有什么关系?我简单介绍了下后端相关的,面试官可能觉得太简单了,没有继续问。然后就是痛苦的手撕拷打,持续50mins 左右。问题1: 给你两个班级, 每个班级共有 k 个人,你是班主任,要从每个班级中挑出1个人,使得他们的身高差最小。回答: 先排序, 然后遍历A班级,二分查找B班级中的第一个大于等于(lower_bound)A班级里的那个 的位置,然后比较那个位置和前一个位置。面试官和我不太同频,问我为什么要找第一个大于等于?二分查找不就是找一个位置吗? 面试官笑眯眯的问我是第一次接触二分搜索吗?然后计算时间复杂度。感觉完全不同频。问还有更优解法吗?回答双指针,还是固定遍历A, 然后另一个指针从B开始找比A大的,然后在和前一个也比较,取最小的。这样就是O(n).面试官提示一下,不要局限在当前这个和前一个比较,换种思路。 然后我一直在思考,对方问我双指针要怎么初始化?  因为我还没想好,就没回答。面试官: 双指针要怎么初始化?这你都不懂吗。。。? 怎么不回答我。我说新思路还没想好,面试官表示刚才那种思路的双指针要怎么初始化? 答:都初始化在第一个位置。问题2: 两个班级, 换成 N 个班级, 每个班级选1个人, 要求算出来的人里的 max - min 最小。答没思路, 面试官提示下多个指针? 考虑下指针应该如何移动。我想了想,移动最小的那个指针,直到所有指针都走到末尾,每次移动,从这个N个人里面取最大的,最小的,比较。然后算时间复杂度:n个班,每个班k个人,  我想整体的数据规模是 N = n*k , 然后我用 N 去后续表示。面试官:你为什要定义新的符号N? 算完时间复杂度,问我“从这个N个人里面取最大的,最小的”这部分可以优化吗? 我回答可以使用 map (cpp里的),面试官表示你直接说数据结构,不要说语言中的名字。问这个的时间复杂度,答logn面试官:那你开始写吧。写了大概 3 分钟。 他看了眼。问题3: ping 100ms  , curl http://1.2.3.4:8080/hello  需要多少时间?这里我考虑了4次挥手, 面试官:需要考虑这个吗?答 200ms. 问题4: 直播间,打赏金额最高的100个用户? 你应该如何实现维护?我回答使用 redis 的 zset ,  可以高效的获取top 100.面试官问:这样有什么问题吗? 如果用户特别多的情况。我想了一会,也没想出什么问题,回答没什么思路。面试官:用户太多了会有 大 key 问题, zset 删除的时候会阻塞几秒。 (我不太理解)面试官:你应该考虑怎么优化?答: string 配合 zset 使用, string kv 中存 user, money,  而 zset 中只维护 top 100 的。同时更新这俩。最后, 反问部门业务:拼多多直播带货。技术栈: 面试官看我的简历里面,cpp 太底层了我们这边不用,golang 也不用,主要是 java , 然后 redis, mysql, kafka这些。面试官问我懂不懂二分, 我当时多少有点生气💢, 不过总的来说面试官人还不错,还算友善,给了很多引导。
查看13道真题和解析 牛客创作赏金赛
点赞 评论 收藏
分享
评论
103
154
分享

创作者周榜

更多
牛客网
牛客企业服务