Product Engineer – C++
Round 1: Aptitude and Technical test
These were two separate tests.
a. Aptitude test consisted of two sections – first was MCQs related to aptitude questions, second was subjective aptitude which consisted of two questions.
b. Technical test consisted of two sections
- First consisted of C and C++ MCQ questions.
- Second, consisted of two programming questions – function to reverse a string using recursion, function to count no. of words, vowels in a string.
Round 2: Face-to-face (F2F) interview
• Describe yourself, have any hobbies other than tech?
• Puzzles
- A box in dark room containing red, blue and green socks. Can pick sock one at a time. How many times needed to pick sock so that to get at least a pair? Ans: 4
- Measure height of building without using scale. I said can use shadows and trigonometry, but didn’t knew angle of sun.
- Given 8 balls, 7 have identical weight, 1 is heavier and also a weight balance. Find heavier ball in min. steps. I told could do in 3 steps. He wanted in 2 steps. I tried but failed.
There was one other puzzle, but can’t remember it.
• Questions about current work, projects, project architecture. C/C++ questions, pointers, STL.
• Why use map vs set? Questions on set and map like are keys sorted in both.
• Implement browser history functionality (back and forward buttons). He asked which data structure to use. I first said deque. He asked why not stack? I said in stack we can’t implement forward button easily. Then, he asked what about vector? I said vector can be used. Eventually, I agreed with vector because in vector back button functionality can be like v[i – 1] and forward button like v[i + 1].
I got rejection email after 3 days. They focus more on aptitude than technical skills. I couldn’t answer all the puzzles which had more weightage.