Practo Interview Experience (On-Campus)
Practo’s on-campus recruitment process consists of the following rounds:
- Online coding round
- Technical interview 1
- Technical interview 2
- HR interview
On our campus, a total of around 320 students were shortlisted post-registration for the first round coding test
First Round: This round was proctored via google meet where the coding test was hosted on the Hackerrank platform and was proctored by keeping the applicants on a call in google meet.
It consisted of 4 questions. 3 were coding questions and the last one was a Database design+SQL query.
The coding questions were pretty basic and with a little practice, it might be comfortable to crack them. A small overview of the 3 coding questions and the RDBMS question:
- An array is given and it needs to be rearranged is a way such that the value U=arr x arr x (1%arr) x arr x (1%arr) ….. is minimized.
- Given two arrays with signal levels at each time point, and every time both signals match the MaxVal variable is updated if the current signal match is higher than the previous matches. Find how many times the MaxVal variable gets updated.
- Given an array of differences and a lower and upper bound of integers, find how many arrays can be constructed with the lower and upper bound constraint and maintaining the differences.
- Design a movie booking schema with components like theater, booking, customers, movies. After the schema definition, two queries were to be performed.
- Give all movies with their names who have more than 5 bookings
- Across all Movies booked on a daily basis, give the second-highest day of transaction count.
Based on the performance of the first round 24 students among 320 were shortlisted for the technical rounds and I managed to be among the shortlisted ones.
Second Round (Technical interview 1): This round was a single-member panel technical interview. We started off with an introduction to each other and moved on to discuss my interests and projects in detail. He questioned me over the reason for my choices of the technical stacks that I have used and asked me some methodological questions like how I performed authentication in my Full Stack Development project and over the choice of my model in my ML project.
The next part was dominantly on coding. The questions were simple and it needed basic understanding and usage knowledge of simple data structures likes vectors, sets, and maps. I was asked:
- How to find unique elements between two arrays (hint: use a set)
- How to find common and un-common elements between two arrays
Then, I was given a partially defined schema for a ‘student, teacher, subject’ system and was asked to complete the schema in a manner, so I could query based on the relation between the three tables. After the schema completion, I was asked to write simple SQL queries like ‘Find how many students have taken up subject x’, ‘List the names of teachers teaching a particular subject’
My second round was held for about 1 hour, and I was able to answer almost all the questions though there was a little understanding error of the unique element question that he asked. So it’s always advisable to clarify the question before approaching it.
After the second round (ie. 1st Technical round), 8 were shortlisted for the further rounds, and I was happy to get through.
Third Round(Technical interview 2): As per the usual trend, this round began with self-introduction, and we moved on to code a question. The question was to find the longest palindromic substring in a given string. This quite a famous DP question, and I was expected to write pseudocode and dry run the code, which could walk through easily.
The second part of the interview was to check my SQL abilities. At first, I was given an employee and a department table and was asked to write an SQL query to print the names of employees with the highest salary per department. Upon finishing the particular query I was asked to extend it and print the top three salary holding employee names per department, which I couldn’t really manage to write properly.
In the next part, to test my RDBMS knowledge I was asked to design a DB schema for a house rental application consisting of all necessities and then some simple SQL queries were performed upon it. During the process of designing, we discussed different relational components and my own designing techniques and improvements that I can bring about.
This round took around 1 hour 10 minutes.
So, it was a smooth interview with a very good experience with quality questions and topics. From this round 6 were shortlisted for the final HR round.
Final Round (HR): This was a basic discussion of my personal profile and background. The HR person gave me an overview of the company and salary structure. And it got over within some 15 minutes.
Finally, 5 were selected, and I was happy to make it among the list. They send a confirmation email within 3 days. The interview process was very smooth and the interview quality was better than the higher bracket companies.
So, to have a confident approach during the recruitment process, I suggest one to have fluency in coding a good amount of questions in strings, linked list, and dynamic programming. And having good practice in designing DB schema and performing complex queries upon them is definitely a bonus. But the most important of them all is to be aware of all that’s there in the resume and be very sure of the work you have mentioned in the projects.