Tekion 于 2021 年 7 月的最后一周到达我们校园,担任 SDE 角色(实习 + FTE)。我们总共进行了 4 轮(HackerEarth 上的 1 次在线编码 + 2 次技术面试 + 1 次 HR 面试)。
这是我的面试经历。
第 1 轮(在线编码轮):
- 本轮在 HackerEarth 平台上进行,共有 18 个 MCQ 和 2 个简单/中等难度的编码问题,分配的时间为 75 分钟。
- MCQ 主要包含代码在Java中的输出查找问题。除此之外,MCQ还有来自DBMS和算法分析的问题。还有1个简单的能力问题。
对 MCQ 的建议:
- 熟悉 OOPS、OS、DBMS 和Java基础知识。
- 在 C++ 和Java上练习一些基于输入-输出和 OOP 的问题。
编码问题:
- 函数f(x) 被定义为大于或等于 x 的最小斐波那契数。任务是计算 g(l,r),其中 g(l,r) 定义为 g(l,r) = f(l)+f(l+1)+f(l+2)+….. +f(r)。约束:1<=l<=r<=10^9。
- 给定 N 个硬币和一组表示每个数字 (1,2,…9) 成本的成本,其中 cost[i] 是选择数字 i 的成本。任务是找到可以用 N 个硬币表示的最大数字。
第 2 轮(技术面试 1):
- 面试官首先询问 OS、DBMS、OOPS 和 CN 的理论。这持续了大约 20 分钟。
- 在 DBMS 中,他询问了规范化及其类型、事务等。
在操作系统中,他问,
- 进程和线程的区别。
- 调度算法。
- 死锁。
- 信号量和互斥量。
- 静态和动态绑定
- 页错误和请求分页。
在 OOP 中,他问
- OOps 的重要特性。
- 多重继承中的钻石问题。
- 虚拟关键字。
在 DBMS 中,他问
- 规范化及其类型。
- 交易。
- DBMS 的 ACID 属性。
在CN,他问:
- TCP 和 UDP 的区别。
- OSI 模型。
在此之后,他问了 2 个编码问题,
- 给定一个数组,在其中查找最大和子数组。
- 给定一个 BST,在 O(logn) 中找到第 k 个最小的元素。
- 我能够给出正确的逻辑并向他解释我的方法,他对我的解决方案感到满意。
- 之后,他问我有没有什么问题要问他。
- 这一轮持续了大约70分钟。
第 3 轮(技术面试 2):面试官从 2 个编码问题开始:
- 给定一个已排序的旋转数组和一个目标,以 O(logN) 查找目标是否存在于数组中。
- 给定一个 BST,将其转换为一个有序双向链表,并返回指向双向链表头部的指针。
- 我能够向面试官解释这两个问题的逻辑,然后我被要求为这两个问题编写解决方案,我也这样做了。
验证完代码,问了OS、 DBMS、OOPS 、 CN的一些问题,
- 唯一键和主键的区别。
- 索引及其在 DBMS 中的使用。
- 锁和信号量的区别。
- 分页和分段。
- 死锁及其条件。
- TCP 和 UDP 用于什么?
- 我们为什么要使用面向对象编程?
- 之后,他问我有没有什么问题要问他。
- 这一轮持续了大约70分钟。
- 这一轮进展顺利,我相信我会收到下一轮的邮件。
- 最后一轮 HR 的邮件在 4 小时后送达。
第 4 轮(人力资源面试):
- 我以前从未参加过 HR 轮次,所以我有点紧张。
- 面试官向我打招呼,问我今天过得怎么样。
- 这更像是讨论而不是采访。
- 他从标准问题开始,告诉我关于你自己。
- 我已经准备了 2-3 种类型的 HR 轮介绍和行为问题的答案。所以我能够给他一个简短、准确、切中要害的介绍。
- 然后他转到了我在 B.Tech 中完成的项目。
- 我讲述了我到目前为止所做的 2-3 个项目,并简要解释了所有这些项目。
- 然后他问我有没有什么问题要问他。
- 我问了几个问题,他很乐意回答。
- 此 HR 回合持续了大约 15-20 分钟。
- 第二天,结果宣布,我被选中。
我对面试的建议:
- 练习 GfG 的所有标准公司问题。
- 对 OS、DBMS、CN 和 OOPS 中的 CS 基础有很好的理解。
- 准备一些关于 CS 基础知识和 DSA 问题的简短笔记,这对最后一刻的修订很有用。
准备并记下一些标准 HR 回合问题的答案:
- 说说你自己。
- 你的优势和弱势是什么?
- 告诉我你遇到的困难情况,以及你是如何克服它的。
- 告诉我你冒险并失败的经历。
- 我们为什么应该录用你?
- 最后,在进行面试时始终保持冷静,以获得积极的结果。
- 祝你面试一切顺利。