背景:我主要在班加罗尔的一家基于产品的公司担任后端Java开发人员 2 年。
所以有一天,我接到了一位顾问的电话,关于金奈三星电子商务部门的一名软件开发人员的职位空缺。在表现出兴趣后,他联系了三星人力资源部,后者安排了与三星的一些高级开发人员的电话面试。
第 1 轮:电话轮
我在晚上 7 点与面试官联系。这是与共享在线编辑器的音频通话,他可以在其中查看和编辑我正在编写的代码。
他首先问了我研究过的技术,然后迅速转向了问题。我想为了让我对在线编辑器感到满意,他首先问了我一个非常简单的问题:
Q1:给定对双向链表中节点的引用,删除该节点。
A1:我只是告诉他简单的解决方案,包括角落案例。
问题 2:然后他转向了汽油泵问题的实际问题。
A2:我不断地说出我想到的任何方法。面试官几乎没有介入,我想是在默默观察我的想法。虽然我很挣扎,但不知何故我能够想出一个解决方案。我告诉他我知道的解决方案不是一个有效的解决方案。然后他问我这个解决方案的时间复杂度是多少。在那之后,他告诉我编码,我照做了。他只是对解决方案进行了试运行以进行验证。
由于我无法提出最佳解决方案,因此我认为它可能已经结束了。但令我惊讶的是,我接到了 HR 的电话,告诉我我已经通过了电话面试,下一轮面试将在三星班加罗尔办公室进行。
第二天,我接到 HR 的电话,通知我面试将在钦奈进行。他们订了机票,我的下一轮面试发生在金奈办公室,这是从 Smart Works 租来的一个小办公室。
第 2 轮:高级工程经理的设计轮
面试官首先问了我研究的技术。然后他让我为在线测验评估平台设计一个数据库模型。
我首先收集了测验平台需要的所有要求。然后我刚刚创建了所有实体以及关联。然后我们还讨论了需要开发的 API。
然后他让我为我正在处理的当前项目设计类图。
总的来说,我认为这是一次不错的面试,因为我无法从面试官的表情中推断出任何东西。几分钟后,我被要求参加下一轮比赛。
第 3 轮:高级开发人员的数据结构和算法轮
面试官首先问了我在公司做过的几个项目。然后他继续问问题。
Q1:替换为下一个更大的数字。他告诉我跳过蛮力并在 O(n) 中给出最佳解决方案。
A1:不知何故,它吸引了我,我能够使用堆栈提出最佳解决方案。然后他让我把它写在纸上。他做了一次试运行来验证我的解决方案。
Q2:范围内的二叉搜索树。
A2:我认为这是一个相当简单的问题,我只是想出了一个递归解决方案。
这一轮结束后,我被带到不同的楼层吃午饭。
第 4 轮:与招聘经理面谈
他问了我一些典型的问题,比如我为什么要找一份新工作,你对这份工作有什么期望等等。
然后他告诉我,他正在为我提供这份工作,并希望我尽快加入他准备从我现在的公司买断的工作。他向我表示祝贺,并告诉我享受探索钦奈的剩余时间。