HR 在 LinkedIn 上看到我的个人资料后联系了我。
第1轮:
这是一个基于 Hackerrank 的在线测试。有 3 个问题需要在 1 小时 30 分钟内完成。我不记得确切的问题,但 2 个问题基于 DP,1 个问题基于图表。我完成了第一个问题和第二个问题的一半,并被要求在他们的办公室进行面对面的面试。
第二轮:
这是一个白板编码回合,他们想知道您如何编写代码。他们正在寻找干净和模块化的代码。
一季度。在无向图中查找循环——我使用 UNION FIND 来解决这个问题。之后他们问我时间复杂度以及为什么我使用 UNION FIND 而不是 DFS
Q2。找出给定数字的所有因数。
例如 6 : (1X6), (2X3)
12 : (1X12), (2X6), (3X4), (3X2X2)
我使用质因数和递归函数调用来解决这个问题。
第 3 轮:
这又是一轮白板编码。我被问到 1 个问题。在这里,他们看到了您用来解决问题而不是完整代码的方法。
问:给定一个字符串和一个模式,找到包含模式中所有字符的最小窗口。
我用滑动窗口的方法解决了这个问题。我写了一个 NQ 时间复杂度的代码(N-字符串长度,Q 模式长度)。他们在这里寻找更优化的东西
第 4 轮:
这是一场HLD回合。他们让我设计一个谷歌日历。他们很想知道我将如何为这么多用户存储数据。各种日历功能(刷新日历、创建邀请、删除会议、了解接受和拒绝邀请的参与者)如何工作。此外,他们问我如何随着客户群的增加而扩展。我使用 RDBMS 来存储数据。因此,我将信息拆分到各种数据库实例中,并使用一张表来跟踪哪台机器包含哪个用户的数据(我为每个用户使用了一个唯一标识符)
第 5 轮:
这一轮更多的是关于你在之前公司的项目以及你的主要贡献。他们让我解释一切,就好像他们是新员工一样,我正在帮助他们参与我的项目。
第 6 轮:
这是一个招聘经理回合,你被问到不同的东西。他问我关于我的项目,为什么我想要改变。然后我们讨论了 LinkedIn 中的各种功能,如果有什么我建议包括和更改的。这是一个有趣的回合。