📜  SDE-1 的 Flipkart 面试体验(校内)

📅  最后修改于: 2021-11-23 07:44:41             🧑  作者: Mango

Flipkart 在 2020 年 10 月为 SDE1 的角色访问了我的大学。总共进行了 4 轮。

第 1 轮(在线编码测试-90 分钟):本轮共提出 3 个问题-

  1. 最小生成树问题的扩展。
  2. 给定一个模式字符串和一个主字符串,找到主字符串中包含模式字符串所有字符(包括重复字符)的最小子字符串。
  3. 加油站的最少次数。 https://leetcode.com/problems/minimum-number-of-refueling-stops/

对编程语言没有限制。至少要解决2个问题才能完成这一轮。

第 2 轮(技术面试 – 45 分钟):面试官非常友好,从一开始就开玩笑。相互介绍完后,他直接进入了提问环节。被问到两个问题,我们应该告诉方法(他们期望最优化的解决方案,也部分接受不太优化的解决方案),然后编写相同的代码。

问题是:

  1. 将元素转换为正方形后对数组进行排序。
  2. 给定三个已排序的数组(A、B、C),求元素 ai、bj、ck 的数量,使得 ai>bj>ck 且 ai、bj、ck 分别属于 A、B、C。预期时间复杂度-O(n)

这可以使用三指针技术解决,其中一个指针位于中心数组 (B) 中,并在 A 和 B 中搜索其他两个元素。所有 2 个问题都将被解决以清除这一轮。

第三轮(技术面试- 45分钟):面试官直接进入问题,没有任何介绍。我应该编写代码并在他提供的一些示例测试用例上运行它,然后解释方法(如果测试用例通过)。

  1. 给定一个字符串和一个断点 b (0<=b<=n),字符串将在断点处被分成两部分。

    例子:

    在上面的例子中 – 返回 [‘a’, ‘l’, ‘e’, ‘r’, ‘h’, ‘i’, ‘e’]-> a, l from walt and e,r,h,i ,e 来自 erwhite

    解决方案:这是对最长公共子序列问题的一个非常简单的修改。找到两个子串的 LCS 并返回所有不属于 LCS 的字符。

  2. 找出不属于最长递增子序列 (LIS) 的数组元素的最小总和。

    解决方案 – 这是 LIS 问题的一个细微变化。找到最长递增子序列,如果有多个子序列的最长长度相同,则返回最大和LIS。现在返回 sum(array)- LIS sum。

    例子:

    解:连同我们在dp数组(dp[i]=数组[0:i+1]的LIS)中存储的LIS的长度,同时存储dp2,它是对应LIS的最大和。

这两个问题都需要解决才能完成回合。

第 4 轮(基于 HR 技术简历 – 30 分钟):这是基于简历的一轮,面试官首先介绍,然后开始谈论我的简历并询问项目。问了一些与我的项目相关的假设问题(例如,如果用户提供的输入不准确,您的模型在这种情况下如何稳健?)。在详细讨论了我的项目之后。面试官问我想在 Flipkart 应用程序/网站上添加什么功能,你是如何实现的?

最后问我有没有什么问题,面试就结束了。

最后,有 5 人获得了 FTE。

TIPS——所有的问题都来自数据结构和算法。擅长解决问题的技能和 DSA 知识。非常清楚你在简历中写的项目。