Sprinklr | Senior Lead | 5.5 YOE
Senior lead product engineerSprinklr | Lead | 5.5 YOE | Selected
Lead product engineerSprinklr Online Assessment intern (2026)
internSprinklr Interview Experience | Senior product engineer
Senior product engineerSprinklr | Lead Product engineer
Lead Product Engineer1 more experiences below
Summary
I interviewed for the Senior Lead Product Engineer role at Sprinklr, which involved four rounds covering coding, technical discussion with system design, low-level design, and HR. I successfully received an offer.
Full Experience
Round 1 – Coding
I was presented with two Data Structures and Algorithms questions during this round.
Round 2 – Technical Discussion + Design
This round began with a discussion about my current project. Following that, I was given a system design question to tackle.
Round 3 – LLD
In this round, I was asked to design a web crawler with specific requirements, and they expected a working code implementation. The discussion also delved deeper into aspects like parallelizing the crawler, ensuring observability, and robust failure handling.
Round 4 – HR
The final round was a general HR discussion, where we talked about my career journey, my understanding of Sprinklr, and my motivations for wanting to join the company.
Verdict
I was selected for the position.
Interview Questions (4)
Given the arrival and departure times of all trains that arrive at a railway station, determine the minimum number of platforms required for the railway station so that no train waits.
Given an undirected tree of n nodes labeled from 1 to n, and an integer t, a frog starts at node 1. For each second, the frog moves from its current node to a randomly chosen adjacent node. If the frog reaches a leaf node, it stays there. What is the probability that the frog is on a target node target after exactly t seconds?
Design a system to efficiently track and display the live user count for a streaming platform similar to Hotstar.
Design a web crawler that crawls URLs and outputs URLs which return errors. The expectation included providing working code. Further discussions covered parallelizing this crawler, ensuring observability, and handling various failure scenarios.
Summary
I recently interviewed for the Lead Product Engineer role at Sprinklr, which involved two coding rounds, a technical discussion with system design, a low-level design round, and a final HR interview. I was successfully selected for the position.
Full Experience
I recently went through the interview process for a Lead Product Engineer role at Sprinklr. The process consisted of four distinct rounds.
Round 1 – Coding
This round focused on Data Structures and Algorithms. I was given two problems to solve:- Minimum number of platforms required: A classic problem often found on platforms like GFG.
- Frog Position After T Seconds: A LeetCode problem which I solved.
Round 2 – Technical Discussion + Design
This round involved a deep dive into my current projects, followed by a system design challenge. The system design question was to design a live user count feature for a streaming platform similar to Hotstar.Round 3 – LLD
The third round was dedicated to Low-Level Design. I was tasked with designing a web crawler that identifies and outputs URLs returning errors. We discussed the basic architecture, concurrency considerations, and various failure handling strategies.Round 4 – HR
The final round was a standard HR discussion. We talked about my career journey, my understanding of Sprinklr as a company, and my motivations for wanting to join them.Verdict
I am pleased to say that I was selected for the Lead Product Engineer position.Interview Questions (3)
Design a system to accurately track and display the live user count for a streaming platform similar to Hotstar. Considerations include scalability, real-time updates, and handling a large number of concurrent users.
Design a web crawler system that takes a set of seed URLs, crawls them, follows links, and identifies all URLs that return an error (e.g., 4xx or 5xx HTTP status codes). Discuss concurrency, error handling, and basic architecture.
Summary
I participated in the Sprinklr Online Assessment for an intern position, which featured three distinct algorithmic challenges.
Full Experience
Question 1 :
You are given two strings s and t, both of the same length. You can transform string s into string t by mapping each character in s to only one character in t. However, this mapping must be consistent: Each character in s must map to exactly one character in t. Two different characters in s cannot map to the same character in t. Your task is to determine whether such a transformation is possible.Question 2 :
You are given: A list of digits (from '1' to '9', inclusive), where each digit can be used only once. A list of arithmetic operators consisting of '+' and '-'. Your task is to place all operators between digits (or groups of digits) to form a valid arithmetic expression such that: Each operator is used exactly once and placed between two numbers. All digits must be used exactly once (no repetition). You may combine adjacent digits to form multi-digit numbers (e.g., '1' and '5' can form '15' or '51'). You must find and return the maximum and minimum possible values of the resulting expressions.
Question 3
You are given a task to generate all possible attendance records for a student over n days. Each day's record can be one of the following:
'P' — Present
'L' — Late
'A' — Absent
However, the record must follow these two rules:
At most one 'A' (Absent) is allowed in the entire record.
No three consecutive 'L' (Late) entries are allowed.
Your task is to count the total number of possible valid attendance strings of length n that follow these rules.
n <= 10^5
Interview Questions (3)
You are given two strings s and t, both of the same length. You can transform string s into string t by mapping each character in s to only one character in t. However, this mapping must be consistent: Each character in s must map to exactly one character in t. Two different characters in s cannot map to the same character in t. Your task is to determine whether such a transformation is possible.
You are given: A list of digits (from '1' to '9', inclusive), where each digit can be used only once. A list of arithmetic operators consisting of '+' and '-'. Your task is to place all operators between digits (or groups of digits) to form a valid arithmetic expression such that: Each operator is used exactly once and placed between two numbers. All digits must be used exactly once (no repetition). You may combine adjacent digits to form multi-digit numbers (e.g., '1' and '5' can form '15' or '51'). You must find and return the maximum and minimum possible values of the resulting expressions.
You are given a task to generate all possible attendance records for a student over n days. Each day's record can be one of the following: 'P' — Present 'L' — Late 'A' — Absent However, the record must follow these two rules: At most one 'A' (Absent) is allowed in the entire record. No three consecutive 'L' (Late) entries are allowed. Your task is to count the total number of possible valid attendance strings of length n that follow these rules. n <= 10^5
Summary
I experienced a two-round interview process for a Senior Product Engineer role at Sprinklr. The first round involved a Data Structures & Algorithms question, which I successfully solved, but I was unfortunately rejected after the second round, which focused on project discussions and system design concepts.
Full Experience
R1:
I was asked a DSA question. Similar to below:
https://leetcode.com/problems/task-scheduler/description/
Was able to solve it. Interviewer was very helping and was moved to next round.
R2:
Interviewer joined 5 min late. Started asking about projects I have done (He didn't even go through resume). Asked which db we use in our projects and why. I explained why we used PostgreSQL (for ACID compliance). Then asked what twitter might have used, I mentioned NoSql for scalability and performance. When asked about handling increased data loads, I suggested sharding as a solution. He asked on what param we should shard I mentioned time_stamps.Querying by user? Suggested composite indexing or hashing. Asked If I have used Message broker and I mentioned I have used ASB.20 min interview, thats it. Just said thankyou and left the call and rejected. Unfortunately, some interviews are unpredictable, and despite preparation, the experience can feel unproductive due to unclear evaluation criteria.
PS: I received an invite on email for checking my availability just two days before interview. Also, I believe my profile was taken from Naukri, if that helps someone.
Interview Questions (4)
The interviewer asked about my past projects, specifically inquiring which database we use and why. They then posed a hypothetical question about what database Twitter might use and the reasoning behind it.
I was asked about strategies for handling increased data loads. When I suggested sharding, the interviewer asked what parameter I would use to shard and how I would handle querying by user.
The interviewer asked if I had any experience using message brokers.
Summary
I interviewed with Sprinklr for a Lead Product Engineer role. The interview involved system design questions about load balancers and a challenging data structures and algorithms problem to find rectangles from a set of points. Despite feeling confident with my answers and solution, I was unfortunately rejected due to allegedly missing corner cases and limited experience.
Full Experience
I recently interviewed with Sprinklr for the Lead Product Engineer position. The first round was with a senior architect. We started with a discussion about my current work, which I confidently elaborated on.
Following that, the interviewer delved into system design concepts, specifically asking about load balancers. I provided thorough answers, which I later verified to be correct.
The technical part then transitioned into a data structures and algorithms question. I was presented with a problem involving a grid of points and asked to find the total number of rectangles that could be formed by joining these points. I managed to code a solution within 20 minutes, ensuring to cover all edge cases and performing a dry run with test cases. The interviewer seemed satisfied with my approach, and the round concluded positively.
However, despite what felt like a strong performance, I was later informed by HR that I had missed some corner cases and had limited experience in software development, leading to a rejection. It was a surprising and frustrating outcome given my perceived performance in the interview.
Interview Questions (2)
Questions related to load balancers, covering various concepts and applications.
|y
|
|
| P1-------P2 P3 ------------- 3
| | |
| P4------P5 P6…………………2
|
| P7 P8 P9…………………1
|
|
|____|_____|_____|____________x
0 1 2 3
Given a data-structure called Point with two integers (positive) carrying X and Y coordinate for the point.
Class Point {int x; int y; Point(int x, int y) { this.x = x; this.y = y; }
}
And an array of 9 such points arranged as depicted (horizontally and vertically aligned as shown),
List<Point> points = new ArrayList<>();
points.add(new Point(1,3)); // P1
points.add(new Point(2,3)); // P2
....
....
points.add(new Point(3,1)); // P9Find the total number of rectangles that can be drawn by joining the given points. E.g. joining P1, P2, P5, P4 creates a rectangle (highlighted in the figure above).
Summary
I interviewed for a Product Engineer Intern position at Sprinklr as an on-campus opportunity. After clearing the first round which included OOPS and basic DSA, I was rejected in the second technical round where I struggled with stream-based data structure problems.
Full Experience
Round 1:
My first round started with a friendly interviewer who asked general questions based on my resume. Following this, we moved to OOPS basic questions. Then, I was given two DSA questions:
- Find a unique element present once in a given array where every other element is present twice.
- Another question related to Binary Search, which I don't recall the specifics of.
I was asked to code the first question on Google Docs. The interviewer seemed satisfied with my performance and I proceeded to the next round.
Round 2:
In the second round, the interviewer instantly presented two DSA questions:
- Imagine you are reading in a stream of integers. Periodically, you wish to be able to look up the rank of a number x (the number of values less than or equal to x). Implement the data structures and algorithms to support these operations. That is, implement the method
track(int x), which is called when each number is generated, and the methodgetRankOfNumber(int x), which returns the number of values less than or equal to x (not including x itself).
EXAMPLE:
1, 4, 4, 5, 9, 7, 13, 3
getRankOfNumber(1) - 0,
getRankOfNumber(3) - 1,
getRankOfNumber(4) - 3, - Given that integers are read from a data stream. Find median of elements read so for in efficient way. For simplicity assume there are no duplicates. For example, let us consider the stream 5, 15, 1, 3 …
I couldn't solve the second question at that time as I was not fully confident in heaps data structure. Consequently, I was REJECTED after this round.
Afaik, all the people who got selected after Round 2 proceeded to an HR round and received an offer.
Interview Questions (3)
Find a unique element present once in a given array where every other element is present twice.
Imagine you are reading in a stream of integers. Periodically, you wish to be able to look up the rank of a number x (the number of values less than or equal to x). Implement the data structures and algorithms to support these operations. That is, implement the method track(int x), which is called when each number is generated, and the method getRankOfNumber(int x), which returns the number of values less than or equal to x (not including x itself).
EXAMPLE:
1, 4, 4, 5, 9, 7, 13, 3
getRankOfNumber(1) - 0,
getRankOfNumber(3) - 1,
getRankOfNumber(4) - 3,
Given that integers are read from a data stream. Find median of elements read so for in efficient way. For simplicity assume there are no duplicates. For example, let us consider the stream 5, 15, 1, 3 …