第一轮: 这是一轮在线MCQ,由四部分组成——语言、能力倾向、计算机科学和编程知识。
计算机科学部分包括基于操作系统、数据库管理系统和软件工程的问题。它还对某些书面代码和排序算法的时间复杂性提出了一些问题。
编程: –本节重点介绍理解代码的能力。基本上关于AVL树、BST树和链表的问题是以代码的形式呈现的,并且必须找到这些代码的输出。一个项目有大约5个问题。
–我们也有基于流程图的问题。
–我们必须清楚链表、堆栈和队列的概念。
第二轮: 由两个问题组成的在线编码回合。(时间:1小时) -第一个问题是全面执行 –第二个问题基于有向图。
技术第一轮: ——自我简介。 –然后他问我如何创建一个包含adhar号码、姓名和父亲姓名的数据库。 –第二个问题是实现一个计算器,它将执行+、-、*和/的基本运算。 他要求我用任何一个首选语言C、C++或java编写边界处理的完整工作代码。然后他看了我的简历,让我写代码,他让我解释。然后他还问我如何扩展我的代码,使其适用于科学计算,如sin(x)、cos(x)等。 –在他看完我的简历后,他让我解释一下最近在任何在线编程平台上解决的一个问题。我最近解决了Codeforces Div 2的问题,并向他解释了这个问题。他还问我如何解决这个问题。我让他从O(n^2)复杂度到O(n)复杂度的解中走出来。
技术第二轮: ——自我简介。 –数组和链表之间的差异。数组优于链表。 哪种语言我更喜欢C和C++,为什么? –我最喜欢的数据结构和算法是什么?为什么?我回复了array和DFS,并解释了我的原因。 –为什么我对数据结构和算法感兴趣? –如果我有10个、100个和1000个元素,我会选择数组和链表之间的哪个数据结构?我必须从时间和空间复杂性两方面给出答案。 -A类{…}; //ob宣言1 A*ptr=new A();//宣言2 这两种声明之间的区别。
–编写代码解释复制构造函数的工作原理。 –静态类。 –给定一个大小为“N”的链表,我如何从最后一个元素中删除第五个元素? –他让我写一个倒链表的工作代码。 –calloc和malloc之间的差异。他还让我写下这两个词的语法。 –给定一个堆栈和一个队列。在任何时间点,让堆栈容纳N1个元素,队列容纳N2个元素。 1.如果N1和N2都是奇数,则交换堆栈和队列的中间元素。 2.如果N1和N2都是偶数,那么堆栈中有两个中间元素,队列中有两个。在这四个元素中,将max元素与min元素交换。 3.不要做其他事情。
虽然我不能完全解决这个问题,但我给了他我的方法,他建议我使用最小堆栈算法解决这个问题,并使用两个堆栈实现队列。
–我为什么开始竞争性编程?
总的来说,在这四轮比赛中,我所有的竞争编程经验都帮助了我。我真的要感谢Codechef、Codeforces、Hackerearth和Geeksforgeks为我提供了这么好的平台来提高自己。
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。