Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App

Related Articles

Druva Interview Experience (1 Year Experienced)

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

I was interviewed for Software Developer profile at Druva, Pune in August 2018.

Round 1: Online Test

  • MCQs related to File System, Unix, Computer Networks
  • Debugging section to debug and correct the code
  • Coding section with one question to be done in C++

Round 2: Telephonic Interview

Round 3: Telephonic Interview

Round 4: F2F Technical Interview
After telephonic interview rounds, I was called at their Pune office for the further interview process.

  • Tell me about yourself
  • Discussion on the current project in the current organisation
  • What are RESTful APIs and its principles?
  • Difference between GET and POST
  • What are different HTTP response codes?
  • Find the number of days between two given dates
  • Find sum of nodes at each level of a binary tree
  • Suppose there is a stream of emails which we are fetching from a mail server. We need to do some processing on these emails and print the output in the same order in which we received the emails.
    If we fetch emails in the order M1, M2, M3, M4, our output should be in the same order, that is, P1, P2, P3, P4. Here P1 refers to the processed output of M1.. and so on.
    Design this system using multithreading.

Round 5: F2F Technical Interview with Hiring Manager

  • Why are you looking for a change?
  • Write an expression in terms of f(n) for the following recursive function:

    void fun(int x)
        int i, b = 0;
        for (i = 1; i <= x; i++) {
            b += i + fun(i - 1);
        return b;

  • Create a library function for the below functionality:
    Let there be a string s = “geeksforgeeks”, s2 = “geeksforgeeks”
    Let the library function be str_tokenize(s, token)
    Let token = “ee”
    Now when we call str_tokenize(s, token) first time, it should return “g” (g eeksforgeeks)
    For the second time, it should return “ksforg” (g ee ksforg eeks)
    For the third time, it should return “ks” (g ee ksforg ee ks)
    Whenever we call this method again on string s it should return null. However, if we call this method on string s2, that is, str_tokenize(s2, token), this should return “g” as we had not used string s2 earlier.
    Also, there should not be any changes made to the original string which is being passed to the function.
    – Example:
    string s1=”geeksforgeeks”, s2=”geeksforgeeks”;
    string token=”ee”;
    cout<<str_tokenize(s1, token); //prints “ee”
    cout<<str_tokenize(s1, token); //prints “ksforg”
    cout<<str_tokenize(s2, token); //prints “ee”
    cout<<str_tokenize(s1, token); //prints “ks”
    cout<<str_tokenize(s1, token); //prints null
    cout<<s1; //prints “geeksforgeeks”
    cout<<s2; //prints “geeksforgeeks”
  • Provide a multithreaded solution for the above problem

Round 6: F2F HR Round

  • Why are you looking for a change?
  • General HR questions
My Personal Notes arrow_drop_up
Last Updated : 14 Sep, 2018
Like Article
Save Article
Similar Reads