在面试之前,我参加了一个关于黑客等级的在线评估,其中包括两个问题:
- 给定一些人 ‘n’ 和一些组 ‘k’,在遵守以下条件的情况下,找到不同的选项以从 ‘n’ 个人中形成 ‘k’ 个连续组:
- 在每个选项中,团体人数的总和等于人数。
- 在每个选项中,每个组的大小应大于或等于其左侧的组。
- 每个选项中形成的组是不同的,这意味着它们至少在一个组中不同。例如,[1, 1, 1, 3] 与 [1, 1, 1, 2] 不同,但与 [1, 3, 1, 1] 不同。
- 示例:人=8,组=4
- 答案:5 ([1, 1, 1, 5], [1, 1, 2, 4], [1, 1, 3, 3], [1, 2, 2, 3], [2, 2, 2 , 2])
- 考虑一段道路,其位置索引如数轴。道路上有许多车辆沿线向右放置,每辆车的后部和前部的位置都是已知的。有多个车道,因此有些汽车可能会共享一些相同的位置而不会相互碰撞。确定所有汽车在车道上的最大位置差距。
- 示例:n=10(道路总长度),开始=[1, 2, 5, 8],结束=[2, 2, 6, 10]
- 答:2。
第1轮:
它应该在现场进行,但由于 COVID-19 锁定,我所有的回合都在 Zoom 视频通话中进行。
- 给定一个整数,将其反转,而不将其转换为字符串。
- 给定一个经过排序然后旋转的数组,找到第 k 个最小的数字。对于这两个问题,我被要求在屏幕共享时在记事本上编写伪代码。并解释时间复杂度,并试运行一些面试官给出的示例测试用例。
第二轮:
这也是通过 Zoom 视频通话。
- 基本介绍。你在做什么?我提到了微服务,所以他问了微服务的优缺点。
- 给定一棵二叉树,找到具有给定总和的根到叶路径。后续问题:也打印根到叶的路径。
- 给定一个无向图,细化连接组件的数量。对于上述问题和这个,我被要求在屏幕共享时在记事本上编写伪代码,以解释时间复杂度、使用的数据结构以及我为什么使用它们。
- 生成器设计模式。我不知道。所以,我们没有浪费时间。
- 您将如何设计 LRU 缓存。你会使用什么数据结构。采访进行了很长时间,因此我们进行了口头讨论。
第 3 轮:
也是通过 Zoom 电话与 Turvo India 的副总裁(工程)进行的。
- 他自我介绍,问起自己。
- 我被要求解释我在当前公司工作的最佳项目。
- 给定一个拥有多条跑道的机场,设计课程和方法来演示您将如何顺利地安排到达和离开。另外,解释你将如何处理紧急着陆;您将如何实时保持数据同步。
- 这一轮对我来说并不顺利。我没有被允许进入最后一轮。希望这篇文章能帮助你们中的一些人获得报价。