Company Name: Juspay
Job Role: SDE
Years of Experience Required: 0 Years (Fresher)
CTC: 13 – 15 LPA
Topics: OS, DBMS, CN, OOP, DSA
Duration: 1 month
Source of Preparation: Striver’s Graph Series, OS DBMS, CN, OOP from youtube channels (Smart Programming, Knowledge Gate, Gate Smashers), practice from leetcode (medium).
- Check Striver’s SDE Sheet for Interview Preparation.
- Check the ultimate resume building guide for coding interviews.
- Blind 75 Leetcode
Round 1: MCQ Round
MCQ-based questions, mostly from core subjects were asked. There were 30 questions and the duration of this round was 25 minutes.
Round 2: Coding Round, Duration : 1 hour 30 minutes, Questions: 3
Problem Statement: You are given a forest (it may contain a single tree or more than one tree) with N nodes. Each node is given an integer value 0 to (N-1).
- The depth of forest at which a maximum number of nodes are present. If multiple depths have the same number of nodes then deepest depth should be printed. N can be very large. Aim for an algorithm with a time complexity of O(N).
- Level order traversal: print nodes at every level of the forest.
- Nearest common ancestor of two given nodes x1 and x2.
Round 3: Coding Round, Duration: 1 hour 30 minutes, Questions: 3
Problem Statement: React Developer Community is a community of React developers. It allows developers to reach out to others and discuss various topics around JS programming. This community has been modelled as a directed social network graph.
- Find Reachability. JS newbie A wants to check if he can reach out to a React expert B using his network.
- JS newbie A wants to learn React from B and. Given nodes A and B find the shortest time in which A can connect with B. Print -1 if it’s impossible for A to connect with B.
- A Nagging React newbieB is constantly troubling React expert A. React Expert A needs to know the minimum set of people following him he needs to remove from his network to stop B from reaching out to him.
Round 4: Hackathon
Problem Statement: Given an M-ary tree design three APIs (functions)
- Lock(id, uid) – this api locks the given node id and marks it locked by uid, if ancestors, descendants, or the node itself were not locked before.
- Unlock (id, uid)- this api unlocks the given node id if it was locked by uid before.
- Upgrade(id, uid) – upgrades the lock to the node id if all the locked descendants were locked by the same uid. This api fails if any locked descendant node was locked by a different uid.
This round was conducted on slack and a mentor was allocated.
Problem Statement: Convert the code that you wrote in Part A in such a way that it performs better for multithreading i.e your code handles race conditions gracefully.
Round 5: Basic Science
Few questions based on class 12 physics were asked. They were mostly formula-based.
Round 6: Interview (Video Call)
Topics asked: Mostly OS, CN, Puzzles
- Difference between multicore and single core processors and what are the benefits of multicore processors
- Structure of a process.
- What happens if you are playing a song and coding on your single core pc and you start writing something on your IDE ? (Basically explain context switching).
- There were other follow up questions on these topics and some puzzles that I don’t remember accurately at the moment.