Directi来到我们学院雇佣软件开发人员。他们来应聘两个职位:应用工程师和平台工程师。
编码轮 这一轮是在Codechef平台上进行的。90分钟内有3个问题需要解决。有两个插槽。以下是第一个插槽的问题: 1) 给定一个数组形式的二叉树,第一个元素是根。考虑到基于1的索引,对于节点i,2*i是左子节点,2*i+1是右子节点(如果存在)。现在每个节点都有一个值,第i个节点有一个值[i]。您需要告知任意两个叶节点之间的最大和路径。 2) 标准0/1背包问题 . 3) 给你n块蛋糕,除了一块比其他蛋糕重或轻之外,其他蛋糕都是一样的。有重量平衡。你可以让天平两边的蛋糕数量相等,找出哪一边更重,哪一边更轻,或者两边的重量相等。请注意,两边的蛋糕数量相同,不可能两边都有两块蛋糕。给你一个饼数(比如n)和q查询,每个查询描述两边饼数、左边饼数、右边饼数,以及代表平衡的字符,可以是“=”、“>”或“ 指(1,4,2)>(3,5,6)。 考虑到这些问题,你需要找到有缺陷的蛋糕。如果无法找到有缺陷的蛋糕,则输出-1。
我解决了所有的问题,并被要求参加面试。
第一轮(技术面试) 给你两个括号。您需要使用这两个字符串生成另一个字符串,这样在生成的字符串中,所有括号都是平衡的。括号的顺序不得更改,例如,如果从第一个字符串中选取2个字符/括号,则这些括号在结果字符串中的顺序不得更改。你需要说出你能做的平衡弦的数量。例如: )) (( 答案:2,你可以做()和(()) 预期时间复杂度:O(n*m),其中n和m是字符串的长度。
第二轮(技术面试) 给你一张有n条腿的桌子。每条腿都有长度。你可以移除一些腿,这样移除一些腿后,你总共有m条腿,如果maxlen是最大长度的腿的长度,那么至少m/2条腿的长度应该是maxlen。你的每条腿都会被移除。第i个支腿的相关成本为C[i],长度为L[i]。你需要将移除腿的总成本降到最低。 预期时间复杂度:O(n*logn)。请注意,您可以提供摊销解决方案。这是一个非常好的问题,面试官帮我解决了这个问题。
第三轮(Skype+技术) 一些学生在skype回合之前又进行了一轮。你需要在三次面试中清除两次。我通过了前两轮,所以没有第三轮。这一轮对我来说是最艰难的。 首先他问我关于我的项目。然后他问了一些与我的项目有关的问题。他问如果没有服务器来存储你的信息,你将如何实现一个聊天应用程序。 然后他问了一些关于DBMS的问题。他问我们如何快速检索数据。我告诉他了。然后他问可以使用什么样的数据结构。我告诉他使用数组、bst和B-树的各种方法。他问B-树在索引方面如何优于bst。 然后他问,给定两个github文件,一个在提交之前,一个在提交之后,你需要告诉这些文件之间的区别,比如插入和删除。给出同样的算法。 我的面试就是这样结束的。
如果你喜欢Geeksforgek,并且想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。