Techmojo solutions interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Techmojo solutions
upvote
share-icon
3 rounds | 3 Coding problems

Interview preparation journey

expand-icon
Journey
Started with coding basics, built projects, and practiced DSA consistently. Hard work and persistence paid off—cracked the SDE-1 interview at TechMojo!
Application story
Applied through TechMojo’s career portal and got a call from HR. After profile shortlisting, went through coding and technical rounds before the final interview.
Why selected/rejected for the role?
I was selected for my strong problem-solving skills, consistency in DSA practice, and hands-on experience with projects. Staying prepared and confident helped!
Preparation
Duration: 6 months
Topics: DSA, OOPS, System Design, Database Management, SQL, Problem-Solving
Tip
Tip

Tip 1: Stay consistent with coding practice and solve problems daily.

Tip 2: Focus on understanding concepts rather than memorizing solutions.

Tip 3: Revise core CS fundamentals like DSA, OOPs, and System Design regularly.

Application process
Where: Linkedin
Eligibility: NA (Salary package: 16 LPA)
Resume Tip
Resume tip

Tip 1: Keep your resume concise and highlight key projects, skills, and achievements.

Tip 2: Use bullet points with action verbs to showcase impact and contributions.

Interview rounds

01
Round
Medium
Online Coding Test
Duration60 minutes
Interview date4 Jan 2022
Coding problem1

1. Kill Process

Hard
0/120

You are given n processes that form a rooted tree structure. Each process is identified by a unique positive integer ID. Every process has exactly one parent, except for the root process.


The process relationships are provided in two arrays:


pid: An array where pid[i] is the ID of the i-th process.


ppid: An array where ppid[i] is the ID of the parent of the i-th process.


The root process is identified by having a parent ID of 0.


A critical rule of this system is that when a process is killed, all of its descendant processes (its children, grandchildren, and so on) are also killed automatically.


Given an integer kill which is the ID of a process to be terminated, your task is to return a list containing the IDs of all processes that will be killed as a result.


Problem approach

Step 1:
I first thought of using a brute-force approach by iterating over the ppid list to find all processes that need to be killed. However, this would require multiple passes over the list, making it inefficient.

Step 2:
The interviewer asked me to optimize the approach. I realized that the problem could be represented as a tree structure, where each process is a node, and the parent-child relationships define edges.

Step 3:
I used a HashMap (Adjacency List) to store the parent-child relationships, where each ppid maps to a list of its children. This allowed efficient lookups.

Step 4:
I then performed a Breadth-First Search (BFS) or Depth-First Search (DFS) starting from the given kill process ID. This ensured that all child processes (direct and indirect) were captured.

Step 5:
The interviewer was satisfied with the optimized approach, as it efficiently retrieves all affected processes in O(N) time complexity instead of iterating multiple times over the list.

Try solving now
02
Round
Medium
Video Call
Duration60 minutes
Interview date20 Jan 2022
Coding problem1

1. System Design

Problem Statement:
Design a Splitwise-like Expense Sharing System

Description:
You need to design a bill-splitting application similar to Splitwise, where users can create groups, add expenses, and split the amount among friends. The system should handle different types of expense splitting, such as equal, percentage-based, and custom splits.

Requirements:
User Management:

1. Users should be able to sign up, log in, and manage their profiles.
2. Each user should have a unique ID.

Expense Management:

1. Users can create expenses and add participants.
2. Expenses can be split equally, by percentage, or in a custom ratio.
3. The system should track who owes whom and how much.

Group Management:
1. Users can create groups and add members.
2. Expenses within a group should be shared among its members.

Transaction Settlement:
1. Users should be able to settle debts by making payments.
2. The system should optimize transactions to minimize the number of payments.

Scalability & Performance:
1. The system should support millions of users efficiently.
2. Efficient querying for expense history and balances.

Problem approach

Tip 1:Focus on low-level design patterns and object-oriented principles.
Tip 2:Practice problem-solving with real-world system design examples.
Tip 3:Understand scalability concepts like load balancing, caching, and database sharding.

03
Round
Easy
HR Round
Duration45 minutes
Interview date7 Feb 2022
Coding problem1

1. HR Questions

  • Tell me about yourself.
  • Why do you want to join TechMojo?
  • What are your strengths and weaknesses?
  • Where do you see yourself in five years?
  • Describe a challenging situation you faced and how you handled it.
  • Why should we hire you?

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Amazon
8518 views
0 comments
0 upvotes
company logo
SDE - Intern
1 rounds | 3 problems
Interviewed by Amazon
3320 views
0 comments
0 upvotes
company logo
SDE - 2
4 rounds | 6 problems
Interviewed by Expedia Group
2581 views
0 comments
0 upvotes
Member of Technical Staff
2 rounds | 2 problems
Interviewed by Techmojo solutions
211 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
114579 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
57825 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
34961 views
7 comments
0 upvotes