编码回合: 它有20个MCQ和2个编码问题。总分为161分,其中130分有2个编码问题,其余20分为MCQ。
编码问题1:
给定一个NxN迷宫中的源和目标,在它们之间找到最短路径,一些单元格被占用,无法找到通过它们的路径。
https://practice.geeksforgeeks.org/problems/shortest-source-to-destination-path/0
编码问题2:
鉴于 D , A. , B 和一个整数数组。你可以加/减 A. 和 B 到 D 任何次数。你必须找到通过将这些运算应用于 D 和存在于给定数组中。
在150次F2F采访中,30名学生被选中。
第一轮: 面试官非常友好。这一轮从通常的介绍开始,然后他问了我3个DS/Algo问题。
问题1: 给定由0、1和2组成的数组A[],编写一个函数,使用单个遍历对[]进行排序,即只能遍历给定数组一次。
https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/
问题2: 给定二元搜索树中两个值n1和n2的值,找到 L 欧维斯特 C 奥蒙 A ncestor(LCA)。
https://www.geeksforgeeks.org/lowest-common-ancestor-in-a-binary-search-tree/
问题3: 给定一棵二叉树,打印它的左视图。二叉树的左视图是从左侧访问树时可见的一组节点。
https://www.geeksforgeeks.org/print-left-view-binary-tree/
他让我写下所有三个问题的代码,并用一些边缘案例检查方法。在这三个问题之后,他问了我一些关于分页、死锁和索引的基本问题。
这一轮持续了大约一个小时。21名学生被选入第二轮。
第二轮: 在介绍部分结束后,他问了我一个问题。
给定一个二叉树,您必须实现三个功能:
- is paint():这将返回节点是否已绘制。
- paint():如果约束允许绘制节点,则此操作将绘制节点。
- unpaint():如果约束允许取消绘制节点,则将取消绘制节点。
仅当未绘制节点的所有父节点和子节点时,才能绘制节点。只有在未绘制节点的所有父节点和子节点时,才能取消绘制节点。
之后他问我 这 令人费解的事我向他解释了我的方法,他对此很满意。
之后,他问我关于我的项目。然后他问我对操作系统和数据库管理系统是否满意,我回答是的,然后他问操作系统的基本概念,比如进程和线程之间的区别,死锁和信号量是什么等等。然后他问不同类型的索引和它们之间的区别。
在这一轮之后,许多学生被告知“不再进行轮”。包括我在内的10-12岁左右的其他人被要求等待下一轮。
第三轮:
它只有一个实时问题。
我得到了一个代表房间数和天数的矩阵。矩阵包含的值表示该客户在该房间的剩余天数。我被要求想出一个算法,在客户预订房间的所有日子里为他们提供相同的房间,这样我就可以容纳最大数量的客户。
他对我的方法印象深刻,并要求我编写代码。然后,他用一些角落里的箱子检查了一下,并对此感到满意。
最后,他们从我的学院挑选了13名学生,谢天谢地,我就是其中之一。