Sprinklr came to our university on the first day of our internship drive.
Around 350 students appeared for the coding round hosted on Hackerearth.
The coding round consisted of 5 MCQs (time complexity + Aptitude) and 3 coding questions:
- Variation of https://www.geeksforgeeks.org/minimum-number-platforms-required-railwaybus-station/
- A mathematical coding question with a really complex relation but when looked closely and carefully it boiled down to find
f(n) % m
wheref(i) = (i ^ i) * f(i - 1)
where1 <= n <= 10^18
and1 <= m <= 10^6
. Time limit: 1.0 sec - Given a
string S
and aninteger k
where you need to form the smallest (lexographically)string X
oflength
S.length()
by repeating operationOP
n
times wheren
is the length ofS
. OP: Remove any character from S from at most first k characters and append it to X.
Example:
S = “abcad”, k = 2
Expected Output: “abacd”
I could do all the three coding questions and was hence advanced to the next round!
30 students were shortlisted based on their score in the coding round.
Technical Round 1:
- Questions based on the personal projects listed on my resume.
- A detailed discussion on the implementation of
unordered_map<K, V>
andmap<T>
. The expected worst case complexity and how to improve upon it. Handling of collisions. - Then the interviewer asked me if I am familiar with concurrent hashmap and I wasn’t. So the interviewer explained it to me briefly and asked me if I were to implement such a DS how would I go about it?
- You are given a billion web addresses and you need to store the IP address of these websites efficiently for a fast lookup along with optimized space usage.
- AVL trees vs RB trees
- Shortest Common Supersequence question which I had recently done here
- Any questions for the interviewer?
Technical Round 2:
A lot of questions about my personal projects related to Machine Learning and Computer Graphics.
- Semaphores vs mutex
- CAP theorem in distributed systems.
- Given a stream of elevator requests in a building, write an alogrithm to efficiently suffice these requests.
- Discussion on Virtual Memory and Cache
- Derive time complexity:
for(int i = n; i >= 0; i /= 2)
{
for(int j = 0; j < i; j++)
{
Some O(1) operation
}
}
- Any questions for the interviewer?
HR round:
Standard HR questions.
All the interviewers were really nice, helpful and really smart. I was expecting a lot of programming questions but instead they focused on CS fundamentals and went in-depth with Data Structures.