Adobe 25 Summer SDE Intern Online Assessment 经验分享

1,145次閱讀

前阵子有同学拿到了 Adobe 2025 夏季 SDE 实习生的 OA,我全程跟着复盘了一下。整体来说,这份测试的难度不高,题目设计得比较基础,主要还是看你是否能在有限时间内快速写出正确代码。OA 一共三道题,前两题语言随意,最后一题限定要用 Python。

Adobe 25 Summer SDE Intern Online Assessment 经验分享

Adobe OA Questions

Question 1: Find pairs with the minimum absolute difference

Description:
You are given an array of integers. First, sort the array in ascending order. Then, find the minimum absolute difference between any two numbers. Finally, output all pairs of numbers that have this minimum difference.

Example:
Input: [4, 2, 1, 7]
Sorted: [1, 2, 4, 7]
Minimum difference = 1 (between 1 and 2)
Output: [(1, 2)]

Approach:

  1. Sort the array.
  2. Iterate once to compute the minimum absolute difference by checking only adjacent pairs.
  3. Iterate again to collect all pairs with that minimum difference.
  4. Time complexity: O(n log n) due to sorting, space complexity: O(1) extra space.

Question 2: Calculate the area of a triangle

Description:
Given three points representing the vertices of a triangle, calculate the area of the triangle. The triangle is aligned such that one side is parallel to either the x-axis or the y-axis.

Example:
Input: (0, 0), (4, 0), (0, 3)
Here, the base is parallel to the x-axis with length = 4, and the height = 3.
Output: 6.0

Approach:

  1. Identify which two points form the base (parallel to x-axis or y-axis).
  2. Compute the base length and the height by using coordinate differences.
  3. Apply the formula: Area=12×base×height\text{Area} = \frac{1}{2} \times \text{base} \times \text{height}Area=21​×base×height
  4. Edge cases: ensure the given points actually form a triangle (non-collinear).

Question 3: Center align a string with periods

Description:
You are given a string s and an integer width. You need to center the string inside the given width using . (periods) as padding. If the padding is not even, put the extra period on the left side.

Example:
Input: s = "cat", width = 7
Output: "..cat.."

Approach:

  1. Calculate the number of padding characters: total_padding = width - len(s).
  2. Right padding = ceil(total_padding / 2).
  3. Left padding = total_padding - right padding.
  4. Construct the result: "." * left + s + "." * right.
  5. Since the problem requires Python, this can be done concisely with string multiplication.

学员分享

这位学员考完之后跟我说,其实一开始看到邮件还有点紧张,以为 Adobe 的 OA 会出一些很 tricky 的题,结果上手后发现全是基础题型。
他说如果是靠自己准备,可能还会因为紧张在第三题字符串居中对齐上花掉不少时间,尤其 Python 的边界处理容易出错。
不过这次顺利过掉之后,他最大的感受就是:如果没有我们之前一起的梳理和模拟训练,真考场上可能没这么顺利,也没那么快把题敲出来。

最后他总结了一句:“题目难度不算高,但真正能稳定发挥,还得提前有人帮忙指点,不然很容易因为小细节丢分。”

稳住心态的秘密武器

很多同学其实不缺基础,而是缺少在关键节点有人帮忙点拨。Programhelp 提供的面试协助服务,正是解决这个问题:

OA远程语音助攻:在你卡壳时即时提醒,帮你稳住节奏。

VO无痕辅助:确保代码实现流畅,不留痕迹。

考前复盘与模拟训练:提前熟悉常见题型,避免正式OA出意外。

这次学员能顺利拿下 Adobe OA,就是我们配合的结果。你不用再一个人硬扛,Programhelp 会在关键时刻给你支撑。

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