Druva interview experience | Staff Software engineer -Development
Recently I got interviewed with Druva Pune. I’m having 2 years of software engineering experience with a FinTech.
Round 1 :
Recruiter contacted me on LinkedIn and shared a Test link on Mettl.
Format of the exam : (Total time : 75 minutes)
Section A- 3 programming questions . Allowed Language (JAVA,Python,C++) , all the questions were of easy-medium level.
Section B- 3 sections containing 5 MCQs in each . These sections included questions on C++, Networking & OS and Algorithms and Data Structures respectively.
Round 2 : (1 Hour)
This was taken by a Senior Software Engineer .
Q1. https://www.geeksforgeeks.org/reverse-alternate-k-nodes-in-a-singly-linked-list/
I explained the approach and coded on a google Doc shared between me and interviewer.
Q2. https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
I explained the process .Interviewer got satisfied with the approach but time ran out while coding.
Round 3 : (1 Hour)
This round was taken by Principal Engineer.
1. Questions on Denial of Service (DOS) attack and how to prevent it. Questions on sticky sessions.
2. Design a rate limiter which only allows n requests from a particular user. Several approaches were discussed based on IP and user identifier.
3. Design a system which only allows n number of requests to each backend server (in a time frame of K units) and distributes the request . I provided a linkedlist implementation of Queue. With this approach the total number of requests currently processed by a server in last k unit of time can be found out in O(1). (Similar to continuous sum approach in an array)
4. Questions on Sharding and Consistent Hashing- in case of dynamic addition of new servers.
5. https://leetcode.com/problems/reorganize-string/
O(n) approach for the above was expected .For coding a google Doc was shared.
Round 4 : (1 Hour)
This round was taken by Director of Engineering. (Hiring Manager)
1. Describe a challenging project you have done in your current organisation.
2. Problem statement: An Api is given which is paginated. (Response will not come at once instead you have to call the api with different page numbers in query parameter). You have got K number of threads available write a code which calls this api and returns the whole response. The code should use atmost k threads and the use of these threads should be optimum.
Several race conditions were discussed in this and finally with the help of interviewer I was able to code it.
3. https://www.geeksforgeeks.org/find-number-of-days-between-two-given-dates/
4. https://www.geeksforgeeks.org/merge-two-binary-trees-node-sum/
Discussion on interests and reason for change.
Round 5: (1/2 hour)
This was more of cultural fit round taken by Director of Product. Discussion on any one project , what are the challenges faced . Discussion from CV. Expectation from Druva etc.
The interview process took around a total of 2 weeks. Final verdict selected 🙂
I would like to thank GeeksForGeeks for providing various interview experiences and questions for preparation .
Please Login to comment...