Tip 1 : Practice problems with consistency
Tip 2 : Learn and try to up solve
Tip 3 : Enjoy each problem and try different ways of solving it
Tip 4 : Brush up OOP concepts
Tip 5 : Practice hands on for Low level design by white board coding
Tip 1 : Have 1-2 good quality projects.
Tip 2 : Try to maintain 1 page resume.
Tip 3 : Put things which you have in depth knowledge about in resume.
A problem solving round with 1 problem on DP. It was on a platform with a text editor provided. Was expected to solve the problem and write the code. Post initial discussion on the solution approaches came up with an optimized solution using Dynamic Programming and wrote the solution. Then some discussion on the Time and Space complexity of the solution.
Interviewer was satisfied with the solution and also dry ran with 1 test case.




If S = “34”, then all the possible letters that can be formed from string S are {“dg”, “dh”, “di”, “eg”, “eh”, “ei”, “fg”, “fh”, “fi”}.
Step 1 : Explained the brute force approach of checking all possible n digit number and incrementing a counter when it satisfies our condition.
Step 2 : Time complexity was exponential so interviewer asked to optimize it.
Step 3 : Came up with a recursive approach and told the recursive relation.
Step 4 : To further optimize, memorized the approach using 2-d DP and explained to interviewer.
Step 5 : Interviewer was satisfied so proceeded with it, and wrote the code, dry ran on a test case.
Recursive relation:
dp[digit][n] = sum( dp[digit][n-1] + dp[digit-1][n-1] ... dp[0][n-1] )
where "digit" is the digit it is ending with in an n digit number.
This round happened on the same day after 1st round. It was a Low level design round with one problem to be solved in 60 minutes.
Design in memory file system with given necessary features to implement like: ls, cd, mkdir etc.
Tip 1 : Discuss with interviewer till you get clarified with problem.
Tip 2 : Think out aloud on the solution approaches and various trade offs.
Tip 3 : Try to use concepts of OOP like inheritance, polymorphism to follow SOLID and DRY principles.
Tip 4 : Always be open to feedback from interviewer on the design questions as they are mostly subjective.
This round happened on the same day after 2nd round. The platform used was codility. It was a System design/ Low level design round with one problem to be solved in 60min.
Design LRU cache implementing various APIs like get(item), put(item), updateCache() etc.
Tip 1 : Discuss with interviewer till you get clarified with problem.
Tip 2 : Think out aloud on the solution approaches and various trade offs.
Tip 3 : Try to use concepts of OOP like inheritance, polymorphism to follow SOLID and DRY principles.
Tip 4 : Always be open to feedback from interviewer on the design questions as they are mostly subjective.
It was an HR round with focus on the work ethics, culture and my prior experiences. The recruiter was trying to test my situation handling capability by asking different scenario based questions.
What are your previous work experiences?
Who is your role model?
How do you rate yourself on a scale of 1 to 10?

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?