Saas labs interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Saas labs
upvote
share-icon
3 rounds | 9 Coding problems

Interview preparation journey

expand-icon
Journey
SaaS Labs visited our campus in August 2025. I took the test and was shortlisted for the OA round. I had prepared a wide range of data structure questions before the interview and made it to the final round.
Application story
SaaS Labs came to our campus, and I applied there. First, an OA was conducted, followed by two technical interview rounds.
Why selected/rejected for the role?
In the final round, I had not prepared for React-based questions in depth, so I was not able to answer them.
Preparation
Duration: 6 months
Topics: Data Structures and Algorithms, Stacks and Queues, Dynamic Programming, OOPS, DBMS, OS, and Computer Networks
Tip
Tip

Tip 1: Be consistent with DSA problem-solving.

Tip 2: Prepare everything mentioned in your resume.

Tip 3: Read about all your projects in detail.

Application process
Where: Campus
Eligibility: 7 CGPA, (Salary Package - 20 LPA)
Resume Tip
Resume tip

Tip 1: Keep two good projects.

Tip 2: Don’t write anything you do not know.

Interview rounds

01
Round
Medium
Online Coding Test
Duration50 minutes
Interview date22 Aug 2025
Coding problem2

There were two DSA questions, and 50 minutes were given to solve them.

1. Given an array of integers, find the length of the longest increasing subsequence.

Moderate
30m average time
65% success
0/80
Asked in companies
FacebookDisney + HotstarAmazon

For a given array with N elements, you need to find the length of the longest subsequence from the array such that all the elements of the subsequence are sorted in strictly increasing order.

Strictly Increasing Sequence is when each term in the sequence is larger than the preceding term.

For example:
[1, 2, 3, 4] is a strictly increasing array, while [2, 1, 4, 3] is not.
Problem approach
  • Create a DP array dp[n], where each dp[i] represents the LIS ending at index i.
  • Initialize all values in dp to 1.
  • For each index i from 1 to n-1, check all previous indices j < i.
  • If arr[j] < arr[i], update dp[i] = max(dp[i], dp[j] + 1).
  • The answer is the maximum value in dp.
Try solving now

2. 0 1 Knapsack

Easy
15m average time
85% success
0/40
Asked in companies
CIS - Cyber InfrastructureOlaTwitter

A thief is robbing a store and can carry a maximal weight of W into his knapsack. There are N items and the ith item weighs wi and is of value vi. Considering the constraints of the maximum weight that a knapsack can carry, you have to find and return the maximum value that a thief can generate by stealing items.

Problem approach
  • Create a DP table dp[n+1][W+1].
  • dp[i][j] = maximum profit using the first i items with capacity j.
  • If the item weight w[i-1] ≤ j:
    dp[i][j] = max(val[i-1] + dp[i-1][j - w[i-1]], dp[i-1][j])
  • Else:
    dp[i][j] = dp[i-1][j]
Try solving now
02
Round
Medium
Face to Face
Duration60 minutes
Interview date29 Nov 2025
Coding problem3

The interviewer was helpful and tried to test my problem-solving skills.

1. Longest Path In Directed Graph

Moderate
30m average time
70% success
0/80
Asked in companies
SalesforceCodenationSaas labs

You are given a Weighted Directed Acyclic Graph (DAG) consisting of ‘N’ nodes and ‘E’ directed edges. Nodes are numbered from 0 to ’N’-1. You are also given a source node ‘Src’ in it. Your task is to find the longest distances from ‘Src’ to all the nodes in the given graph.

Return an array of ‘N’ integers where ‘ith’ integer gives the maximum distance of the node ‘i’ from the source node ‘Src’.

A Directed Acyclic Graph (DAG) is a directed graph that contains no cycles.

Note:

Print -1 if a node is not reachable from the given source node.

Example:

Consider the following DAG consists of 5 nodes and 7 edges,  Let the source node ‘Src’ be 0.

alt text

Then the maximum distance of node 0 from the source node 0 is 0. (the distance of a node from itself is always 0).
The maximum distance of node 1 from the source node 0 is 3. The path that gives this maximum distance is 0 -> 1.
The maximum distance of node 2 from the source node 0 is 10. The path that gives this maximum distance is 0 -> 2.
The maximum distance of node 3 from the source node 0 is 15. The path that gives this maximum distance is 0 -> 2 -> 3.
The maximum distance of node 4 from the source node 0 is 54. The path that gives this maximum distance is 0 -> 1 -> 4.

