Databricks SDE OA 面经分享|70min 四题,整体中等难度

45Times read
No Comments

今天分享这场是来自一位是北美计算机专业硕士在读的同学,平时 LeetCode 刷题大概 200+ 左右,目标岗位是 Databricks Software Engineer。这场测试 70 分钟一共 4 道题,整体难度偏中等,前两题接近 LeetCode easy,基本可以比较快写完,后面两题则是 medium 难度,需要稍微多一点思考。下面把这次 OA 的整体结构和题型整理一下,给后面准备 Databricks SDE 的同学做个参考。

Databricks SDE OA 面经分享|70min 四题,整体中等难度

奇偶位置元素和比较

题目描述

给定一个整数数组 numbers,比较偶数位置(0 基索引)上的元素之和与奇数位置上的元素之和:

  • 如果偶数位置元素之和更大,返回 "even"
  • 如果奇数位置元素之和更大,返回 "odd"
  • 如果两者相等,返回 "equal"

说明

  • 这里的位置是0 基索引(即数组第一个元素位置为 0)。
  • 示例:
    1. numbers = [1, 2, 3, 4, 5]
      • 偶数位置(0, 2, 4):1 + 3 + 5 = 9
      • 奇数位置(1, 3):2 + 4 = 6
      • 因为 9 > 6,所以输出 "even"
    2. numbers = [-1, 4, 3, -2]
      • 偶数位置(0, 2):-1 + 3 = 2
      • 奇数位置(1, 3):4 + (-2) = 2
      • 因为 2 = 2,所以输出 "equal"
  • 时间复杂度不超过 O(n²) 即可通过(n 为数组长度)。

Unix 命令执行次数统计

题目描述

在 Unix 系统中,执行命令有两种常见方式:

  1. 直接输入命令名,例如 cplsmv
  2. 输入 !<index> 格式的指令,用于重复执行本次会话开始后第 index 条(1 基索引)命令。

例如,用户依次输入以下命令:

lscpmvmvmv!1!3!6

  • !1 会重复执行第 1 条命令 ls
  • !3 会重复执行第 3 条命令 mv
  • !6 会先执行第 6 条命令 !1,进而触发执行 ls

给定一个命令序列 commands,其中每个命令只能是 "cp""ls""mv""!<index>" 格式。

请计算 cplsmv 三种命令实际被执行的总次数,并返回形如 [cp 次数, ls 次数, mv 次数] 的整数数组。

注意:时间复杂度不超过 O (n³) 即可通过。

最长连续房屋段统计

题目描述

你正在监控一个住宅区的建筑密度。该住宅区可以看作一条数轴,只有当某个位置的至少一个相邻点未被占用时,才能在该点建造房屋。初始时,区域内没有任何房屋。

给定一个整数数组 queries,按顺序表示要建造的新房屋位置。在每栋房屋建成后,你需要找出当前区域内最长的连续房屋段长度。

返回一个整数数组,其中每个元素对应 queries 中每栋房屋建成后的最长连续段长度。

注意

  • 所有 queries 中的房屋位置都是唯一的;
  • 保证不会在左右相邻点都已有房屋的位置建造新房屋。

示例

输入:queries = [2, 1, 3]

输出:[1, 2, 3]

数字串逆序逐位求和

题目描述

给定两个数字字符串 ab,按以下规则计算各位之和并返回结果字符串:

  • 从末尾开始,将两个字符串的第 i 位数字相加;
  • 若其中一个字符串的第 i 位不存在,则直接取另一个字符串的第 i 位作为和;
  • 将所有位的和按顺序拼接成一个新字符串返回。

示例

表格

输入 a 输入 b 输出 说明
"99" "99" "1818" 从后往前:9+9=189+9=18 → 拼接为 "1818"
"11" "9" "110" 从后往前:1+9=101(第二个字符串无第二位)→ 拼接为 "110"

一点真实建议

最后带这位同学顺利推进到VO。很多同学其实不是不会做题,而是 OA 环境很容易卡思路:写到一半突然发现 bug、边界条件没处理好,或者时间一紧就开始慌。这种情况在 70 分钟四题的 OA 里特别常见。所以也有不少人会提前找 面试辅助 一起准备,很多时候其实就差一个点拨,比自己卡在那里想半小时要高效得多。

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
End of text
 0