Rubrik OA 2026 SDE Intern OA 面经分享

1,399Times read
No Comments

最近做了一套 Rubrik 的 SDE Intern Online Assessment。整体风格偏工程逻辑,不是那种特别烧脑的算法题,但对思路清晰度和实现细节要求很高。下面把两道题用段落形式整理一下。

Rubrik OA

第一题:Capable Models

题目给你 n 个 machine learning models。每个 model 有一个 cost[i],同时有一个长度为 2 的二进制字符串 featureAvailability[i],用来表示这个模型支持哪些 feature。

如果字符串是 “00”,表示既不支持 A 也不支持 B;
“01” 表示只支持 feature A;
“10” 表示只支持 feature B;
“11” 表示同时支持 A 和 B。

题目定义一个集合是 k-capable,当且仅当这个集合里至少有 k 个模型支持 feature A,并且至少有 k 个模型支持 feature B。

要求对于每一个 k(从 1 到 n),分别计算出一个满足条件的集合,使得总 cost 最小。如果某个 k 无法满足条件,则返回 -1。

这题的关键在于理解 “11” 这一类模型可以同时贡献 A 和 B,因此在选取时具有双重价值。核心做法是将模型分为三类:onlyA、onlyB 和 both,分别按 cost 升序排序。对于某个固定的 k,可以枚举选多少个 both,然后再补齐剩余需要的 onlyA 和 onlyB 数量,利用前缀和快速计算成本,取最小值即可。

第二题:String Subsequences

这题给两个字符串 s1 和 s2,其中 s1 的长度固定为 3,s2 长度不定。

要求统计 s1 作为一个子序列,在 s2 中一共出现多少次。这里的子序列要求字符顺序一致,但可以不连续。

例如:

s1 = “ABC”
s2 = “ABCBABC”

输出是 5。

也就是说,在 s2 中有 5 种不同的方式可以按顺序选出 A、B、C。

这道题本质是子序列计数问题。因为 s1 长度固定为 3,可以用三个变量滚动统计:第一个字符的匹配次数、前两个字符的匹配次数、完整三个字符的匹配次数。遍历 s2 时,根据当前字符更新对应计数即可,时间复杂度 O(n),空间 O(1)。

References

ProgramHelp 专注于提供全流程求职辅助支持,包括 OA在线辅助 、技术面/VO 实时助攻,以及高强度岗位的专项模拟训练,帮助你在关键环节稳住节奏、提升通过率。

无论是 HackerRank、CodeSignal 这类在线笔试,还是后续技术面、系统设计、行为面准备,我们都可以根据目标公司定制训练方案,针对高频题型做强化拆解,帮助你把思路讲清楚、代码写稳定,在面试中发挥出真正水平。

author avatar
Alex Ma Staff Software Engineer
目前就职于Google,10余年开发经验,目前担任Senior Solution Architect职位,北大计算机本硕,擅长各种算法、Java、C++等编程语言。在学校期间多次参加ACM、天池大数据等多项比赛,拥有多项顶级paper、专利等。
End of text
 0
评论(No Comments)