📜  Druva 面试经验(1 年经验)

📅  最后修改于: 2021-09-23 05:59:31             🧑  作者: Mango

我于 2018 年 8 月在浦那 Druva 接受了软件开发人员简介的面试。

第 1 轮:在线测试

  • 与文件系统、Unix、计算机网络相关的 MCQ
  • 调试部分用于调试和更正代码
  • 用 C++ 完成一个问题的编码部分

第二轮:电话面试

  • 反转单链表中的备用 k 个节点
  • 简化Unix中的目录路径
  • HTTP 是如何工作的
  • 互斥量和信号量的区别
  • 多线程中的wait()和notify()是什么

第三轮:电话面试

  • 讨论当前组织中的当前项目
  • 数组中的最大连续和
  • 圆形数组中的最大连续和
  • 创建一个二叉树来表示 2 个二叉树的总和
  • HTTP 和 HTTP 之间的区别。 HTTP 是如何工作的?
  • 多道程序和多处理之间的区别及其相互之间的优势

第四轮:F2F 技术面试
在电话面试之后,我被叫到他们的浦那办公室进行进一步的面试。

  • 说说你自己
  • 讨论当前组织中的当前项目
  • 什么是 RESTful API 及其原理?
  • GET 和 POST 的区别
  • 什么是不同的 HTTP 响应代码?
  • 查找两个给定日期之间的天数
  • 求二叉树每一层节点的总和
  • 假设有我们从邮件服务器获取的电子邮件流。我们需要对这些电子邮件进行一些处理,并按照我们收到电子邮件的相同顺序打印输出。
    如果我们按照 M1、M2、M3、M4 的顺序获取电子邮件,我们的输出应该是相同的顺序,即 P1、P2、P3、P4。这里 P1 指的是 M1 的处理后的输出……等等。
    使用多线程设计这个系统。

第 5 轮:F2F 与招聘经理的技术面试

  • 你为什么要寻求改变?
  • 用 f(n) 为以下递归函数写一个表达式:
    void fun(int x)
    {
        int i, b = 0;
        for (i = 1; i <= x; i++) {
            b += i + fun(i - 1);
        }
        return b;
    }
    
  • 创建以下功能的库函数:
    假设有一个字符串s = “geeksforgeeks”, s2 = “geeksforgeeks”
    设库函数为 str_tokenize(s, token)
    让令牌=“ee”
    现在当我们第一次调用 str_tokenize(s, token) 时,它应该返回“g”( g eeksforgeeks)
    第二次,它应该返回“ksforg”( g ee ksforg eeks)
    第三次,它应该返回“ks”( g ee ksforg ee ks )
    每当我们在字符串s 上再次调用这个方法时,它应该返回 null。然而,如果我们在字符串s2 上调用这个方法,即 str_tokenize(s2, token),这应该返回“g”,因为我们之前没有使用过字符串s2。
    此外,不应对传递给函数的原始字符串进行任何更改。
    – 例子:
    字符串s1=”geeksforgeeks”, s2=”geeksforgeeks”;
    字符串令牌=“ee”;
    cout< cout< cout< cout< cout<cout< cout<
  • 针对以上问题提供多线程解决方案

第 6 轮:F2F 人力资源轮

  • 你为什么要寻求改变?
  • 一般人力资源问题