📜  CAST 软件开发人员招聘挑战

📅  最后修改于: 2022-05-13 01:58:30.395000             🧑  作者: Mango

CAST 软件开发人员招聘挑战

第 1 轮:HackerEarth 编码挑战

1. 给定 N 个整数和 Q 个查询。每个查询有两个整数 x 和 y。合并包含 x 和 y 的两个组,并输出新形成的组中的数字范围(N 个整数的最小值和最大值)。最初元素不属于任何组。解决方案:简单的并集查找算法。
2. 有 N 个学生,每个学生都有唯一的 student_id。在这些学生中,有 M 对学生是朋友。友谊关系是关联的(朋友(a,b)和朋友(b,c)->朋友(a,c))。学生被叫来并要求排成一行。作为一个学生,他从行尾搜索他的任何朋友,如果找到,他站在那个朋友的后面,否则他站在行尾。有N个操作,每个操作有两个查询:

  • E x:表示id为x的学生必须排队
  • D:排在队伍前面的打印学生

解决方案:使用属于同一组的最后一个 student_id 的一些 DP 再次联合查找。

第二轮:电话面试

  • 介绍一下。
  • 他问我是否对这个角色有任何疑问,他解释了他们从事的项目类型。他们致力于用 C++ 编写的Java代码分析器。他说了一些关于制图的事情(我不知道他是什么意思)。他还说,他们调查了严重的违规行为、安全方面等。
  • OOPS - 组合和聚合之间的区别。我不记得确切但知道这是与继承有关的东西。后来他问组成和聚合是否相同,我说不,它们是不同的。我试图用一个例子来解释我所知道的一切(结果证明是错误的)。
  • 虚函数,虚继承(菱形问题的解决方案)。我对虚拟继承知之甚少。他后来问虚函数是如何工作的(它的机制)——我解释了vtables
  • 我是否知道不同的演员表——静态、动态、常量和重新解释。
  • set vs map – 我说两者在内部是相同的,只是 set 只有键而不是值。
  • unordered_map 与地图

我从来没有收到过面试的任何反馈。我给他们发邮件询问状态,但没有得到他们的回复。非常不专业!我不得不假设我没有入围。