第1轮:
第 1 轮包括 3 个编码问题。给出的时间是70分钟。编码测试在 Cocubes 平台上进行。允许使用 STL。有各种各样的问题。我的问题如下:
- https://www.geeksforgeeks.org/program-for-armstrong-numbers/(需要有效的方法)
- https://www.geeksforgeeks.org/sum-of-cousins-of-a-given-node-in-a-binary-tree/
- 找到具有右兄弟节点的二叉树的所有左叶节点的总和。
在测试过程中只有基本的测试用例是可见的。明确提到将给予优化的解决方案更多的优先权。尝试尽可能优化您的解决方案。准备好树木以清除第一轮三星。
第二轮共选出9人。幸运的是,我是其中之一。
第二轮:
我们的面试安排在在线评估后 2 天。采访开始得很晚,大约在晚上 5-6 点左右。
面试官很友好。他首先询问 Covid 如何影响我的生活。
然后他问了一些关于我简历中提到的项目的问题。例如。你的项目是什么?使用什么技术栈?你为什么使用那个技术栈?你在这个项目中扮演了什么角色?
然后他开始了编码问题,如下所示:
- https://www.geeksforgeeks.org/find-two-rectangles-overlap/
- 使用两个堆栈实现队列。
- 什么是前序、后序中序遍历?然后他告诉我给出二叉树的所有三个遍历。然后,他询问了后序遍历在现实生活中的用途。我告诉他编译器如何通过首先将其转换为后缀表达式并评估它们来评估数学表达式。他问我后缀评估的代码。
- 如何反转链表?
然后他问我是否有一些问题要问他。我询问了我的反馈,他说他对我对数据结构和算法的了解非常满意。我问了几个公司相关的问题,然后面试就结束了。
第 3 轮:
第 3 轮在晚上 8-9 点左右开始。
面试官在三星办公室,准备动身回家。所以他看的很急。他让我做自我介绍。之后他问了我的项目,并问了一些标准的项目相关问题。如果您的简历中有与预订座位相关的 Web 开发项目,那么请始终准备好回答 2 个问题:
- 如果两个用户同时访问您的网页,并选择同一个座位,您将如何解决该问题?
- 如果有很多人访问您的网页,如何有效地管理它?
然后他开始了编码问题,如下所示:
- 我们在呼叫中心获得了某一天的通话记录,即给出了每次通话的开始时间和结束时间。考虑到呼叫每天都在同一时间发生,我们必须找到所需的最少运算符数量,以便没有呼叫无人值守,没有运算符闲置。它类似于需要的平台数量问题。
- 然后他问了一个小谜题。我们有3个盒子。一个包含红球。一个包含绿球。第三个包含混合球。它们的顶部都有标签,说明里面的球的颜色。众所周知,所有的标签都放错了。需要取出多少个球才能找到正确的标签和与之关联的正确框。
- 他问我是否了解 Trie 数据结构。他问它是什么,它有什么用途,它是如何实施的。然后他问我们是否有包含各种姓名的电话簿,您将如何有效地在其中插入姓名以减少查找时间。然后他问了它的时间和空间复杂度。
- 我们得到了两个链表和指向它们头部的指针。查找这些链表是否相交。
然后他问我有没有什么问题要问他,面试就结束了。
6人被选中进行为期2个月的实习。
对你的回答充满信心。即使你不知道答案,只要告诉面试官你的方法,他肯定会给你提示。即使在那之后,如果你没有得到答案,也不要惊慌。即使您没有达到最终解决方案,面试官也会根据您对解决方案的态度来判断您。
祝一切顺利!