# Paytm Interview Experience 2020

Hi Geeks,
I had recently appeared for the interview of Paytm Noida for the position of Software Engineer. I am having 1 year 7 months of experience in software Development.
Application: I directly messaged the recruiter on LinkedIn and shared my resume with her . She sent a link of online test to be attempted over the weekend

Online Test : (90 Minutes)
The Online Test consisted of 2 Coding questions and 20 Mcqs to be completed in 90 minutes .The questions were as follows
1-https://www.geeksforgeeks.org/number-buildings-facing-sun/ – The question was similar to this question
2- https://www.geeksforgeeks.org/minimum-insertions-to-form-a-palindrome-dp-28/

The Mcqs were based on basic java, Collections output questions and on basic thread concepts
Doing 1 coding question completely and 10-12 mcqs is enough to clear the round.

Next all rounds were virtual due to Covid and were held on hangout video call

Round 1 ( 45-60 minutes)

This round was entirely based on Data Structures and Algorithms. Interviewer was interested to know the approach and asked me some sample test cases to see whether my approach covers them or not . Following questions were asked
1- https://www.geeksforgeeks.org/delete-a-node-from-linked-list-without-head-pointer/
2-https://www.geeksforgeeks.org/print-nodes-top-view-binary-tree/
3- https://www.geeksforgeeks.org/find-element-appears-array-every-element-appears-twice/
For this problem he was interested in O(n) time 0(1) space space solution and only 1 array traversal(Hint: Use XOR)
4-https://www.geeksforgeeks.org/find-two-non-repeating-elements-in-an-array-of-repeating-elements/
This problem is an extension of above problem where all numbers are duplicated instead of two numbers occuring once ( Hint Extension of XOR based approach)

I was able to answer all of the 4 questions and was able to explain the approach clearly.

Round 2(30-45 minutes)

This round was also based on Data Structure and Algorithms and a puzzle was also asked at the end

Here the Interviewer scanned my resume and asked about the work done and tech stack involved(5 minutes)
Then he jumped to DS Algo problems.Following problems were asked in this round
1- https://www.geeksforgeeks.org/reverse-a-linked-list/
I gave a stack-based approach but he asked me to do it without using any other data structure and without using additional pointers other than Head ( Hint: Recursion)

He asked me if I Have any idea on graphs. I said Yess I know basic algos on it, Then he asked me following problem
2- https://www.geeksforgeeks.org/detect-cycle-in-a-graph/ ( Hint DFS)
I used DFS and explained my approach . Then he asked my why not BFS and then it was followed by 5 minute discussion on where to use DFS and where to use BFS

Then he asked me very popular and simple puzzle
3-https://www.geeksforgeeks.org/puzzle-1-how-to-measure-45-minutes-using-two-identical-wires/
I answered it in 5 minutes with a small hint from him :

Round 3 ( Resume + Core Java + Collections+ Threads, 30-40 Minutes)

This round was taken by Tech Lead of the team I was getting hired for
He Scanned my resume and asked about version of Java used in project. I said Java 8 .
1-He asked me features of Java 8
Then he asked me what changes were made in JVM for introducing Lambha expressions .U can read in detail on this from https://stackoverflow.com/questions/29143803/java-lambdas-how-it-works-in-jvm-is-it-oop

2- Another question was asked from Generics in Java . Difference between List<T> and List<Object>
(Hint : Type Erasure in java)
3- How Linked HashMap maintains order of insertion of Keys( Hint : Use of DLL in buckets)
4- Some basic discussion on Microservice Architecture ( From Resume)

5- I had mentioned Messaging queues in resume. So he asked me which MQ you have used .
I answered Kafka. I was scared here as I had just basic idea of how Kafa works Following questions were asked
1- How can you control the order of reading of messages at consumer level( I want M1 to be read before M2) when messages are in different Partitons( ORDER OF MESSAGES IN KAFKA IS ONLY assured WHEN MESSAGES ARE IN SAME PARTITION!!)
I took some time to think and told him that we can have a sequence no attached with each message and keep on persisting them db and check if a sequenceNo less than current has came already or not if not then throw an exception .( Basically consumer will commit to an offset in former case only) He was impressed with this answer

2- Other scenario based question was asked, Suppose Consumer is processing very huge volume of Data and sending data to a 3rd party Service through an end point but 3rd party service is very slow its taking 6 seconds to respond . How to optimize it
( Solution: Since api takes very long time to respond there is no point waiting for the response synchronously so use asynchronous mode of communication i..e Multi Threading, setup up a thread pool and threads will make a call to api asynchronously . Then a small discusssion on @async annotation and Executor framework in spring boot

6- Difference between Feign Client and Rest Template for API Calls( Resume Based)
7- Difference between static synchronized and synchronized methods ?
8- Simple query on using of SUM function in SQL (I answered it wrong !!!)

Round 4( Engineering Manager Round :1 hour)

Small Introduction and then he jumped on to questions
I was very surprised when he asked me a system design question
It was
1-https://www.geeksforgeeks.org/how-to-design-a-tiny-url-or-url-shortener/
I had no practice on System design but thinking on the spot and with few hints I was able to solve it with approach mentioned above

2- Design facebook global feed and user profile feed with respect to ( DB model) and APIs to fetch user profile info and user global feed info . I was really shocked on this problem too

A lot of discussion on Pub-Sub model, SQL vs NOSQL, caching and db model design happened.

then he adruptly asked me my experience i said 1 year 7 months, then he quickly changed the flow of questions and asked very basic questions like
1- @RestController Annotation
2- JSON deserialization to POJO internal library involved
3 Why JPA ?
4- a SQL query on use of Joins, groupBy, IS LIKE
5- JUnit frameworks like Mockito etc

Result : Selected !

I would like to Thank GeeksforGeeks for such a wonderful content and detailed coverage of all topics.

Write your Interview Experience or mail it to contribute@geeksforgeeks.org

My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.