第一轮: 分配时间:1小时10分钟 问了20个技术能力和非常基本的问题。 12个一般的能力倾向问题有点难。 8个逻辑能力倾向问题有点难。 本节包含错误答案的否定标记。
第二轮: 技术问题: 1.什么是悬挂指针?写一段代码来解释它。 2.什么是内存泄漏?如何处理。 3、C++是否包含自动垃圾收集?问题是什么 在C++中使用自由和DEL函数? 4.什么是核心哑化/分段故障。 5.然后是关于已完成项目的问题。
编程问题:[为所有问题编写完整的代码] 1.从技术上介绍你自己。
2.给定一个包含连续自然数序列的数组,一个数将出现两次。在O(logn)复杂度中查找数字。 例子: 输入:{51,52,53,54,55,56,56,57,58} 产出:56
3.给定一个表示金字塔最后一行的数组, 打印完整的金字塔。 输入:{4,3,6,7,4} 输出: 提示:使用2D数组
4.给定一个链表,在特定位置剪切链表,并在链表的开头连接它。
5.给定一棵二叉搜索树,打印树中所有唯一分支的总和。 输入: 产出:1013225 本节持续1小时30分钟。他们只需要优化的解决方案。
第三轮[对于所有问题,你必须为其编写代码] 1.关于项目的问题。
2.给定链表特定节点的指针,删除该特定节点,而不影响链表的链接。除了特定的指针,你没有任何指向链表的指针(包括头指针)。你也可以使用一些黑客。每个节点都包含一些数据和指向链表下一个节点的指针。
3、考虑一个链表,其中有无限数量的节点。将为您提供两个值m和n。您必须遍历m个节点,并且从该节点删除n个节点,然后对整个链表继续相同的操作。它应该通过所有测试用例。
4.给出100枚硬币,所有硬币最初都面朝头部。在第一次迭代中,所有硬币都应该翻转。在第二次迭代中,处于两个倍数位置的硬币应该被翻转。在第三次迭代中,处于三的倍数的硬币应该被翻转。同样,您必须执行100次迭代。年底 第100次迭代:有多少硬币正面朝着头部,有多少硬币正面朝着尾部。
5.给定两个数组,必须打印两个数组的交集。 输入:{4,2,6,1,7,8,9,2,4}和{4,7,2,1,9,10,3} 输出:{4,2,6,1,7,8,9,10,3} 应以最少的时间复杂性提供解决方案。
6.给定一个数组,该数组包含三次出现的值,其中只有一个数字出现一次。找到号码。 输入:{3,5,1,6,3,5,1,1,5,3} 产出:6
7.给定的数字打印由给定数字的数字组成的最小数字。 输入:2154 产出:2145
8.给定一个数组,以最少的时间复杂度打印数组中小于该数组中最大两个数的元素。 输入:{24,35,16,89,90,66} 输出:{24,35,16,66} 本节也将持续1小时30分钟。他们只需要优化的解决方案。 第四轮: 1) 自我介绍。 2) 关于你的项目的问题。 3) 一个解释按值调用和按值调用的简单程序 参考 4) 编写一个程序来打印带有两个变量的fibanocci数列。 5) 编写一个程序来解释数据封装。 6) 给定8个相同的球,一个球的重量有缺陷。使用平均天平以最小的测量值找到有缺陷的球。 7) 你家乡有什么特别的? 8) 什么是质量保证? 9)给了半满的水瓶,你会考虑什么样的东西来保证瓶子的质量。 10) 如果指定了开发商或质量保证,你会选择哪一个?为什么? 11) 你在海得拉巴过得舒服吗? 12) 你对D.E.肖了解多少? 13) 你看过我们公司的网站了吗? 14) 与他们公司网站和PPT中的内容相关的问题,这些内容在职前讲座中展示。 15) 你知道D.E.SHAW做什么工作吗?
这部分持续30分钟
注意:对于所有编程问题,它们只需要优化的解决方案。