1. 在线回合 [ONE TEST 2019] [90 分钟]
- 这一轮对来自印度所有学院的学生开放。
- 这一轮有 3 个编码问题。
- 编码问题非常简单,并且主要是基于几乎不需要的逻辑来实现的。
- 其中一个问题是
- 给定一个JSON字符串查找字符串的最大深度。
- 示例“a:{b:{a:’z’, b:’y’}, c:{z:[2,3]}}”。
- 这里的最大深度为 3。
- 我能够在 15 或 20 分钟内解决并提交所有 3 个问题。
- 一个月后,我接到了在线面试的电话。
2. 在线采访 [45 分钟]
- 这一轮侧重于数据结构、算法和实现。
- 这一轮只问了一个问题。
- 问题:实现一个支持 3 个操作的 DS。
- 插入
- 删除
- 获取随机元素(从元素集中返回一个均匀随机的元素)
- 保证元素是唯一的。
- 我被要求在 O(1) 时间内实现支持所有这些操作的 DS。
- 大约 15 分钟后,我想出了一个最佳解决方案,并能够在 20 分钟内实施相同的解决方案。
- 一周后,我收到了一封现场面试的邮件。
- 我的解决方案。
现场采访
- 采访是在海得拉巴进行的。
- 现场面试包括2轮。
- 在我的批次中,有 25 名学生,其中 9 名被选为实习生。
3. 现场第 1 轮 [技术] [75 分钟]
- 这一轮主要集中在系统设计上,但也提出了 2 个 DSA 问题。
- 问题 1给定一个矩阵,找出一个总和最大的子矩阵。
- 朴素的解决方案需要 O(n ^ 4) 时间。
- 这是一个标准的 DP 问题,可以使用 2D Kadane 算法在 O(n ^ 3) 时间内解决。
- 我给出了两种解决方案。
- 问题 2给定一个按行和按列排序的矩阵,找到一个给定的元素。
- 朴素的解决方案需要 O(n ^ 2) 时间。
- 通过在每一行或每一列中应用二分搜索,可以在 O(n * log n) 时间内解决。
- 也可以通过从右上角的元素开始搜索,在 O(n) 时间内解决。
- 我给出了所有 3 个解决方案。
- 这两个问题都是在面试的前 15 分钟内提出的,面试的其余部分都集中在系统设计上。
- 问题 3设计餐厅管理系统。
4. 第 2 轮 [技术 + 人力资源] [40 分钟]
- 这一轮面试官问了一些简历和我的项目相关的问题。
- 问题 1 请介绍一下您自己。
- 问题 2给定两个非常大的数字(每个都超过 500 位),将它们相乘。
- 问题3在我的一次实习中,我(和一个朋友一起)创建了一个网站,所以他让我解释我从需求收集到部署的整个网站开发过程。
- 我的其他项目也被问到了类似的问题。
- 我在三星研发班加罗尔的第二年暑假做了实习,所以面试官问我三星今年是否给我提供实习机会,还问了我在那里的经历。
- 最后一个问题三个素质 为什么我们应该雇用你?
- 这是一个标准问题,我给出了我在网上阅读的答案。
我被选中参加 2020 年夏季实习,并在实习结束时获得了 PPO。
祝你面试一切顺利。