📜  MTS-2 的 Adobe 面试体验

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

第 1 轮:在线测试(75 分钟)

    15 个 apti LR 问题
    5 个 C++ 问题
    2 编码问题
  1. 给定姓名和投票列表……输出得票最多的获胜者(我使用了哈希图)。
  2. 考虑一个字符串,s = “abc”。 s 的子串按字母顺序排列的序列将是 {“a”, “ab”, “abc”, “b”, “bc”, “c”}。如果我们将此序列简化为仅以元音开头并以辅音结尾的子串,则剩下 {“ab”, “abc”}。这个简化列表中按字母顺序排列的第一个元素是“ab”,按字母顺序排列的最后一个元素是“abc”。提醒一句:
    元音:a、e、i、o 和 u。
    辅音:b、c、d、f、g、h、j、k、l、m、n、p、q、r、s、t、v、w、x、y 和 z。

    在编辑器中完成 findSubstrings函数。它有 1 个参数:一个字符串s,由小写英文字母 (a ? z) 组成。该函数必须找到 s 中以元音开头并以辅音结尾的子串,然后按字母顺序打印这些子串的第一个和最后一个。

    输入格式
    编辑器中锁定的存根代码从 stdin 读取单个字符串s 并将其传递给您的函数。

    约束
    3 ? s 的长度? 5 × 105

    输出格式
    您的函数必须打印两行输出,表示按字母顺序排列的以元音开头并以辅音结尾的 s 的第一个和最后一个子串。在第一行打印按字母顺序排列的第一个合格子串,在第二行打印按字母顺序排列的最后一个合格子串。

    Sample Input 1
    aba
    
    Sample Output 1
    ab
    ab

第二轮:(技术)

    介绍和公司项目
  1. 在不使用其他堆栈的情况下反转堆栈(编码)
  2. 连接同一层树的所有节点(编码)
  3. 信号量和互斥锁的区别
  4. 使用信号量实现生产者消费者(正确代码)
  5. 编译器讨论创建的临时对象
  6. 为什么构造函数的参数是常量(再次与临时对象有关)
  7. 为什么析构函数需要是虚拟的
  8. 如何实现虚拟构造函数
  9. 智能指针实现

第三轮:(技术)

    介绍和公司项目
  1. 给定一组正数和负数,将所有负数带到数组末尾。 (代码)
  2. 名人问题栈实现(代码)
  3. 掉蛋动态规划题。
  4. 停车场高层系统设计。
  5. 一些 c++ 问题和 os 问题

第 4 轮:(管理轮)

    介绍和大学和公司项目(详细讨论)
    1. 什么是dll
    2. 驱动程序在系统中的用途是什么
    3. 当代码被编译时,私有公共等访问说明符会发生什么。
    4. 使用 2 个堆栈(代码)实现出队
    5. 交换链表中的两个节点……不要交换数据(代码)
    6. 使用 kmp(code) 实现 isSubstring 方法
    7. C++ 中的参数列表初始化(想要检查初始化发生的顺序)
    8. C++中联合和结构的大小
    9. 给定一个函数foo() 以等概率返回 1 到 5 的整数,编写一个仅使用 foo() 以等概率返回 1 到 7 整数的函数。尽量减少对 foo() 方法的调用次数。此外,不允许使用任何其他库函数,也不允许使用浮点运算。

    还问了一些其他的 C++ 问题

第五回合:(导演回合)

  1. 学院和公司项目。
  2. 为什么要寻找变化,为什么要找 adobe。
  3. 迄今为止完成的具有挑战性的工作
  4. Design Nearby app.(更多讨论使用的数据结构)
  5. 设计小网址。

第 6 轮:(团队经理)

  1. 公司项目详解
  2. 学院项目
  3. 为什么是土坯
  4. 被问及云,因为他来自云团队

    详细说明他们的团队完成了什么样的工作。