摩根士丹利资本国际 (MSCI)于 2021 年 8 月访问了我们的校园,聘请最后一年的学生担任技术分析师。
他们的标准是:
- CPI:6.75及以上
- 允许的分支:CS、IT 和 EXTC。
我抓住了这个机会,很高兴能分享我在招聘过程中的经验。
8 月 4 日下午 4 点到 5 点为所有候选人进行了预安置谈话 (PPT)。在这里,他们向我们介绍了可用的技术堆栈以及他们的项目、价值观和细节。
随后进行了 3 轮在线轮次。
- 在线编码测试。
- 技术第 1 轮。
- 技术+人力资源回合。
第 1 轮(HackerRank 在线测试 – 60 分钟):测试定于 2021 年 8 月 4 日晚上 7 点至晚上 8 点进行。本轮共有17道题。问题的格式为:16+1,即 16 个 MCQ 和 1 个编码。这 16 个问题是由 DSA、OS、SQL、OOP 和逻辑组成的混合包。
试题难度适中,编码题有部分试题评分。
涵盖的 MCQ 问题-
- DSA: Postfix expression given and to find first and last element in the stack after an operation is to find inorder traversal for the given tree, to find the right answer for different data structure properties,算法的时间复杂度。
- 查找给定代码片段的时间复杂度和输出
- 操作系统:分区、分页概念
- SQL:检测表属于哪种范式(1NF,2NF,3NF BCNF),基于查询的问题
- 基于数学的数字和逻辑问题
- 基于 OOP 概念的问题
- 这些问题更直观,而不是典型的基于纸笔/公式的问题。他们不是很困难,但非常棘手。
编码问题-
- https://www.geeksforgeeks.org/edit-distance-dp-5/
建议:我建议在 GeeksforGeeks、Interviewbit、Leetcode 等网站上练习,因为它会给解决问题的信心。此外,解决 GeeksForGeeks 和 Interviewbit 的测验将有助于了解所有核心主题的概念。
小贴士:以冷静的心态解决问题。如果您无法回忆这个概念,请不要在测试期间给自己压力。如果您在第一次尝试中无法完成,请不要在任何问题上花费太多时间,然后稍后再返回。
39名学生从下一轮的在线测试中入围。整个面试过程都是在 Microsoft Teams 上进行的。
第 2 轮(技术第 1 轮 – 30 到 45 分钟):我的回合定于 8 月 5 日下午 6 点进行。这一轮测试了技术技能,如 DSA(数据结构和算法)、OOPS、SQL 查询、 Python以及与简历中提到的项目和技术堆栈相关的问题。
面试官问了我以下问题:
- 给我简单介绍一下你自己(解释我的兴趣、课外、经历和项目)
- 告诉我你的实习,然后是一些关于它的问题(角色、项目、发展和贡献)。由于我在简历中提到了Python和 C++,所以他基于此提出了问题。
- 什么是Python命名空间?
- Python列表和元组之间的区别以及相同的表示法。根据我的回答(可变和不可变),他问,如果创建了一个列表元组,那么它是可变的还是不可变的?
- 什么是字典? C++ 中有字典、元组、列表吗?
- 什么是范围和 xrange? (举例说明)
- 我们可以在列表中进行负索引遍历(范围为负)吗?它是如何工作的? (从后面访问列表的元素)
然后他开始提出一些基于 DSA 的问题。
- 给出一个二进制数。在不转换为十进制的情况下查找它是否可以被 16 整除:https://www.geeksforgeeks.org/check-divisibility-binary-string-2k/
- 在 C++ 中查找子字符串的数量。 (我提出了一种天真的方法)然后他问是否可以在没有 for 循环或任何替代答案的情况下完成任何事情。同样问题的Python解决方案。
- 给定 n 个字符的摘要,每行打印 4 个字符。例如:100 个字符所以 25 行和 102 个字符所以 26 行。根据我的回答,我问了一个不使用 endl/break 的解决方案。
然后他问了我一些基于SQL的问题: https : //www.interviewbit.com/dbms-interview-questions/
https://www.interviewbit.com/sql-interview-questions/
- 索引是什么意思?举例说明。
- 什么是唯一键和主键?
- 我们可以拥有具有唯一约束的 NULL 值吗?我们可以有多个 NULL 值吗?那么它如何保持独特呢?
- 然后他问我Python什么是浅拷贝和深拷贝? (当时我不知道,所以我告诉他我不知道)
- 给定一个字符串和 2 个 A 和 B 组。找到所有子字符串,如果子字符串以辅音开头,则给 A 团队一个分数,如果它以元音开头,则给 B 团队一个分数。从 A 和 B 中找出子串的数量和获胜者及其分数。
- 给定一个 nxn 矩阵,找出左右对角线之间的绝对差。 https://www.geeksforgeeks.org/find-difference-between-sums-of-two-diagonals/
- 你有任何问题问我吗? (总是问问题:你的经历如何?文化如何?在公司工作多久了?)
小贴士:如果你知道这个概念但不能给出定义,那就用例子来解释。
在这一轮之后,39 人中有 23 人入围。技术 + 人力资源回合安排在 8 月 9 日星期一下午 5 点对我进行。
第 3 轮(技术 + 人力资源轮 – 45 分钟到 1 小时):这一轮测试了技术技能,如 OOPS、SQL、C++、 Python、拼图以及与简历中提到的实习、工作经验、项目和技术堆栈相关的问题。它还包括核心科目的问题,然后是人力资源问题,以了解您在回答基于情境的问题时的信心。
面试官问了我以下问题:
- 说说你自己。
- 告诉我你的实习和工作经历。 (根据我的描述,他问了我技术栈,写的任何代码的例子及其用法)
- 什么是Python的浅拷贝和深拷贝?它在 C++ 中是如何使用的?在 C++ 中的实现示例。 (这次我回答了并举了一个恰当的例子):https://www.geeksforgeeks.org/shallow-copy-and-deep-copy-in-c/
- 你对Java的浅拷贝和深拷贝了解多少?
- 垃圾收集是什么意思?它是如何在 C++ 中完成的?它是如何在Java和Python的?有什么区别吗?举个例子。(https://www.educba.com/c-plus-plus-garbage-collection/)
- 垃圾收集的目的是什么?
- 什么是抽象类和接口? C++中的接口是什么?
- 什么是重载和覆盖?你实时使用过吗?其使用示例。
- 什么是多态和继承? https://www.geeksforgeeks.org/commonly-asked-oop-interview-questions/
- 什么是运行时多态?关于覆盖的示例。
- 什么是 C++ 中的列表?它是如何实施的?
- C++中的字符串是可变的吗?
- 你知道云吗? (我说不)
- 然后他问了一个谜语。给定 3 个有 (1,2,3) 的盒子,盒子 1 装满红色球,盒子 2 装有蓝色球,盒子 3 装有红色 + 蓝色球。框 1 标记为 R,框 2 标记为 B,框 3 标记为 R + B。所有这些框的标记都不正确。每个移除的球相当于 1 圈。你不能看着盒子,必须取出 1 个球并决定标签。您可以在最少的多少圈内贴上正确的标签以及如何贴上?我解释了方法,然后他根据我的回答问了我问题。如果第一个球从 B 盒中取出怎么办?相同的不同案例:https://www.geeksforgeeks.org/gate-gate-cs-2017-set-2-question-7/
https://suresolv.com/brain-teaser/three-boxes-riddle-age-old-logic-puzzle
然后他从基于人力资源的问题开始。你可以参考下面的链接做一些准备(https://www.javatpoint.com/job-interview-questions)
- 你的实习经历如何?你为什么不想继续在那家公司工作?
- 你将从你的实习公司带来什么给 MSCI?
- 你有金融方面的知识吗?
- 给我一个你生命中最艰难的经历的例子? (我提到了与领导素质相关的经验,但他想要一些技术经验,所以提到了黑客马拉松)
- 为什么你想做一份工作而不是攻读硕士/MBA或继续深造?有你认识的 MSCI 或这个行业的亲戚吗?
- 您对 MSCI 在工作、文化等方面的期望是什么?
- 未来 2 年,您如何看待自己?
- 我曾在一家初创公司实习,所以他问我为什么不想继续留在那里。体验如何?他还说,作为一家初创公司,它会提供更多的曝光和挑战,那么为什么我更喜欢大公司呢?
然后他转移到我的项目和我在它的构建和使用的技术堆栈中扮演的角色。
- 我有一个基于网络抓取的项目,我在其中提到了美丽的汤,所以他根据它提出了问题。什么是美汤?网页抓取是如何完成的,它包括什么?还用了一段代码来解释。然后他问这个项目是关于什么的以及它的其他贡献。
- 我在简历和基于它的项目中提到了机器学习。所以他问我对它的熟悉程度。然后他问我关于我工作过的不同库及其功能。
- 然后他给了我一些选择,并问我如果有的话我更喜欢使用哪种技术堆栈,为什么?
- 有什么问题要问我吗? (总是问问题:你的经历如何?文化如何?在公司工作多久了?大流行期间公司面临哪些挑战?)
小贴士:你应该知道简历中的每一个字。在任何面试之前了解自己。保持冷静并礼貌地回答。
我的回合在下午 6 点左右结束。终于,经过1.5小时的等待,晚上7点30分,公布了结果。 23 名学生中有 6 人获得了录取通知书,我很高兴成为其中之一。随后是定于晚上 8 点进行的人力资源讨论。
判决选择
一些额外的提示:
- 不要忘记研究公司。面试官可能会问你公司的使命、愿景、价值观或它的作用。
- 不要因为他们会问问题而在你的简历中撒谎,所以了解你在简历中写的所有内容很重要。如果您了解任何特定事物的基础/中级/高级水平,请提及。
- 不要忘记为基于人力资源的问题做好准备。有时,我们非常关注技术问题而完全忽略行为问题。
- 你可以参考 GeeksForGeeks 上的面试经历。这对面试真的很有帮助,因为你可能会遇到之前问过的同一个问题。
- 不要失去希望,即使您觉得自己无法按照自己的意愿行事。在面试过程中保持冷静和沉着。如果有一些你不知道的事情,请告诉他们你不知道,或者如果你在猜测,那么你可以向面试官提及。
为任何公司做准备的资源:
- 从 Leetcode 练习数据结构和算法(https://leetcode.com/interview/?gclid=CjwKCAjwjdOIBhA_EiwAHz8xm-kxQjivYzjUSb5TmBxTyZ2AI7v9ZailMearW2lFYdtGhEdV6s.EdV6s.EkbtGhEdV6s.EdV6sEkbtGhEdV6sEwww.com/https://leetcode.com/interview/?
- 面试准备资源 (GitHub)(https://github.com/yash0530/InterviewPrepResources)
- 公司访谈角 (GeeksforGeeks)
祝一切顺利!