Numerify 面试经验 |设置 2(校内)
工作角色:助理软件工程师
第一轮:在 cocubes.com 上进行。有两个部分。
第 1 部分:能力
第 2 部分:30 道 MCQ 技术问题。
第二轮:从第一轮的476人中,约有60人入围。
这 60 个人收到了一份由 6 个问题组成的作业,其中我们必须做任何 1 个。第 2 个是编码问题,最后 4 个是数据库问题。我们有大约一周的时间来完成任务并邮寄给他们。我尝试了第二个问题,这是一个编码问题。
问题是:
1.Given 是一个 (mxn) 矩阵,其值由 0 和 1 组成。1 定义路径,而 0 是
空白。通过使用上、右、下和左从顶部 (0,0)(左上)位置遍历
位置,是否可以确定是否存在通往最终 (m-1, n-1) 的有效路径(右下)
位置。您不能多次踩到已经遍历过的图块。如果有一个
有效路径,可以打印一样吗?打印所有可能的
路径。
输入:
4,5
1,0,1,1,0
1,1,1,1,1
0,0,1,1,0
1,0,0,1,1
输出:
Yes
[{(0,0), (1,0), (1,1), (1,2), (2,2), (2,3), (3,3),(3,4)},
{(0,0), (1,0), (1,1), (1,2), (1,3), (2,3), (3,3),(3,4)},
{(0,0), (1,0), (1,1), (1,2), (0,2), (0,3), (1,3), (2,3), (3,3), (3,4)}]
对于解决方案,我在 Geeks for Geeks 中提到了“迷宫中的老鼠”问题。
第三轮(第一轮技术面试):
接下来是面对面的面试环节。 60 人中约有 24 人从分配轮次中入围,进行一对一的面试。该公司以 2 个配置文件进入我们学院 - 软件和数据库。那些在他们的作业中尝试编码问题的人正在接受软件配置文件的面试,而那些尝试数据库的人则在接受数据库配置文件的面试。
现在这是有趣的部分。我原以为他会问我与我的作业有关的问题,但他没有。事实上,他甚至没有打开我的简历。相反,他开始测试我的一般计算机科学概念:
他首先问我擅长什么学科和语言。我告诉他 C 和 C++。从那以后,我的整个采访都朝着这个方向发展。
他首先问我一个 c++ 代码,我无法完全解决,但我一直在尝试(这非常重要!)。我也在大声思考。无论我想到什么,即使我无法解决完整的问题,我也要确保他知道。
然后他问了我一些数据结构的问题:
1. 检测链表中的循环。 (我首先使用蛮力然后想出了弗洛伊德 Warshall 算法)。然后他让我证明为什么fastptr和slowptr总是会相遇?
2. 求二叉树的高度。(这很简单)
3. 给定一棵二叉树,打印所有没有左孩子的节点。
4.他扩展了第3个问题,让我修改上面的代码打印节点总数。 (您只需要创建一个全局变量计数,每次递归调用都会增加该计数)
然后他给了我一个问题,让我编写代码来打印给定数字 n 的所有质因数。
最后他问了我一些与计算机网络有关的事情:
1. LAN 在您的大学中是如何工作的。
2. 当您在您的网络浏览器中输入网址时会发生什么。解释从发送请求到获取网页响应的整个过程。
这次采访持续了大约45分钟。
第四轮(第二次技术面试)
大多数人在第一轮就被拒绝了,第二轮只剩下<10人。幸运的是,我通过了🙂
因为我的第一次面试非常好,第二轮我没有遇到太多问题。
他从第一个面试官离开的地方开始。
他首先问了我一些 OOPS 概念:
1.指针和引用的区别。哪个更好?
2. C/C++是否支持引用调用?
3. 多重继承的问题? (钻石问题)
然后他告诉我写一个代码来打印斐波那契数列的第 n 项。我使用 3 个变量编写了一个简单的代码。他让我用递归写同样的东西。我写的。然后他问我哪个更好,为什么?我告诉他第一个更好,因为它不像递归那样占用额外的堆栈空间。然后他问我哪个更具可读性。当我无法分辨时,他告诉我第二个更具可读性,因为在递归中,我们清楚地将数字计算为前 2 个斐波那契调用的总和(这实际上是斐波那契数列)。
在另一个问题中,他给了我一个字符串。我不得不逐字颠倒。
例如,“I am ayush garg”更改为“garg ayush am I”。一个简单的解决方案是逐字母反转整个字符串。然后再次反转它的每一个单词。
然后是拼图时间。他问我许多谜题:
1. 给定一个任意三角形,将其分成面积相等的两半,证明这两个面积实际上相等。 (一种简单的方法是绘制中值,因为中值将三角形分成相等的两半。使用 0.5*b*h 证明)
2. 给定一个矩形。另一个较小的矩形被切掉。现在将剩余的矩形分成相等的两半。 (连接两个矩形的中点。这条线会将剩余部分分成两半。)
3. 最后他给了我一个最有趣、最难的谜题,我最终没能解开。
给定一个有 16 个以网格形式排列的牢房的监狱。基本上你从(0,0)开始。你必须在 (3,3) 处至少遍历每个单元格一次(诀窍是你可以遍历你重新开始的单元格!记住这一点!)
终于经过一个小时的磨练,我完成了!
第五轮:(HR面试)
只有4个人到了HR。
她开始用正常的人力资源问题问我。我今天过得怎么样?说说你自己。我的长处,我的弱点以及我正在做些什么来改进它们。然后,令我惊讶的是,她还给了我一个谜题来解决。
这是谜题的链接:
http://puzzles.nigelcoldwell.co.uk/thirtynine.htm
我知道并正确回答
然后她问我一个相同的变化。如果有三种类型的帽子,我会怎么做——比如红色蓝色和绿色。我无法回答。但同样,我没有放弃,继续努力。
最后她问我想在公司做什么,我的热情是什么。她还从我的简历中讨论了我的一个项目。