📜  Adobe 面试体验 | 45套(2.5年经验)

📅  最后修改于: 2021-09-23 06:15:52             🧑  作者: Mango

Adobe 访问海得拉巴进行招聘活动。采访在诺富特会议中心进行。

F2f 1(1.5小时)

    面试官首先讨论了目前的公司和项目。然后他问了我一些基本的 DS 和算法问题:
  1. 给定一个数组,找出总和等于 0 的所有 3 个数字的集合
  2. 他让我写归并排序代码然后快速排序
  3. 打乱已排序的数组
  4. 为给定字符串的子字符串搜索编写 indexOf函数
  5. .sort() 方法在Java使用哪种排序算法?
  6. 打印给定 BST 的所有叶节点
    GeeksforGeeks 链接

F2f 2(1.5小时)

  1. 给定一个包含 n 个数字的数字流,每个数字位于距其实际位置最大 k 个位置处。以最优化的方式对数组进行排序。
  2. 设计一个在 O(1) 中插入、删除、搜索和随机的数据结构
    GeeksforGeeks 链接
  3. 给定一个数字,使用相同的数字找到更大的数字
    GeeksforGeeks 链接
  4. 在Java,是否应该将密码存储在 String 变量中?如果不是,那为什么呢?
  5. 你有 50 个红球和 50 个蓝球,你必须把这些球放在两个容器中,这样一个人从任何容器中捡起红球的概率是最大的。
  6. 关于GC、classloader等的一些问题

在这一轮中,几乎没有其他与 DS 算法相关的问题,他只问了我逻辑,没有问我编码,我不记得所有问题。

F2f 3(1.5小时)

  1. 您将获得一个 API,它返回给定 pdf 的文本。现在设计一个服务,如果给定的帐单 PDF 与员工报告的帐单金额相同,则该服务将使用 API 报告经理/管理员。在报告中,您必须在账单中返回姓名、日期和总金额。
    – 首先,他让我编写代码以从 pdf 中提取姓名、日期和账单金额,假设所有账单都遵循相同的格式,即,
    (姓名:<姓名> 日期:<日期>…#@#$@#$@#……。总计:<总计>)
    – 然后他问我你会如何向多个经理/管理员报告。他想知道我会使用哪种设计模式。
  2. 有一个类似 Acrobat Reader for android 的应用程序。它维护文件系统中所有可用 pdf 文件的列表。当添加新文件并且该文件的位置未知时,您将如何更新列表。为您提供根目录,对于每个目录,您可以检查上次更新的时间戳。
  3. 给定一个大小为 n 的数组和一个数字 k<=n,找到每个大小为 k 的窗口的局部最大值。
  4. 10 名囚犯和帽子拼图
  5. 最大硬币总和游戏 – 有 n 个硬币,有一些价值放在一条直线上,你可以从线的任何一端挑选任何一枚硬币。您正在和您的朋友玩这个游戏,现在您必须最大化您的总和,假设其他玩家也以最佳方式玩它。假设您是第一个捡起硬币的人。


导演(30分钟)

采访在一个大会议厅进行,桌子和椅子正好放在大厅的中央。他问了我以下问题:

  1. 介绍,学院,公司和项目的详细信息。为什么要换公司?
  2. 然后他问我CS的强项是什么?那一刻我不知道该回答什么,然后我突然说“解决问题”。一秒钟后我后悔了,认为我应该说“数据结构”。然后他给了我一个解决问题的问题,我无法以最佳方式解决。我告诉他蛮力的方法。
  3. 有一些教授,一些课程,还有一些学生。
    每个教授只能教授一门课程。
    每门课程都有固定的持续时间(例如 10 周)。
    对于每位教授,您都会获得可用时间安排(假设每周明智)。
    每个学生都有他想要学习的课程列表。
    只能有1:1的班级,即1位教授只能教一个学生。
    一个学生一次只能参加一门课程。
    教授必须一口气讲完一门课。

    您的目标是准备一个时间表,以便在最短的时间内教授所有课程。如果读者能在评论中回答他们的方法,我将不胜感激。

Adobe 的所有练习题!