Delhivery Backend Developer Interview Experience (Sept 2018)
Round 1 (Online Test):
This round comprised of 49 MCQ’s and 3 Programming questions (Test Duration – 2.5 Hours, Platform – Hackerearth).
The MCQ’s were of different marks.The MCQ part was mainly for those who were interested in Associate Data Scientist Profile and mainly consisted questions on Probability, Distribution functions, machine learning etc. 10-15 MCQ’s were from computer science fundamentals mainly from data structures.
Programming Questions: 1. Given a directed Graph find a node in the graph such that if we start a dfs from that node we can reach maximum number of nodes(20 marks).
2.There a t test cases.For each test case, given two numbers m, n and a prime number p.You have to count number of times p occurs in the prime factorization of all numbers in the range of [m, n] (20 marks). Constraints: t<10^5, m, n<10^9, p<10^6 test case: m=6 n=8 p=2 ans : 4(6=2*3, 7=7, 8=2*2*2 therefore count of 2 is 4)
3.Given a string consisting of * and # and two variables r1, r2.Starting from the first index of the string you have to find minimum number of steps required to reach the last index without landing on a * character index.You can move from every * marked index i to (i+1) and (i+2) in one step.Also you can move to (i+A) if (A/i)>=(r1/r2), where A is the number of prime numbers from 1 to i.Print “No Way” if it is impossible to reach the nth index.(50 marks) test case: string = #*###### r1=1 r2=2 ans : 3(1->3->5->8)
Round 2(Technical Interview 1):
Firstly, he asked me to rate myself out of 10 in DS, OOP, DBMS and OS.He started with DS and asked 3 questions: 1. Print left view of a binary tree. 2. Find Maximum element in stack at every instant. 3. Find reference of the middle node in a linked list having odd number of nodes.
Then, he started discussing my projects.I made a online movie booking portal using java, jsp, servlet and Mysql.He asked me to draw the class diagram of the project and mention all relationships between the classes.We discussed the diagram, he pointed some mistakes and suggested some changes.Together we came to a solution. Then he asked some questions based on jsp, servlet and tomcat server. Then he asked me to design a database for such a system having 3NF normal form and how will we do indexing.We discussed my solution and we together reached a solution.
This round went for about 1.5 hours.
Round 3(Technical interview 2):
This round was mainly focused on Computer Science Fundamentals.He first asked me my favorite and weakest subjects.Then he said he will ask questions from my weak part.I told him i was weak in computer networks and OS.Following questions were asked.
- Tell me about DNS and what happens when we write a url.
- He asked me to name the layers in the OSI model and asked some basic questions like on which layer TCP works and on which layer HTTP works.
- What is Virtual memory and why it is needed?
- Difference between mutex and semaphore?
- Readers Writers Problem and its solution using semaphores.
- Fibonacci recursive implementation.
- It is a database question.He said that there a 3 attributes user, role and permissions.one role can be given to any number of users but each user will have one role.Each role can have many permissions.Design a database for it and normalise it.He then asked one query how will you find all permissions of a user.
- Joins in SQL.
The interview went pretty well.I would say if you don’t know some question directly say NO and don’t bluff.This round went for 40mins.
Firstly he asked me tell me about yourself.Then he asked my strengths and weaknesses and whether I am a team player or not.He asked me about competitive progamming and my achievements there.
I had to wait for 5 hours for the results and that wait was finally over when I got to know that I was selected.It was one of the best moments in my life.