trackier logo

Trackier Interviews

1 experience3 reads
Trackier | Senior Backend Developer | Noida | May 2023 | Rejected
trackier logo
Trackier
senior backend developernoida2 yearsRejected
June 3, 20233 reads

Summary

I interviewed for a Senior Backend Developer role at Trackier in Noida, which concluded in a rejection. The process involved two rounds: a technical discussion with coding in Golang and database queries, followed by a system design round that felt rushed and ended with a complex video transformation pipeline problem.

Full Experience

My interview journey at Trackier for the Senior Backend Developer position, based in Noida, concluded with a rejection after two rounds. I have 2 years of experience, with 1 year specifically as a Golang Developer.

Round - 1 (25th May - 1 hour)

This round was initially scheduled for 45 minutes but extended to an hour. The email mentioned it would cover technical questions and coding on platforms like LeetCode/Hackerrank. However, the interviewer primarily focused on backend questions related to my current projects and work experience. He was very friendly and conversed in Hindi. He asked me to turn on my video camera and posed questions such as:

  • Differences between Golang and other languages.
  • The working mechanism of Goroutines.
  • My contributions to my current projects.
  • To write SQL, PostgreSQL, and MongoDB queries. I mentioned I hadn't worked with MongoDB, but he insisted, encouraging me to use Google to demonstrate my problem-solving ability for unfamiliar tasks.
  • To write production-ready Golang code for a palindrome checker, which I completed with minor syntactical errors.

Overall, this round felt like a general discussion between two developers of similar experience. We spent about 10 minutes chatting about their work, culture, and tech stack, which closely matched mine. I felt very confident after this round.

I received a call on May 28th, confirming my selection for Round 2. I informed them I wouldn't be available until May 31st due to a vacation, though I was back on the 29th. I used this extra time to revise system design topics.

Round - 2 (1st June - 30 minutes)

This round was explicitly stated to be a system design round in the email, with preparatory videos like "Tiny URL shortener" and "Instagram design" by Gaurav Sen also shared. I felt a bit uneasy when the interviewer didn't ask me to turn on my video camera.

He immediately asked for my introduction, then proceeded with rapid-fire questions on topics like Redis, ElasticSearch (related to my current tech stack), the advantages of Linux over Windows, and five Linux commands. He was in such a hurry that he would move to the next question if I paused even for two seconds. After just 12 minutes, he abruptly said we could wrap up. Confused and frustrated, I interrupted him and reminded him that I was expecting a system design question as per the email.

Upon my persistence, he asked me to open draw.io and presented a very unusual question:

"A user uploads a video, and you are given 3 processes (P1, P2, P3). The output of one process goes to the input of the next. We have to make sure that these should not fail in any scenario and ultimately give us a transformed video."

Initially, I was bewildered, but I gradually clarified my doubts, asking about the nature of the "transformations." I proposed using a message queue between processes to handle failures, allowing for retries. He then questioned what would happen if P1's processing rate was greater than P2's. I suggested using a cache memory to buffer P1's output before feeding it into P2, pushing from the cache when P2 could accept more input. His only reply was, "Okay, the time for the interview is up, we can wrap up now." He offered no acknowledgment or suggestions regarding my approach.

The next day, I received a rejection email. This was the worst interview experience I've had, especially given the stark contrast between the two rounds. I suspect the position might have already been filled, and they should have communicated that beforehand, as it makes interviewees feel incompetent. I still feel frustrated and regret extending my date for the second round.

Interview Questions (7)

Q1
Golang vs Other Languages Differences
Other

Discuss the key differences between Golang and other programming languages, particularly in areas relevant to backend development.

Q2
Understanding Goroutines
Other

Explain the internal working mechanisms of Goroutines in Golang, including how they differ from traditional threads and their scheduling.

Q3
Project Contributions
Behavioral

Describe your specific contributions and responsibilities in your previous projects.

Q4
Database Querying (SQL, PostgreSQL, MongoDB)
OtherMedium

Write several production-ready queries for SQL, PostgreSQL, and MongoDB. The interviewer insisted on MongoDB even though I hadn't worked with it, suggesting I use Google to find solutions.

Q5
Golang Palindrome Checker
Data Structures & AlgorithmsEasy

Write production-ready Golang code to check if a given string is a palindrome.

Q6
Linux Advantages and Commands
OtherEasy

Explain the advantages of Linux over Windows for server environments and list 5 common Linux commands.

Q7
Reliable Video Transformation Pipeline
System DesignHard

Design a system where a user uploads a video, which then undergoes transformations by three sequential processes (P1 -> P2 -> P3). Ensure the entire pipeline is fault-tolerant and guarantees a transformed video output, even if individual processes fail. Consider scenarios like differing processing rates between stages (e.g., P1 faster than P2).

Preparation Tips

My preparation involved revising system design topics for a day or two before the second round, as I had already prepared them generally. No specific LeetCode or Hackerrank practice was mentioned other than the expectation from the first round's email.

Have a Trackier Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Trackier.