Thus we should print 0 3 10 15 54
Problem approach
  • Perform a topological sort of the graph.
  • Create a DP array dist[] and initialize all values to −∞ (a very small number).
  • Set dist[S] = 0 (the starting node has distance zero).
  • Process nodes in topological order:
    For each edge (u → v) with weight w:
    dist[v] = max(dist[v], dist[u] + w)
  • After processing all nodes, dist[] will contain the longest path distance from S to each node.
  • The maximum value in dist[] is the final answer.
Try solving now

2. Deadlock Experience

Have you ever been in a situation similar to a deadlock? What was it, and how did you come out of it? What are the conditions for a deadlock in OS?

Problem approach

Tip 1: Go through commonly asked OS questions.
Tip 2: Understand the concepts well, as the interviewer tests your understanding.
Tip 3: Give good examples.

3. Storage Paradox

How is a computer able to process a large amount of data despite having less storage than the application?

Problem approach

Tip 1: Go through commonly asked OS questions.
Tip 2: Understand the concepts well, as the interviewer tests your understanding.
Tip 3: Give good examples.

03
Round
Medium
Face to Face
Duration70 minutes
Interview date29 Aug 2025
Coding problem4

It was the final round, conducted after lunch. There were two interviewers. The round focused on projects, and one DSA question was asked.

1. System Design

In a role-based access management dashboard, where people have different roles such as Admin, User, and Tech Team, how would you distinguish between the roles? Give a brief, high-level overview.

Problem approach

Tip 1: Understand the problem statement thoroughly.
Tip 2: Note the key pointers.
Tip 3: Ask the interviewer for clarity.

2. System Design

How would you optimize performance in a large-scale React application?

Problem approach

Tip 1: Practice frontend questions.
Tip 2: Study theoretical topics.
Tip 3: Have a good understanding of React concepts.

3. System Design

How does reconciliation work when keys are used incorrectly in lists?

Problem approach

Tip 1: Practice frontend questions.
Tip 2: Study theoretical topics.
Tip 3: Understand React concepts well.

4. Make Sum Divisible By P

Moderate
20m average time
80% success
0/80
Asked in companies
alibabaJosh Technology GroupSaas labs

You are given an array/list of positive integers ‘NUMS’ of size 'N' and positive integer 'P'. You need to remove the smallest subarray (possibly empty) such that the sum of the remaining elements is divisible by ‘P’.

Your task is to print the length of the smallest subarray that you need to remove, or -1 if it's impossible.

Note:

1. It is not allowed to remove the whole array.
2. A subarray is defined as a contiguous block of elements in the array.
Example:
Suppose given ‘NUMS’ is [3, 1, 4, 2] and ‘P’ is 6.
The sum of the elements in ‘NUMS’ is 10, which is not divisible by 6. We can remove the subarray [4], and the sum of the remaining elements is 6, which is divisible by 6.
So print ‘1’ as a length of the removed subarray [4].
Problem approach
  • Find the total sum of the array and compute r = sum % p.
  • If r == 0, the answer is 0 (already divisible).
  • We must remove the smallest subarray whose sum gives a remainder r when divided by p.
  • Use prefix sum % p to check remainders while traversing the array.
  • Store each prefix remainder in a hashmap with its index.
  • For each prefix, check if there exists a previous prefix that can form a subarray with remainder r.
  • Keep updating the minimum length.
  • If the final minimum length equals the array length, return -1.
  • Otherwise, return the minimum length.
Try solving now

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 the purpose of the return keyword?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by OYO
4782 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 3 problems
Interviewed by Amazon
1011 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 5 problems
Interviewed by Meesho
6543 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
3566 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
2 rounds | 3 problems
Interviewed by BNY Mellon
6315 views
3 comments
0 upvotes
company logo
SDE - 1
3 rounds | 6 problems
Interviewed by BNY Mellon
0 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 5 problems
Interviewed by CIS - Cyber Infrastructure
2179 views
0 comments
0 upvotes