Cloudera Inc. came to our campus, Thapar Institute of Engineering & Technology, in the first week of August for a Software Engineering profile. January – June internship. Only students from Computer Engineering and Electronics & Computer Engineering with a GPA of 8+ were eligible to sit for the test. The process was divided into 4 total rounds. Round 1 was an online coding test on Hackerrank. Round 2 and Round 3 were technical interviews. Round 4 was the Hiring Manager round (Which also turned out to be somewhat a tech round)
Round 1(Online, 4 coding questions on hackerrank):
- Cartridge recycling: Popular hackerrank interview problem that often comes in the OAs. You can use binary search for simple maths for the O(1) approach.
- Dice Rolling Simulator
- Design and Implement Special Stack Data Structure
- Count all sub-arrays having sum divisible by k
A total of 447 students gave the online test and 26 students were shortlisted. Students who were able to run all the test cases of three or more questions were shortlisted.
Round 2(Technical Interview 1): The interview started with a short introduction, a few questions on my resume. I had an impressive project on web dev, and we had a short discussion on the general trend in the web dev industry. I was also asked about my final year project.
- I was asked a puzzle straight from GFG’s archive.
- Explain recursion, few basic questions on recursion; What is a Binary tree, how is it different from a BST, how is BST implemented, AVL tree, Red-black tree generic discussions.
- What is hashing, explain hashtable, what is ordered map, unordered map, hashtable, their implementations
- What is a Daemon thread?
- I was asked a Linux command which I didn’t know
- What happens when you click a URL
- Pass by reference/pass by value difference
- Sum the nodes of two linked lists,
- What are abstract classes? Why are they used? What is Encapsulation? Real-life examples
Round 3(Technical Interview 2): I was first asked to implement a Priority Queue (Heap) without the STL, write code for the heapify function, etc.
I was asked some generic questions about the circular queue and then extremely in-depth questions about hashtables’ implementation. I had to write the code to implement hashtable. Then the interviewer would make changes in the implementation and modify the questions, this part went on for around 45 minutes and was really challenging. My concepts of all the data structures, hashtables, maps, trees, an array of linked lists were judged in this one long question.
This question was then modified after our discussion to a problem similar to the Least Recently Used Cache problem:
The interviewer was really impressed with the discussion we had, and that I was able to get to the end of it to this question, and further solve this. (I was only asked how I would approach this question, which is using a hashmap and a doubly-linked list)
I was able to answer almost all the questions completely, apart from the priority queue’s implementation ;_; and maybe that is why I was eliminated after this round.
Round 4 (From my friend’s experience): A few system design questions, some code snippets were given and their time and space complexities were to be optimised.
Finally, the company hired 3 students.