第一轮-
共有200名学生入围在线编码测试。他们允许CSE,IT,ECE,EE,ME,派分支。共有4个编码问题,难度等级为简单、简单、中等和中等。幸运的是,我能解决所有4个问题。测试时间为2小时,即每个问题半小时。
问题1。给定一个整数数组。数组的次数定义为数组中的最大重复次数。找到最小长度的子阵列,其阶数等于整个阵列的阶数。(4家以上公司提出的重要问题)
Q2我不记得了,但这很容易。
问题3。 https://www.codechef.com/problems/STACKS
第四季度。 https://www.codechef.com/problems/KAN13F
共有14名学生入围面试。我是唯一一个解决了清单上所有问题的人。
第二轮(F2F) 技术的 ) –
我进入了I 圣 我们在面试室握手。他的第一个问题是你感到紧张吗?我说不。他问了2-3个关于校园的问题。然后继续问关于面试的问题。
问题1。在线测试中哪个问题最有趣?
我说了第三个。然后他让我带他一起解决这个问题。
Q 2. 你能跟我解释一下解决方案吗?
我解释了那个问题以及解决方案。我用二进制搜索解决了这个问题,听了答案后,他似乎很满意。
问题3。在数据结构和算法方面,你如何在0到10的范围内给自己打分?
我说9(准备好后续问题)。他说你似乎对DS和Algo有很好的理解,所以我不会问太多的编码问题。
第四季度。你知道吗?
我向他解释了。
问题5。给出NxN的一个按行排序的矩阵。你能找到矩阵的中值吗?
https://stackoverflow.com/questions/41414421/median-of-a-matrix-with-sorted-rows
6.然后他问我一个谜题。(国王和100名村民)
https://www.geeksforgeeks.org/puzzle-13-100-prisoners-with-redblack-hats/
我向他解释了解决办法。最后,他说我今天的工作结束了。你有什么问题要问我吗?(有机会时总是问问题)我问了2-3个关于公司的问题。然后他让我在外面等。
5分钟后,我被要求参加下一轮比赛。
第三轮(F2F技术)
握手、问候等。
他是招聘团队的高级主管。当我问你之前的面试如何时,我说我正确地回答了所有问题,所以我认为面试进行得很顺利。
问题1。他让我找到第一个不重复的元素。
我用散列法做的。时间复杂度O(n)和空间复杂度O(n)
https://www.geeksforgeeks.org/given-a-string-find-its-first-non-repeating-character/
他让我优化空间复杂度。我使用了相同的数组,即使用给定的数组作为哈希表。2-3个关于哈希表的问题,以及如何在C++中实现这些问题(很容易的问题,比如时间复杂度和打开链接等)。
问题2。给定一个f2()函数,它以相等的概率从(0,1)范围生成随机数。你能实现f4()函数吗?它能用f2()函数以相等的概率从范围(0,3)中生成随机数。
我说我们需要2个二进制位来代表0-3个十进制数。因此,我们可以使用f2()函数生成每个位,并在公式的帮助下将它们相加。
比特0*功率(2,0)+比特1*功率(2,1)
https://www.geeksforgeeks.org/implement-rand3-using-rand2/
问题3。他似乎很满意,问了与上述相同的问题,但使用了不同的随机数函数。
给出了f5(),我必须在f5()的帮助下实现f7()。
https://stackoverflow.com/questions/137783/expand-a-random-range-from-1-5-to-1-7
第四季度。然后他问我关于我的在线评判系统的项目,以及如何为数百万用户扩展它。然后他问我,在codechef、HackerRank等在线系统中,沙箱是如何实现的。
我告诉他使用多个服务器实例和负载平衡器的解决方案。然后,他问我在这个解决方案中将面临的所有问题,比如节点故障、数据不一致、可用性、性能等。对于沙箱实现,我告诉他每个输入代码的虚拟机。在资源受限的单独环境中执行它们。他对我的解决方案印象深刻。
问题5。然后他问我什么是社交媒体平台?
轻松地向他解释了这件事。然后他让我实现Twitter。
另一个真实的系统设计示例(design Twitter)——
https://www.interviewbit.com/problems/design-twitter/
我被要求在外面等。
这轮面试的时间差不多是2:30小时。
5分钟后,我被要求参加人力资源/管理轮。
第四轮(F2F人力资源/管理)-
基本的人力资源问题,比如告诉我一些关于你自己的事情,优点和缺点,你认为自己在未来5年会在哪里等。
裁决-已选定!!(1/14被录用,而我就是其中之一:D)
建议 –
- 保持冷静和自信
-
准备系统设计问题,因为它们和编码问题一样重要。
-
操作系统和数据库管理系统是最重要的学术课题,所以要做好准备
-
阅读有关该公司的信息
-
面试结束后问问题这表明你真的对公司感兴趣
-
面试官 是编写问题的最佳来源
-
极客就是一切
-
http://blog.gainlo.co/index.php/category/system-design-interview-questions/ 这是所有著名系统设计问题的最佳网站。
如果你喜欢Geeksforgek,并且想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。