Goibibo面试体验(校外)
技术回合(1 小时):
- 以垂直顺序打印二叉树。
https://www.geeksforgeeks.org/print-binary-tree-vertical-order-set-2/ - 两个链表的交集:
https://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/ - 数组中的 k 个最大元素。https://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/
我回答了所有问题,他们主要关注你的逻辑、代码质量和复杂性。确保无论您说什么逻辑,您都应该能够为此提供优化的代码。
技术回合(45 分钟):
这一轮基本上是为了测试你的核心数学逻辑和系统设计。
- 概率问题(第 12 级)
- 根据我的项目讨论我的一个 ML 项目和一些关于概率分布的数学讨论。
- 设计电梯。将其推广到有 2 个或更多电梯正在运行的公寓。
- 一个谜。 (面试官给我看了一张照片,让我回答了大约8个问题。那只是为了检查我对事物的思考和意识)。
确保在回答设计问题时您正在使用 OOPS 概念。
管理轮(1.15小时):
这是最艰难的一轮。经理基本上想检查逻辑思维、OOPS 概念、数据库知识和实时解决问题的方法,其中涉及到所使用的架构和技术以及原因。
- 给定一个数据库表,1000 个读取器和 2 个写入器。第一个人在下午 5:15 读取数据并开始处理,第二个人在下午 5:20 更新数据(第一个人仍在处理),现在第一个人在下午 5:25 来更新数据。所以第二个人更新的数据丢失了。你如何防止这种情况发生?
- 有一个父类 A,其所有功能都是公共的。 B类和C类继承A类。A类的某些函数不应该在B类中访问(即当您创建B类的对象obj并执行obj.fn()时,它应该会抛出错误)。你如何做到这一点? (它不应该是特定于语言的)。
- 他问了我一个我现在不记得的算法问题。这是在一个数组中做的事情。
他告诉我至少回答两个问题,然后他会问一个实时问题,否则你可以回家。我以某种方式回答了两个问题,并有机会解决实时问题。问题陈述是:
一些公司将其员工数据存储在 Excel 表中。我们将为他们提供一个解决方案,以便他们可以在我们公司设计的仪表板中查看他们的数据。每当公司的任何成员登录时,您都应该填充与该特定公司相关的数据。现在解决以下问题:
- 不同的公司将如何向我们提供 Excel 表格数据并将其直接存储在我们的数据库中,以及您将使用哪种技术以及为什么?
- 系统的架构。
- 系统的数据库架构。
为他解决上述所有问题,他似乎很高兴。他欢迎我加入他的团队:D。
人力资源回合(15 分钟):
关于工资和人力资源查询的正常讨论。
终于拿到offer了🙂