📜  2022年Arcesium暑期实习(校内)

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

2022年Arcesium暑期实习(校内)

有 3 轮 45 分钟的技术轮次和 1 轮 20 分钟的 HR 轮次(可变)。

第一轮技术:面试从数组和链表的讨论开始。我被问到一些问题:

  • 链表的结构。跟进,如果你必须在特定位置插入一个元素,你更喜欢链表还是数组?接下来,你有一个大小为 10 的数组,你想在数组中插入另一个元素,你会如何插入呢?我们创建一个双倍大小的新数组,复制原始元素,然后添加元素。跟进,你为什么把尺寸翻倍,为什么不翻三倍?
  • 给定一个链表,在链表中找到循环的起点。如果您知道弗洛伊德循环检测算法的证明,那就太好了,我无法证明它是正确的。
  • 有后续问题。他对函数进行了更改,而不是传递指针,而是将节点作为值传递。
  • 给定两个字符串s1 和 s2。查找 s2 的字符是否可以重新洗牌以创建 s1。我们必须检查每个字符的频率是否相同。他问我将使用哪种数据结构来存储,我说我会使用大小为 256 的向量,因为 ASCII 有那么多字符。
  • 他询问了哈希图。
  • 我们还可以使用无序映射在恒定时间内进行搜索、插入和删除。所以,他问我为什么要使用矢量。答案是,尽管无序映射需要常数时间,但常数因子本身非常大,而对于向量,它非常低。
  • 然后他询问了无序地图的最差时间复杂度以及它何时发生,碰撞,我们如何避免它们。
  • 哈希映射是如何工作的,为什么它需要恒定的时间?
  • 给定一棵二叉树,检查它是否是 BST。又有一些后续问题。

第二轮技术:讨论了我的项目。提出的问题是:

  • 我使用了哪些技术以及使用它们的原因。
  • 为什么我使用 NoSQL 数据库,在 NoSQL 数据库中为什么使用 MongoDB?
  • 我的项目有多少个休息端点?
  • 中间件?
  • 当用户创建帐户时会发生什么?
  • 应用程序可以处理的当前负载?
  • 你怎么能缩放它?
  • 他让我写一个 SQL 查询。给定一个包含 roll_id、course_id 备注的表,得分打印确保每个科目前 3 名最高分的学生的 roll_id。
  • 关于 ACID 属性的问题?
  • 数据库如何保持一致性?
  • 它如何保持耐用性?
  • 规范化及其形式?

第三轮技术:再次对我的项目进行了轻微的讨论。这一轮的重点是 OOPS 和 OS。提出的问题是:

  • OOPS 的 4 个支柱?
  • 抽象是如何实现的?
  • 为什么我们需要继承?例子?
  • 然后,他写了两个类,让我继承其中一个类。
  • 访问说明符?为什么我们需要它们?
  • 关于内存动态分配的问题?如何解除分配?
  • 如果我们不取消分配会发生什么?
  • 垃圾收集器?
  • 破坏者?
  • 如果B类继承自A类,那么A类类型的指针可以指向B类的对象吗?
  • 如果一个类继承自两个类并且都有一个共同的方法会发生什么?
  • 编译时错误还是运行时错误?我们如何避免它们?
  • 虚函数?
  • 编译时多态性与运行时多态性?
  • 实现他们的代码。调度算法?哪个是最好的?
  • 进程与线程?
  • 上下文切换?
  • 过程控制块?
  • 线程的缺点?
  • 如果两个线程访问同一个内存会不会有问题?

还有一些问题。

人力资源回合:提出了行为问题。这些问题可能有点奇怪。所以,做好准备。

建议:

Arcesium 提出了许多后续问题。因此,在准备主题时,请务必阅读详细信息。除了编码之外,他们还询问操作系统、OOPS 和 DBMS。因此进行了 3 个技术回合。

祝你好运!!