📜  Adobe 采访 |第 15 套(适用于 MTS-1)

📅  最后修改于: 2022-05-13 01:58:13.363000             🧑  作者: Mango

Adobe 采访 |第 15 套(适用于 MTS-1)

最近我有机会接受 Adobe 的 MTS-1 职位的面试。以下是我的面试经历:

  • 书面回合:
    A 部分(50 分钟):
    基于逻辑推理、DI、量化和几何的 45 个问题。问题很简单,但真正的问题是这一轮的时间。

    B部分(2小时):
    13 个关于 C、C++ 基础知识(字符串指针的引用和解除引用、联合大小等)、操作系统基础知识的 MCQ

    7个编码问题。我记得的其中一些是:

    1. 反转一个链表。
    2. 检查一个数字是否是回文数。
    3. 不使用 *运算符和使用最小加法数将两个数字相乘。
    4. 括号的平衡。
    5. 在二维数组中找到最大的行,其中每行全 1 出现在全 0 之前
    6. 检查给定的总和是否在数组中可用。
  • F2F 第一轮:
    1. 我被要求动态分配一个二维数组。我这样做了。然后我被要求释放分配的内存。
    2. 假设图像上的窗口大小固定,实现平均滤波器。需要完整的代码。 (我们可以忽略边界情况)。我首先使用蛮力方法做到了。然后面试官让我优化它。我使用额外的空间来将元素的总和存储在固定的窗口大小中,这样我们就不必为图像的每个像素计算它
    3. 他告诉我,对于非常大的图像(2D 矩阵),行优先遍历优于列优先遍历。为什么?
      整个数组不能同时放入主内存。行是连续分配的。因此受益于参考的局部性。
    4. 关于虚拟内存和分页的问题。
    5. 我们应该使用哪种数据结构来表示多项式,为什么?
  • F2F 第 2 轮:
    1. 使用链表实现队列。需要包含所有极端情况的完整工作代码。
      面试官印象深刻,因为我正确处理了所有测试用例。
    2. 计算整数中设置位数的最佳代码。 (即 O(设置位数))
    3. 进程和线程、多道程序和多线程、多线程和多任务之间的区别。
    4. 考虑有 9 个球。一个球有缺陷(可能很重或很轻)。在最多 3 次称重中找到有缺陷的球。
      我走错了方向,因为我以为我以前做过。但是他给了我一两个提示,并在此基础上我能够得出正确的答案。
  • F2F 第 3 轮:
    1. 有2个人A和B。A和B的步行速度相等。 A 和 B 的运行速度相等。现在假设 A 一半时间跑,一半时间走路。而B跑了一半的距离,走了一半的距离。我们能否最终确定谁将在比赛中获胜?
    2. 有两个数组。一个包含 n 个数字,另一个包含 n-1 个数字。如何在第二个数组中找到缺失的数字?
      我问面试官我是否可以假设这些元素是独一无二的。他说是的。然后我使用 XOR 方法解决了它。他问如果数字是负数或分数怎么办。我说过,由于两个负数或 2 个十进制数将以相同的方式存储在内存中,因此 XOR 也适用于这些情况。
    3. 不使用平方根函数求“N”的平方根。
    4. 找出数字“n”是否是回文。他想要针对所有特殊情况的最佳最优解决方案。
      最后,经过大量提示,我能够将其降低到 O(1) 空间复杂度和 O(log(n/2)) 时间复杂度。他很满意!
  • 第四轮:HR 轮(30 分钟)

这是一次很棒的经历,因为面试官非常友好,让我感到轻松自在。我要感谢 GeeksForGeeks 团队创建了如此出色的门户网站,这对我的面试准备有很大帮助。

Adobe的所有练习题!