我通过电子邮件联系了 Intuit 的招聘人员,分享了我的简历,很快我就获得了有关进一步步骤的信息。
整个过程包括 1 次在线评估和 2 次面试。
在线评估
日期 : 2020 年 7 月 31 日
平台:HackerRank
时间:90分钟
问题数量:4
问题 1
给定一个二维整数网格,找到“最大值”单元格的数量,其中最大值是值严格大于其 4 个相邻单元格值的单元格。
解决方法:简单遍历并与邻居进行比较。
问题2
如果每次跳跃可以是 1 或 2 步,请找出到达 N 阶阶梯顶部的方法数。
解决方法:第 N 个斐波那契数。
问题 3
给出了一些例子,每个例子都描绘了一个菱形的数字模式。给定菱形边的长度打印类似的图案。
解决方法:观察并理解数字的规律。
问题 4
我没有正确记住这个问题,但它需要使用 map 和 set 进行一些棘手的实现。
我完成了所有的问题。
面试 1(基于简历 + 行为)
日期 : 2020 年 8 月 4 日
模式 : Zoom 视频通话
时长:30分钟
面试首先简单介绍了面试官和我自己。我们讨论了一些有关当前 COVID 情况的信息。
他问了一些关于渐近分析的问题,一些关于 C、C++ 和 OOPS 的基本问题。然后我被要求从我的简历中描述一个项目。我们花了一些时间讨论我做过的课程。
最后问了一些关于公司的问题,面试顺利结束。
面试2(技术)
日期 : 2020 年 8 月 6 日
模式:在 Zoom 上进行视频通话,在共享的 Google Doc 上实时编码
时长 : 75 分钟
这次有2个面试官。我们三个人自我介绍了一下。我的一个项目使用了高帧率相机,这引起了一位面试官的兴趣,她问了我一个开放式问题:为盲人设计一款相机。我被要求考虑创造性的想法,而不考虑实施的复杂性。
在此之后,我们继续编码问题。
问题 1
折叠链表
类似问题:https://www.geeksforgeeks.org/rearrange-a-given-linked-list-in-place/
我将解决方案分为三个功能:
- 反转后半部分(非递归实现)
- 将前半部分与反向后半部分合并
- 驱动函数
她让我为链表编写 Reversal函数的递归实现。
除了编码,我还被问到基本的问题,比如每个函数的复杂性、与递归函数调用相关的数据结构、空指针等。
问题2
设计
第二位面试官让我设计一个支持以下查询的数据结构(针对给定数组的元素):
- 在 O(1) 时间内找到任何元素的索引
- 在 O(n) 时间内以与输入数组相同的顺序打印元素。
我使用地图实现了它。他还要求我处理重复元素,其中应该打印给定元素出现的所有索引。
我能够正确且轻松地对所有问题进行编码。
采访以对公司的轻松讨论结束。
几个小时后,我在同一天收到了结果,并被选中参加实习。
根据我的经验,最有用的资源:GeeksForGeeks、InterviewBit、Codeforces。