Flipkart 面试体验 |第 48 组(适用于 SDE-1)
第 1 轮:电话会议(90 分钟)
这是一个电话回合。面试官首先简要讨论了我所知道的项目和技术。然后他问我以下问题:
- 给定一个未排序的数组 – arr找到一对arr[i] & arr[j]使得arr[i]
& i and ( arr[i] + arr[j]) 是最大的。
预期时间复杂度 – O(n)
后续问题 - 将此扩展到找到三元组,使得arr[i]& i 和 ( arr[i] + arr[j] + arr[k]) 是最大的. - 给定一个只有梯子而没有蛇的蛇和梯子板,找出一个人必须掷骰子才能到达目的地的最少次数。
跟进问题 - 在板上包括蛇并找到相同的问题。
这一轮结束后,他们打电话给我进行 F2F 面试。
第 2 轮:机器编码轮(90 分钟) ..
这一轮必须对给出的问题进行编码。我被要求编写具有以下功能的 TextPad:
- display() – 显示全部内容
- display(n, m) – 从第 n 行到第 m 行显示
- insert(n, text) – 在第 n 行插入文本
- delete(n) – 删除第 n 行
- delete(n, m) – 从第 n 行删除到 m
- copy(n, m) – 将第 n 行的内容复制到 m 到剪贴板
- paste(n) – 将剪贴板中的内容粘贴到第 n 行
- undo() – 撤消最后一个命令
- redo() – 重做最后一个命令
他们希望文本板在内存中(而不是作为文件)。他们还希望能够优雅地处理错误并且程序是菜单驱动的。
第三轮:F2F面试。 (1小时)
在这一轮中,他们问了两个问题:
- LRU缓存实现
- Stock-Span 问题,还打印购买和出售的股票日期。
然后他回顾了我目前的工作,并讨论了我如何实现某些场景以及我如何衡量产品的性能。他有兴趣了解我们实施的解决方案的设计/架构。
第四轮:F2F面试(2小时)
在这一轮中,他从我当前工作中参与的项目开始,并就此进行了长时间的讨论。
他还问了我一些问题,如果我必须为云环境重做我的项目,我会改变什么。
他还提出了有关分布式系统、负载均衡器和并发性的问题。
关于如何衡量产品的关键指标的许多问题。
Note : I had to code all of the problems.