📜  Adobe 面试体验(校外)

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

Adobe 面试体验(校外)

我使用LinkedIn申请。

第一轮:技术

  1. 他让我先详细解释一下我的项目。
  2. 它从一个谜题开始。 https://practice.geeksforgeeks.org/problems/the-3-5-litre-die-hard-water-puzzle
  3. https://practice.geeksforgeeks.org/problems/kth-smallest-element5635/1
  4. 一种https://practice.geeksforgeeks.org/problems/reverse-a-string/1
  5. 给定一组路径。找出所有这些路径中的最大公共路径。
    1. 例如。 /a/b/c 和 /a/c 是路径。然后,输出必须是/a。
    2. 期望处理所有极端情况并有效地解决问题(例如,如果在处理某些字符串后路径变为空并且类似的东西,则返回)。

第 2 轮:技术

  1. 他让我先详细解释一下我的项目。
  2. 再次从一个谜题开始:https://www.geeksforgeeks.org/print-0-and-1-with-50-probability/
  3. 假设有一个新的数字系统,其中 5 不存在。将此数字系统中给出的数字转换为十进制数字系统。
    1. 例子。输入:6 输出:5 解释:新的十进制系统中不存在 5
    2. 我建议了一种类似于此的 DP 方法:https://www.geeksforgeeks.org/count-numbers-from-1-to-n-that-have-4-as-aa-digit/
    3. 但面试官希望得到更优化的答案。它可以使用基本符号来解决。方法将与此类似:https://practice.geeksforgeeks.org/problems/special-numbers4116/1
  4. 在不使用 sqrt函数的情况下找到给定数字的最接近的平方。
    1. 可以通过使用二进制搜索方法找到 sqrt 然后寻找 +1 和 -1 数字的平方来解决。

第三轮:技术

这更像是一种语言,它更多地关注特定于语言的细节。

对我来说,它是 C++。首先,他让我用 C 和 C++ 给自己打分。我在 C++ 中评分为 9,但在 C 中评分为 8。他问我原因,我说指针是我的噩梦。然后,他告诉我今天要问很多指针问题。 :p

提出的问题是:

  1. 定义函数指针
  2. 使用指针动态创建二维数组
  3. 很多讨论都围绕着虚函数
  4. 虚函数可以内联吗?答:没有。也给出理由。
  5. 使用模板的通用堆栈。创建一个类并编写所有函数。
  6. 关于进程和线程的一点讨论。
  7. 共享内存和消息传递。它是如何工作的?一个比另一个的优势。
  8. 镜像 BST。最初我交换了数据,但后来他要求我使用指针交换。
  9. 概率之谜
  10. 许多其他我不记得的问题😀

一天后,我接到 HR 的电话,说还有一轮,叫做主管轮。

第四轮:技术(总监轮)

简要介绍我在公司所做的工作以及我在其中的角色。

  1. WAP 将十进制数转换为二进制数 https://practice.geeksforgeeks.org/problems/decimal-to-binary-1587115620/1。在此之后,他让我审查我的代码并考虑优化、极端情况(如果有)以及如果您正在审查此代码,您将给出什么评论。最后,我使用了一些位操作来让事情变得更快。就像代替 n/2,n>>1 和类似的东西。
  2. 他问我最喜欢的科目。我说操作系统。讨论围绕共享库、静态库、虚拟内存、分页、复制共享、消息传递等操作系统概念进行。
  3. 最后,他要求我提供一种方法来以有效的方式比较两个具有 10^9 行的文件并返回两者中共有的行。讨论持续了大约 40 到 45 分钟。这是我进行过的最好的讨论之一。
    1. 讨论的方法主要是散列和排序。
    2. 约束:单处理器机器

结论:选择😀

几天后,我接到了人力资源部的电话,告诉我同样的情况。

尖端:

  1. 我认为面试官并不是每次都在寻找完美的答案。他们正在寻找方法和思考过程。
  2. 自信并清楚地解释事情。
  3. 对你不知道的事情说不。
  4. 一切顺利。