最近我参加了Flipkart的采访。我想分享我的经验。
null
第一轮:电话(45分钟)
- 给定一个按升序排序的n个不同整数的数组。查找索引i s.t ar[i]=i。如果不存在此类索引,则返回-1。请注意,数组中的整数可以是负数。 文章链接: https://www.geeksforgeeks.org/find-a-fixed-point-in-a-given-array/ 练习环节: https://practice.geeksforgeeks.org/problems/value-equal-to-index-value1330/1
- 设计一个包含整数值的堆栈,使得getMinimum()函数应该返回堆栈中的最小元素。 后续操作:实现popMin()函数,该函数将从原始堆栈中弹出最小元素。O(1)需要实施。(提示:使用LinkedList实现堆栈,并在最小堆栈中存储最小元素节点的地址) 文章链接: https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-o1-extra-space/ 练习环节: https://practice.geeksforgeeks.org/problems/special-stack/1
- 打印组织层级。 纳文管理萨蒂什 萨蒂什管理阿努什里 萨蒂什管理桑德普 古林德管理纳文
古林德->纳文 Naveen->Satish 萨蒂什->阿努什里,桑德普 Anushree-> Sandeep->
轮:30-2分钟
- 给定一个先严格递增,然后严格递减的数组。在此数组中查找一个元素。讨论各种方法及其复杂性。 文章链接:https://www.geeksforgeeks.org/find-element-bitonic-array/ 练习环节:https://practice.geeksforgeeks.org/problems/maximum-value-in-a-bitonic-array3001/1
第三轮:内部编码(1小时45分钟) 用任何语言编写运行代码来实现著名的 井字游戏 . 首先,讨论了实施该计划所需的各种方法和基本职能。然后我被要求编写代码。 我有1小时15分钟的时间来编写代码。我必须按照以下步骤设计这个游戏:
- 游戏有三种模式:人对人,人对电脑,电脑对电脑。
- 最初从3X3网格开始,但可以推广到NXN网格。所以不要硬编码任何变量。
- 尽量减少代码冗余,并尽量使其模块化。
- 尝试使用抽象,并向外界公开较少数量的函数(API)。
- 尽量覆盖最大数量的边缘情况,如何时中止游戏、平局条件、获胜条件、覆盖网格中的现有值等)
第四轮:数据结构和问题解决(1小时)
- 给定一个经过排序和旋转的数组。在此数组中查找一个元素。 (著名问题)
- 这是一个有趣的问题。给定一组间隔,比如5-10、15-20、25-40、30-45、50-100。找出这些间隔中的第i个最小数。 假设没有重复的数字。
e.g: 1st smallest number = 5 6th smallest number = 10 7th smallest number = 15 and so on.
我告诉他,我们将首先根据起始数字对间隔进行排序。然后合并重叠区间,得到一组非重叠区间,如5-10、15-20、25-45、50-100。现在我们可以在找到合适的区间后找到第i个最小数。
跟进:然后他修改了这个问题,以适应重复的数字。
Suppose we have intervals like 5-10, 8-12. Then total numbers in these two intervals would be: {5,6,7,8,8,9,9,10,10,11,12} So, 1st smallest number: 5 4th smallest number: 8 5th smallest number: 8 (here is the change since now we have duplicate elements also) and so on.
- 给我一本五万字的字典。给一个没有空格的短语加上空格,使其成为一个合适的句子。
e.g: input: thequickbrownfoxjumpoverlazydog output: the quick brown fox jump over lazy dog
后续问题:
- 在HASHMAP中查找一个单词的最坏情况复杂度,因为我们有“B”存储桶,总共有50000个单词。(Ans:O(50000/B))
- 在TRIE中查找单词的复杂性。(答案:O(字长))
- TRIE优于HASHMAP和一些类似的讨论。
第五轮:招聘经理轮(45分钟) 他问了我很多关于我目前公司项目的问题。 问题:
- 我在当前项目中的角色。
- 你公司最具挑战性的工作。
- 你去年学了什么技术?还有几个类似的问题。
第六轮:每小时一轮(10分钟)
- 常见的人力资源问题,如为什么选择Flipkart,我们为什么要雇佣你等。
如果你喜欢GeekSforgeks,并且想贡献自己的力量,你也可以写一篇文章,然后把你的文章邮寄给评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END