助理软件工程师的 Sabre 面试经验 |在校园 2022
近日,Sabre 访问了我校帕蒂亚拉塔帕尔工程技术学院,以招收最后一年的工科学生。资格标准如下:
- 教育程度:计算机科学与工程 (COE/CSE)、电子与计算机工程 (ENC) 和电子与通信工程 (ECE) 学士学位
- 逝去年份:2022
- 分数:7 CGPA或更高,在所有宣布结果的学期中,截至招聘活动之日
- 积压:没有活跃的积压,截至招聘活动之日
- 工作地点:班加罗尔
第 1 轮编码轮 + Aptitude 1.5 小时:大约 235 名符合资格标准的学生被允许参加测试。
第一轮包括(无负面标记)
- 20 个能力倾向问题(包括序列、推理、逻辑等)
- 25 个 CS 基础问题,混合了操作系统、数据库管理系统、SQL、OOPS 和基于输出的问题。
2 个编码问题(允许的语言:C、C++、 Java、 Python)
编码问题属于中等到困难级别的问题,如下所示:
- 给定 N字符串,找出字符串之间的所有连接。如果两个字符串具有相同的长度并且在一个字母表中完全不同,则它们是直接连接的。连接也遵循传递性规则,即如果字符串A 连接到字符串B 并且字符串B 连接到字符串C,那么字符串A 也连接到字符串C
- 编写一个接受 N 个单词的程序,并打印可以通过遵循上述约束创建的所有单词的链,如果可以形成一个链,则将它们打印在一行中,否则如果可能有多个链,则将它们打印在单独的行中输入顺序
输入格式:
输入的第一行包含 N,字符串的数量。接下来的 N 行包含 N字符串。
输出格式:
一行或多行输出包含各种连接的字符串。连接的字符串由一个空格分隔。输出的顺序是根据输入的。
样本输入:
5
CAR
BET
BAR
BAT
BED
示例输出: CAR BAR BAT BET BED
说明1:
所有的字符串都具有相同的长度。在这里,CAR 连接到 BAR,因为 A 和 R 匹配。同样,BAR 连接到 BAT,BAT 连接到 BET,BET 连接到 BED。由于传递性规则,由于所有内容都是相互连接的,因此它们打印在同一行中。
类似的问题:
- https://leetcode.com/problems/word-ladder-ii/
- https://www.codingninjas.com/codestudio/problem-details/count-nodes-within-k-distance_992849
18 名学生从第一轮入围,以跟进第二轮。
注意:本轮结束后,候选人将被严格筛选。所以,你需要解决一个好的问题。入围进一步轮次的问题。
建议:如果你觉得编码问题很难,那就试着解决最大的问题。能力和cs的基本问题。这将增加您入围的机会。
第 2 轮(技术轮 1 小时):安排在 Microsoft Teams 上。
我们从互相问候开始。面试官是一名高级软件工程师。
然后,面试官问我编码回合怎么样。
- 她看到了我的代码,然后问我是否无法解决第一个编码问题,如果我想出了相同的方法。然后,我向她解释了我在测试期间应用的蛮力方法。然后,她问我是否发现它有什么问题。我向她解释了我的解决方案无法通过边缘测试用例的情况。
- 然后,她让我解释上一轮问的第二个编码问题。我解释了我的方法。然后,她要求分析同一问题的时间和空间复杂度,并询问我是否可以进一步优化我的解决方案。我已经给出了一个优化的解决方案,所以我们走得更远。
然后,她问我是否知道Java。但是,我通常用 C++ 编写代码,所以我也是这么说的。
此后,OOP 提出了以下问题:
- 通过示例解释 OOP 的所有四大支柱,即继承、多态、封装和抽象。
- 什么是抽象类?我们可以创建抽象类的对象吗?
- 写出纯虚函数的语法。
然后,她问我数据结构和算法的问题。我被问到以下动态编程编码问题:
- https://leetcode.com/problems/decode-ways/
- 她解释了这个问题,并要求我编写相同的代码。
- 我通过屏幕共享在我的个人 IDE 上编写了上述解决方案。首先,我告诉她我从问题中推断出的内容,然后告诉她递归的方法。
- 由于递归方法的时间复杂度很差。因此,我通过采用测试用例并转向动态编程方法来展示重叠问题。
- 最后,我设法用 DP 解决了这个问题,但是一个测试用例被卡住了。所以,她告诉我检查我申请的条件。但在我看来,这种方法都是正确的。所以,她让我为那个测试用例试运行我的解决方案。但后来,我们的时间用完了,这一轮比赛结束了。
- 我不确定我是否会清除这一轮。但随后,名单来了,我被列入了下一轮的候选名单。
笔记:
- 如果您遇到困难,请向面试官寻求帮助。
- 总是不断地告诉你你的方法和你在想什么。
- 他们想检查您对问题的思考过程以及您如何解决它。
14名学生入围管理轮。
第 3 轮(管理轮 30 分钟):安排在 Microsoft Teams 上。
面试官是一名高级工程经理。他让我自我介绍,然后我们直接进入项目。
- 他让我解释我简历中的任何一个项目,只要我觉得说得舒服。
- 所以,我解释了我的项目,我花了大约 10 分钟的时间来详细讲述每一个细节,并深入了解所有技术细节。
- 然后他问了我一些与项目有关的问题。我回答了他所有的问题,然后他让我展示我的项目的源代码,如果它被推送到 Github 上,或者在我的笔记本电脑上可用。不幸的是,我没有我的项目的源代码,因为它是一个团队项目。
- 然后,他编造了一些我作为软件工程师可以面对的情况来检查我的思维过程。这些问题就像你将如何说服你的项目负责人接受你的设计等。
- 一轮持续了 30 分钟,然后他告诉我是否有任何问题要问他。
- 我问了一个问题,然后他说我会得到另一个链接来进行 HR 回合。
- 我很高兴听到它,因为 HR 是该过程的最后一轮。
尖端:
- 彻底处理您的项目,并尝试涵盖由它们提出的各种问题。
- 准备好项目的源代码。
第 4 轮(HR 20 分钟):安排在 Microsoft Teams 上。
- 面试官首先告诉我自我介绍。
- 然后,她问我家乡的特产。
- 然后问我自己的弱点。
- 然后,她告诉我说一些我简历上没有列出的东西。我告诉她我最初几年在不同社会所做的非技术性工作。她似乎对此印象深刻。
- 然后她看了我的学术背景,称赞我的学习成绩和课外活动都很好。她问我以后有没有读硕士的打算。我说我没有这样的计划。
- 然后她总结并问我是否有任何问题要问她并完成了。
尖端:
- 尽量现实一点,不要给出死板的答案。
- 在这一轮中,他们想了解你这个人。因此,与他们交谈就像与朋友交谈一样。
最终,我们学院选拔了8人进行为期6个月的实习和全职offer,我就是其中之一。
判决:选定