📜  Arcesium 软件工程师实习面试经验

📅  最后修改于: 2021-11-10 06:41:55             🧑  作者: Mango

初赛:根据GPA进行入围。 GPA 7 以上的学生入围在线回合。

在线回合:此回合在 Hackerrank 上进行,分为 3 个部分:

第 1 部分:能力倾向测试,20 分钟内 15 个问题。能力倾向问题有点棘手和冗长。因此,我没有按顺序进行,而是滚动浏览它们,只关注那些可以快速解决的问题。每个部分都有 25% 的负面标记。

第 2 部分:涉及 OS、DBMS、OOP、C++、基于 Java 的问题的技术 MCQ,15 分钟内的 15 个问题。技术 MCQ 也很棘手,需要对主题有透彻的了解。

第 3 部分:编码问题,45 分钟内 2 个问题

  1. 给出了一个由 0 和 1 组成的无限数组,其中每个元素都代表城市。标有 1 的城市被感染。

    索引为 0 的城市总是被感染。索引为 i 的城市在给定日期的值等于索引为 i-1 的城市的值和前一天 i 的值的异或。

    最初,在第 1 天,只有索引为 0 的城市被感染。假设第 n 天,任务是找到生成的二进制数 mod 1000000007 的值,假设最初感染的城市是最低有效位。

    Sample Input:
    6
    Sample Output:
    51
    Explanation:
    100000
    110000
    101000
    111100
    100010
    110011
    Constraints:
    1<=n<=1000000
    
  2. 我不记得确切的问题,但我们可以通过散列来解决它。 115 人入围进行此测试。只有 11 人入围第二轮。

技术面试第一轮:这一轮纯粹是基于编码问题。面试官问了我两个编码问题。

  1. 给出了一个区间向量,我必须在合并重叠区间后返回最终向量。给定的间隔不一定是排序的。

    例如:

    Input: [[1,2], [2,6], [3,9]]
    Output: [[1,2], [2,9]]
    
  2. 判断两个矩形是否重叠

第二轮技术面试:这一轮完全基于 DBMS 和Java。

  1. OOPS,详细询问概念及其实际应用和代码实现。
  2. 封装和抽象之间的区别和例子。
  3. Aggregation 和 Inheritance 的区别与实际例子。如何在Java实现聚合以及使用聚合的情况。他让我为所有这些情况编写代码。
  4. 带有示例的所有形式的规范化。他给了我不同的情况,并问我这种关系违反了什么正常形式。
  5. 他让我设计学生、他们选择的课程以及他们在每门课程的每个月测试中获得的分数之间的关系。我必须找到每个学生最喜欢的课程,即学生获得最高平均分数的课程。他让我高效地设计并为此编写查询。他一直在改变条件,比如如果测试不是按常规模式进行的,比如可能每个月都没有测试,或者每天都有测试。因此,我必须相应地更改我的表并为每个案例编写查询。
  6. 他让我设计一个医院管理系统。

技术面试第 3 轮

  1. 多数元素

操作系统问题

  1. 碎片化——内部和外部
  2. 分页和页面错误。他问我如何减少页面错误。
  3. 颠簸
  4. 互斥量和信号量。他让我实现它们,他还给了我不同的案例,并问我这个解决关键部分的解决方案是否有效。我必须详细解释每一个条件。
  5. 16位和32位处理器是什么意思?
  6. 什么是 ram 大小增加到 1 TB 的大小?
  7. 不同种类的地址操作系统。
  8. 如何表示负数。什么是1s补码和2s补码?
  9. 项目讨论。

他问我为什么使用 NoSQL 数据库并讨论了不同的边缘情况以及我用什么来涵盖所有这些情况。我的两个项目都与android相关,所以他也问了我与android相关的问题。这持续了15分钟。最后,他似乎对我所有的回答都感到满意。

HR 回合:这一回合持续了 20 分钟。问了正常的人力资源问题。

  1. 你从你的项目中学到的两个主要知识是什么?
  2. 除了学习,你在大学里做什么。
  3. 你的爱好是什么?
  4. 您对我们的期望。
  5. 你对公司的了解。

只有 1 名学生被选中在海得拉巴办公室实习。

面试官非常乐于助人。他们让我很舒服,与他们互动是一次很棒的经历。面试体验相当不错,他们都集中在所有的核心计算机科学科目。 Geeks for geeks 对我有很大帮助,因为它帮助我准备面试,并提供了几乎所有准备所需的内容。面试过程非常艰苦,需要深入了解。这个过程持续了一整天。虽然很累,但最终当结果公布时,感觉一切都是值得的。