CleverTap || Senior Backend Engineer || Rejected
Summary
I interviewed for a Senior Backend Engineer role at CleverTap, completed three rounds (OA, coding, system design), and was rejected but received detailed feedback.
Full Experience
YOE: 4.5
Recently i appeared for CleverTap senior backend engineer role. There were total of three interview rounds for me.
First or OA round: Three coding question, first one was easy one using string concept, second one was medium level based on DP concept and last was also medium level based on graph concept. All three was easy to medium and can be done in 45 min although 90 mins time was allocated.
Second round: This round was taken up by two senior folks, they were on camera which i really appreciate. It was pure coding or DSA round. It started with introduction and then they asked below coding questions:
- course scheduling
- simple extension of above problem where course can be completed in parallel each taking one unit of time, need to return total amount of time which is a typical multi-source bfs question
- maximum k window
Third round:
This round was taken up by a senior folk having 15 YOE.
It started with introduction then he asked me about project, contribution and top feature i built. Then asked me to design a system which can take sensors data and persist in database then do some aggregation for client. Although it was easy but i struggled, reason was how to take data from sensor hardware device which i think is no where around design part. I said i assume we can have RaspberryPI or mini chip inside it but he said no its even connected to any kind of network, so i was then how to send data using kafka or even api. He later clarified these device can be paired up with some secondary device like apple watch, may be a bad excuse but i was not aware about this secondary device paring. Later question was around this topic. I am attaching my design hiding my name. Design takes hardware data then push it using api to service layer which is scalable in order to avoid single point of failure then it push it to kafka from where flink layer usese it to perform neccassary aggregatation and then send it to database for persistence. I said we can use timeseries database or even cassandra to achieve high write thoughput.

Next day, I received detailed feedback from HR even after rejection which is really apprecaiable. To be frank overall it was a good experience because i got timely response plus feedback from HR.
Hope it will help others.
Interview Questions (3)
Course Schedule II
Given a list of courses and their prerequisites, determine an order in which you can finish all courses.
Parallel Course Scheduling (Multi‑source BFS variant)
Given courses with prerequisites where each course takes one unit of time and multiple courses can be taken in parallel if their prerequisites are satisfied, compute the minimum total time to complete all courses.
Sliding Window Maximum
Given an integer array and a window size k, return an array of the maximum values of each sliding window of size k.