AppDynamics 面试经历
第1轮:
在线回合包括 12 个 MCQ(技术)和 3 个编码问题。
时长 90 分钟。
1)http://计数给定字符串中长度为三的子序列
可以使用 O(N) 中的三个变量来完成。
2)给定一个由 0 和 1 组成的字符串,我们必须找到将字符串转换为全 0 的最小翻转次数。这里如果我们翻转一个字符,那么右侧的所有字符也会被翻转。
例如:1000
在 0 索引处翻转 1,然后在其右侧的 000 也将被翻转,结果为 0111
在索引 1 处翻转 1,结果为 0000。所以答案是 2 次翻转。
预计 O(N)。
3)给定一个字符串,我们必须找到子字符串的计数,其中子字符串应该只包含元音,并且所有 5 个元音必须在其中每个元音的计数(a,e,i,o,u)必须大于 0。
EX: aaoiuebaioue
3字符串–> aaoiue, aoiue, aioue
提示:使用窗口滑动。
预计 O(N)。
第二轮:(技术轮)
这一轮只问一个问题。如果你的DP很好,那么你可以通过这一轮。
1)https://www.geeksforgeeks.org/maximum-profit-by-buying-and- sell-a-share-at-most-twice/
最初要求我进行一笔交易,然后将其扩展到最多 2 笔交易,然后扩展到最多 k 笔交易。
第三轮:(技术轮)
1)如何为程序分配堆。
2)编写代码进行堆化(可以编写最大堆或最小堆)和复杂度分析。
3)设计电梯系统,其中有n个同步的电梯(如果我们按下按钮,则最短距离的电梯将响应)。输入将是人的位置和方向(向上或向下)以及电梯位置及其方向的数组。
第 4 轮:(技术轮)
1)讨论暑期实习项目。测试项目的输出(通过生成随机数据的正确性)。
2)给定一个文件系统(树形结构),我们必须删除占用更多空间且远离根目录的目录。
第 5 轮:(人力资源轮)
基本的人力资源问题,例如自我介绍、生活中的失败、为什么选择 AppDynamics?