Druva 面试经历 |职员软件工程师-开发
最近我接受了 Druva Pune 的采访。我在 FinTech 拥有 2 年的软件工程经验。
第1轮 :
招聘人员在 LinkedIn 上联系了我,并在 Mettl 上分享了一个测试链接。
考试形式:(总时间:75分钟)
第 A-3 节编程问题。允许的语言(Java, Python,C++),所有问题都是简单中等水平。
B 部分 - 3 个部分,每个部分包含 5 个 MCQ。这些部分分别包括关于 C++、网络和操作系统以及算法和数据结构的问题。
第 2 轮: (1 小时)
这是由高级软件工程师拍摄的。
Q1。 https://www.geeksforgeeks.org/reverse-alternate-k-nodes-in-a-singly-linked-list/
我解释了这种方法并在我和面试官之间共享的谷歌文档上编码。
Q2。 https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
我解释了这个过程。面试官对这个方法很满意,但是编码时时间用完了。
第三轮: (1小时)
这一轮由首席工程师主持。
1.关于拒绝服务(DOS)攻击以及如何预防的问题。关于粘性会话的问题。
2. 设计一个限速器,它只允许来自特定用户的 n 个请求。基于 IP 和用户标识符讨论了几种方法。
3. 设计一个系统,只允许向每个后端服务器发出 n 个请求(在 K 个单位的时间范围内)并分发请求。我提供了 Queue 的链表实现。使用这种方法,可以在 O(1) 中找到服务器在最后 k 个单位时间内当前处理的请求总数。 (类似于数组中的连续求和方法)
4.关于分片和一致性哈希的问题-在动态添加新服务器的情况下。
5. https://leetcode.com/problems/reorganize-string/
上述的 O(n) 方法是预期的。对于编码,共享了一个谷歌文档。
第 4 轮: (1 小时)
本轮由工程总监主持。 (招聘经理)
1. 描述您在当前组织中完成的一个具有挑战性的项目。
2.问题陈述:给出了一个分页的Api。 (响应不会立即出现,而是您必须在查询参数中调用具有不同页码的 api)。您有 K 个可用线程编写一个调用此 api 并返回整个响应的代码。代码应该使用最多 k 个线程,并且这些线程的使用应该是最佳的。
在此讨论了几个竞争条件,最后在面试官的帮助下,我能够对其进行编码。
3. https://www.geeksforgeeks.org/find-number-of-days-between-two-given-dates/
4. https://www.geeksforgeeks.org/merge-two-binary-trees-node-sum/
讨论利益和改变的原因。
第 5 轮: (1/2 小时)
这更像是产品总监进行的文化契合。讨论任何一个项目,都会面临哪些挑战。来自简历的讨论。来自 Druva 等的期望
面试过程总共花了大约 2 周时间。最终判决选定🙂
感谢 GeeksForGeeks 提供各种面试经验和准备问题。