我于 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 人力资源轮
- 你为什么要寻求改变?
- 一般人力资源问题