I hope Everyone must have heard about Paytm. To get more information visit https://paytm.com/
Online Coding Round(70 minutes): There were 3 coding problems
- Based on a simple Number system given an integer, just ou have to change the digit
9-->0 8-->1 7-->2 6-->3 5-->4 ......... so on 0 -->9
Example: Convert this number to the new number.
Input: 420 Output: 579
The second problem was similar to https://www.geeksforgeeks.org/a-boolean-matrix-question/.
Given two trees, tree1 and tree 2, if tree 1 is a subtree of tree 2, then find the count of the node in tree1. Or if tree 2 is a subtree of tree 1, then find the count of the node in tree2.
I have solved the first two problems completely and in the third one I was about to finish (I was knowing the correct approach and I have written one function for checking the subtree and another function for the counting of nodes. And from the function signature in the problem, I could not finish and time was over.)
So the overall online test was medium. Not too hard also not too easy
Around 15 students were called for the face to face interview
Round 1(Face-To-Face): This round was around 1 hour 10 minutes. The interviewer was very friendly and so cool, supportive, and he made me relaxed also. He asked me to introduce yourself
Then he asked me questions.
Given a boolean matrix of order mxn which is row-wise sorted. Find the largest length of consecutive 1’s in a row.
0 0 0 1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1
Output: 4, in 2nd row.
I have first given the brute force method in O(mn), then he asked me to optimize, after some discussion, I have given the linear time approach by starting the traversal from the top right corner to the bottom left. He was satisfied with my approach and I have written the code on a Google doc.
It was on an inorder successor and predecessor of a binary tree.
I have given the approach of using an extra array by storing the inorder traversal. Then he told me that do it without using the extra array. He has given me some hint and then I have written the complete code.
Then he asked some questions about the Operating system(what is deadlock explain with an example)
Then he jumped to the oops concept
- It was like, what is the main advantage of oops and why do we need it.
- What is inheritance?
- What is polymorphism? What are the types of it? What is compile-time and runtime polymorphism?
- What is a virtual function, pure virtual function? Can we create a class that contains the virtual function?
- The concept of VTABLES was also asked.
He has again given me a coding problem and told me that write the code directly. Given a sorted array, and a variable k, print all the pair whose sum is k.
I have written the code with two pointer techniques in linear time complexity.
At the end he told me that I am done with the interview, you can ask your doubt
Round 2(Face To Face 15minutes): It was again started with an introduction then he asked me to discuss any of the projects from cv(i have 4 projects on ML only). After 10 minutes of discussion on the project he has asked me to write a function to reverse the linked list,
I have asked him that should I first discuss the logic or I can write the code directly, he told me that first discussed the approach, I have explained the recursive approach thoroughly in O(n^2) and O(n) approach. and he was quite satisfied with the approach that I have discussed. He told me that no need to write the code now, I am pretty sure that you can write easily.
He has appreciated and told me that I am recommending to HR
Round 3(HR ROUND 15minutes): I am not from CSE. , so he asked me why you want to join the software industry and other HR-related questions, some funny discussion also. I have enjoyed this session a lot.
Suggestion: Be thorough with the OOPS and OS concepts and be confident about the TREES and Linked list. do the problems on Geeksforgeeks from the practice section with company-specific. Also, practice the problems from the Geeksforgeeks list for Amazon.