Sprinklr On Campus 实习面过经

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:

  1. Variation of https://www.geeksforgeeks.org/minimum-number-platforms-required-railwaybus-station/
  2. A mathematical coding question with a really complex relation but when looked closely and carefully it boiled down to find f(n) % m where f(i) = (i ^ i) * f(i - 1) where 1 <= n <= 10^18 and 1 <= m <= 10^6 . Time limit: 1.0 sec
  3. Given a string S and an integer k where you need to form the smallest (lexographically) string X of length S.length() by repeating operation OP n times where n is the length of S . 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:

  1. Questions based on the personal projects listed on my resume.
  2. A detailed discussion on the implementation of unordered_map<K, V> and map<T> . The expected worst case complexity and how to improve upon it. Handling of collisions.
  3. 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?
  4. 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.
  5. AVL trees vs RB trees
  6. Shortest Common Supersequence question which I had recently done here :slight_smile:
  7. Any questions for the interviewer?

Technical Round 2:
A lot of questions about my personal projects related to Machine Learning and Computer Graphics.

  1. Semaphores vs mutex
  2. CAP theorem in distributed systems.
  3. Given a stream of elevator requests in a building, write an alogrithm to efficiently suffice these requests.
  4. Discussion on Virtual Memory and Cache
  5. Derive time complexity:
for(int i = n; i >= 0; i /= 2)
{
	for(int j = 0; j < i; j++)
	{
		Some O(1) operation
	}
}
  1. 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.