第一轮(在线评估测试):平台为HackerRank, 并启用了标签管理和网络摄像头管理。本轮比赛由5个部分组成(有部分时间限制)
第1节:
- 2个中等水平的编码问题(时间:30分钟)
- 允许5种语言:CPP, java, java8, python, python3
第2节:(数学和量化):
- 标记:+ 5, -2
- 时间:25分钟
- 8个MCQ
- 关于概率, 组合, 二项式定理等的问题
第3节:(CS MCQ):
- 打标:+ 5, -2
- 时间:20分钟
- 7个MCQ
- 基于诸如数据结构, 算法, 操作系统, 网络等主题。
第4节:
- 高级编程部分有1个编程问题。
- 时间:45分钟。
第5节:
- 2个基于价值的类型问题, 每个问题有10分(简要回答)
- 时间:15分钟
第5节的问题如下:
- 假设你和你的朋友正在做一个有一定期限的重要项目。然后突然由于某些不可避免的原因, 你的朋友离开了项目。在那种情况下你会怎么做?
- 提到一个实例, 在该实例中, 你对一个项目充满激情和兴奋, 并在其中取得了卓越的成果。
入围标准, GS遵循GPA + TEST分数。 54名学生入围下一轮比赛。
第二轮技术面试(35分钟):平台是用于视频呼叫的Zoom和用于编码的HackerRank CodePair。
此轮以正式介绍开始, 随后是一些与我在本科毕业期间作为安置单元技术负责人所做的工作有关的问题。然后, 他问我在解决问题和编码方面我对自己有多高的评价, 并说明我为什么这么认为。
然后, 他要求为该问题编写代码:
- 根据新的字母顺序对字符串数组进行排序。新的字母顺序以给定字符" c"开头。
我使用Bubble Sort编写了相同的代码, 并根据新的字母顺序编写了一个compare函数。然后, 面试官让我解释排序算法的时间复杂度, 以及与其他排序算法有关的其他一些问题, 例如哪种情况下更好?
我在比较函数和数组中使用了散列概念, 然后他让我编写代码而不使用任何多余的空间, 并要求我解释时间和空间的复杂性。
之后, 他问我是否有任何问题要问。
这轮比赛进行得非常顺利, 我被选入下一轮比赛。
第三轮技术面试(60分钟):采访者这次有了我的简历。他首先问我有关上一轮采访的经历。
然后, 他要求我自我介绍, 并要求提供更多有关我的长处, 语言偏爱和技术技能的信息。
然后在接下来的20-25分钟内, 他问了与我提到的项目有关的问题。他特别要求我详细解释其他队友所做的项目部分。他还问了一些问题, 例如我从中学到的东西, 背后的动机是什么等等……
自从我在简介中提到我对数据科学领域感兴趣之后, 他问了一些与数据挖掘, 数据预处理, 机器学习算法, 用于该领域的库等有关的问题。
然后他问了我几个问题:
- 你如何成为公司的资产?
- 你认为这次实习对你有何帮助?
- 是什么让你认为自己是一个优秀的团队合作者并具有良好的协调能力?
然后, 他让我解决了这个问题:
- 给定一个按顺时针方向旋转了k个位置的排序数组, 请以最佳方式找到k的值。
(就我而言, 当时对于面试官而言, HackerRank代码对不起作用。因此, 他只是要我解释一下我的方法)
我最初给出了一个简单的O(n)解决方案。但是我立即意识到这不是最理想的解决方案, 然后我能够在一段时间后给出类似于二进制搜索的O(logn)解决方案。之后, 我解释了时间复杂度。
最后, 他问我是否有任何问题。
对我而言, 这是面试回合的结尾, 我被选中。 🙂(也为许多学生进行了第四轮比赛。)
后果:他们选择了9名学生参加实习。
很少有外卖的可以帮助:
- 不要惊慌, 保持冷静。诚实(在简历和面试中)。
- 正确聆听公司的PPT。
- 在解决问题时, 请与面试官交谈。
- 数据结构, 解决问题非常重要。良好的CGPA帮助, 个人项目, 课外活动也将为你带来优势。
那是我的经验。祝你好运!