Flipkart 面试体验|设置 38(SDE 校内)
我在校园内接受了软件开发工程 (SDE1) 职位 Flipkart 的面试。
编码轮次:(90 分钟)
编码回合是在hackerrank 上完成的。
- 给定两个数字 a 和 b,从 a^b 的右边找到第 k 个数字。 (朴素的方法只会帮助你通过一半的测试用例)
- 第二个问题是基于以最小形式减少给定表达式并打印按字典顺序更小的表达式。
- 您将获得表示行和列的 n 和 m 值。 Rajesh 从最顶部的单元格 (0, 0) 开始。他不会访问被访问的单元格。
- 他移动到右边的点
- 如果他不能向右移动一点,他就向右旋转,然后向右走
- 如果在执行 4 次旋转操作后,如果他不能移动,那么他会停止
打印他访问过的单元格的数量。
样品 1:
3 3
输出:9
解释:
1 2 9
4 3 8
5 6 7
这个问题可以使用动态规划来解决,但也有一种合乎逻辑的方法可以在更短的时间内解决它。
面试第一轮:
时长:1小时
- 给定两个长度为 n 和 n-1 的数组,两个数组的所有元素都相同,除了一个。找出奇数元素,给出 O (1) 解。
- 给定两棵分别具有 n 和 n-1 个节点的二叉树(不是像二叉搜索树或红黑树这样的特殊树),找出奇数节点。
- 给定两棵分别具有n和n-1个节点的二叉搜索树,除了一个之外,所有元素都相同,找到奇数节点。
- 给定一个数组,其中每个元素表示可以跳过的单元格的数量,找到到达数组最后一个单元格的最小步数。一个人必须从索引 0 开始,并且总是通过按给定的数字或 1 跳过单元格来向前移动。
尖端:
练习在纸上编写伪代码,并专注于降低时间和空间复杂度。
面试第二轮:
时长:1小时
- 给定两个单词(beginWord 和 endWord)和一个单词字典,找到从 beginWord 到 endWord 的所有最短转换序列,例如:
- 一次只能更改一个字母
- 每个中间词必须存在于字典中
- 设计一个数据结构,使其可用于执行以下操作
插入:O(1)
删除:O(1)
搜索:O(1)
FindRand: O(1) 这将返回存储的任何元素,每个元素具有相等的概率。
提示:可以使用系统的随机数发生器。
第三轮面试:
时长:1小时
这是提出一般性问题的最后一轮人力资源。简历中的问题主要集中在你做过的项目上。
第四轮:
时长:10 分钟
给定 1 GB 的内存空间,编写伪代码以打印任何时间点出现的最大字符串,其中字符串列表的大小可以为 10 GB 并动态更新。
Flipkart 的所有练习题!