最近摩根士丹利来我校实习。这是我的经验。
第 1 轮(编码和能力倾向 – 在线测试 75 分钟):
19 个关于 C++、DSA 概念的 MCQ 和一些能力问题
2 编码问题
这两个问题都可以使用 DP 来解决。
27 名学生中有 15 名入围下一轮。
第 2 轮(F2F):
面试官很友好。首先,他从我的简历中询问了我的两个项目。然后他让我选择我最喜欢的任何一种编程语言。对我来说是 C++。于是问了以下问题:
什么是继承?举例说明。 (写在纸上的示例代码)
什么是友元类和友元函数?我们什么时候使用它们?用一个例子来解释。 (再次在纸上写代码)
然后他问了第一轮你不能做的问题。我告诉它可以用DP来完成。然后他问了DP和递归的区别。再次要求使用 DP 和递归为 pow(x,y) 编写代码并计算时间复杂度。
最后一个问题是关于操作系统。给定一个数字列表(列表总大小为 2GB),RAM 大小为 1GB。你能找到这些数字的最大值吗? (显然是的)那怎么办?然后命名一些页面替换算法。
最后我们有 6 个人被选中进入最后一轮。
第 3 轮(F2F):
这次面试官也很友好。他首先谈到了课外活动和其他让我感到舒服的事情。然后问了以下三个问题:
1.当你在谷歌搜索框中输入时,它会自动给你一些建议。您将使用哪些数据结构和算法来提供搜索建议。讨论持续了 10-15 分钟,问题陈述略有不同。 (他对答案很满意)
2. 类似于facebook好友推荐。您将使用哪些 DSA 来推荐朋友?如果您不需要最佳解决方案,您如何改进。 (我不能改进太多)
3. 两条垂直道路相交。交通可以是上下或左右。但两种流量不能在一起。您只需要放置只有两个信号(红色和绿色)的交通灯。问题只是实现一个开关来打开/关闭每一侧的流量。 (一个简单的同步问题)。
使用信号量和线程回答。写了同样的代码。面试官对此感到非常高兴和确信。