直飞面试经历 |第 18 组(校园内)
Directi 在我们的校园里为 3 个职位全职工作——平台工程师、应用工程师、运营工程师。
平台的过程。和应用程序。 Oper 的配置文件相同但不同。轮廓。我出现在普拉特。和应用程序。英格。轮廓。
编码轮
这是关于 codechef 的一轮编码,包括 3 个问题。
1. 给你 n 个项目。每个项目的成本为 c[i] 卢比,利润为 p[i],其中 1<=i<=n。你正好有 k 卢比。使用不超过 k 卢比,您可以获得的最大利润是多少。
答。标准背包问题。复杂度 (O(n*k))
https://practice.geeksforgeeks.org/problems/0-1-knapsack-problem0945/1
2. 给定一个 3 行 n 列的矩阵。每个单元格最初都包含值 0。您必须对该矩阵执行 m 操作。每个操作都有三个值,r、c1 和 c2 (1<=r<=3, 1<=c1,c2<=n)。您必须将第 r 行中 c1 到 c2 列中的所有值设置为 1。执行所有操作后,从矩阵中选择一个矩形,使矩形只包含 1,并且矩形的所有边都平行于x 或 y 轴。这种矩形的最大面积是多少。
1<=n<=1000000
1<=m<=1000
答。问题中给出了提示。第一个子问题是填充矩阵。其次是找到这样的矩形。对于第一个子问题,您可以使用 +1 和 -1 的逻辑,如 http://www.geeksforgeeks.or g/constant-time-range-add-operation-array/ 中给出的.对于第二个子问题,您可以使用蛮力找到最大面积的矩形。 (或者你也可以使用直方图)
3. 给出一些单词的字符串(明文)。您必须使用密钥将其更改为密码。键将一个字母映射到另一个字母(可能是同一个字母)。但是没有两个字母可以映射成同一个字母,这样一个密码就可以被识别为唯一的。空间将仅映射到空间。密码的所有单词都应该是明文对应单词的字谜。找出有多少个不同的键可以满足所有条件。
每个明文最多4个单词,每个单词最多4个字符。
谁解决了所有 3 个问题,他们被称为 Plat。英格(只有两个学生)。谁解决了 2 个问题,请使用 App。英格。我被要求使用应用程序。轮廓。
面试第一轮(算法轮)
我的第一次采访是由 ACM-ICPC 世界决赛选手参加的。首先,他说我要放松。他询问了我基于机器学习的项目。然后他问了我在竞争编程中最喜欢的话题。我说DP。但他问了一个预先确定的问题,这不是基于 DP。
一个 2D 网格由 r 行和 c 列给出。每个单元格用一种颜色填充 - R、G 或 B。找到一个三角形的最大区域,该三角形具有所有不同颜色的顶点,并且其中一条边与任一轴平行。可以在这里找到类似的问题,http://www.geeksforgeeks.org/maximum-area-triangle-different-vertex-colors/ .
我首先告诉了 (r*c)^3 蛮力方法,然后是 (r*c)log(r*c)。最后我用 r*c 解决了。
他让我在我的电脑上写代码。我写了一个大代码(将近 300 行),因为要处理的案例太多了。他让我使用函数减少代码长度。我通过减少到近 200 行来做同样的事情。我的代码有一个错误,然后他说要纠正我。
在这一轮中,所有的学生都问了同样的问题。谁解决了问题,就有资格参加下一轮算法。
面试第二轮(算法轮)
拳头,他浏览了我的简历,问了一些关于我的项目的事情。
然后他问了一个下面的DP问题。
给出了一个由平衡括号组成的字符串。我们想在两个子序列 A 和 B 中打破它,这样它们都是平衡的并且它们形成了整个字符串。
这个字符串可能有多少这样的中断。
这可以在这里找到,https://stackoverflow.com/questions/13437005/partition ing-a-string-of-brackets
首先,我告诉 O(n*2^n) 方法,然后是 O(n^3) 的 DP,最后是 O(n^2) 的另一个 DP。
他对我如何从 O(n^3) 到 O(n^2) 的方法非常满意。
他立即派我参加最后一轮。
第三轮面试(项目+技术)
这是一个电话回合。首先,他询问了我的第一个项目(跨域推荐系统)。我讲述了我的项目的一切。他询问了我在项目中使用的方法(关于寻找相似因子,将知识从一个领域转移到另一个领域)。我几乎没有在手机上解释过。然后他问了一个编程问题。
有未知数量的计算机与电线相连。计算机只知道它的邻居,而不知道其他任何东西。每个链接(电线)都被赋予一个重量。每台计算机都想知道到其他每台计算机的最佳路径。链接可以随时关闭。
我建议一种将其邻居信息连续发送给其邻居的解决方案,例如 OSPF 路由协议。
笔记:
1. 不管你的英语如何。我在采访之间也使用了印地语。
2.显然,编码对于Directi来说非常重要。
3. 你应该知道关于你的项目的一切。
如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。