Crazyforcode has helped me a lot. In order to help other students I would like to share my experience.
Tech Round 1:
Q1. How will you balance a binary search tree?
Q2. Implement two stack in an array . Interviewer was confused about questions so he doesn’t ask about it?
Q3. The other question was given a 2 dimensional array in which the elements are either ‘x’ or ‘o’. Replace all ‘o’ with ‘x’ if the top, bottom, right and left elements are ‘x’. I did it using two traversals. In first traversal I replaced ‘o’ which satisfy the constraint with some arbitrary value ‘y’ and then replaced all ‘y’ with ‘x’ in the second traversal.
Q4. I was asked if I was aware of any version control software’s. I said, I knew about git and svn. He asked me to tell the difference between git merge and rebase. He asked me how would you implement your own version control software. I told him I would implement it using MD5 algorithm. I would see if hash values are different and then point accordingly that there have been some changes in the local repository. He did not want me to tell the entire design, he was satisfied with my answer and time was up for the interview.
Tech Round 2:
Q1. function f2x () generate numbers 0 and 1 with equal probability Design a function f4x () that will generate 0,1,2,3 with equal probability.
Q2. Given a number find the next greatest palindrome.
Q3. Question on database design and SQL query.
Tech Round 3:
Q1. How the friend’s list are maintained in Facebook.
Q2. Suppose when user chooses PayTm wallet as an option for a payment Using BookmyShow
what actually happens in backend. Explain whole process and consider all methods which could possibly happen during process (Hint – he was trying to get into API’s)