Summary
I interviewed for a Senior Frontend Engineer role at Datadog in Paris. The process involved DSA, React UI coding, and behavioral rounds. Despite receiving positive feedback and proceeding to team matching, the offer was rescinded due to internal alignments.
Full Experience
Current Location: Bangalore, India
Role Location: Paris, France (VISA & Relocation Support provided)
1st Round: DSA
Valid Word Abbreviation - Leetcode problem 408
2nd Round: React UI Coding
Given a JSON data had to build a component to render the data and support follow ups to add Search and Sorting. Nothing complex, but make sure to understand the data shape clearly and ask questions around Search and Sorting edge cases.
3rd Round: Experience Interview
More of past experience discussion and detailed explanation about complex project i have worked.
4th Round: Values Interview
Behavioural questions and some questions about past projects and Tech lead experience.
Feedback:
Got a positive feedback and Team match call was scheduled with two teams for next day. Was also asked to prepare for all the documents related to VISA and Relocation.
***Received a mail few hours before Team match call about internal alignments shift and not proceeding with offer at this time. Was disappointed, but anyways a good interview experience to remember.***
Other interview experience
https://leetcode.com/discuss/post/6769058/atlassian-principal-frontend-engineer-p6-b0h2/
https://leetcode.com/discuss/post/6769089/new-relic-lead-frontend-engineer-reject-3kjjr/
https://leetcode.com/discuss/post/6769104/surveymonkey-staff-frontend-engineer-rej-ftlg/
Interview Questions (2)
I was tasked with building a React component to render given JSON data. Follow-up requirements included implementing search functionality and sorting capabilities. It was important to understand the data shape clearly and ask questions regarding search and sorting edge cases.
Summary
I had a technical screen with DataDog in India where I was asked to implement a function to count packets with a specific label within a sliding window.
Full Experience
You're given two arrays:
- timestamps[] representing the arrival times of packets,
- labels[] representing the tag or category of each packet.
You’re also given:
- a string target_label, and
- an integer window_size.
Write a function that returns an array of integers representing the count of packets with the given target_label in each sliding window of size window_size seconds. The sliding window should move one second at a time, and the counts should reflect how many packets with target_label fall within each window.
Something like the following
timestamps = [2, 4, 5, 8, 10]
labels = ["x", "y", "x", "x", "y"]
target_label = "x"
duration = 3
There was one more follow up along the same lines!
Interview Questions (1)
You're given two arrays:
- timestamps[] representing the arrival times of packets,
- labels[] representing the tag or category of each packet.
You’re also given:
- a string target_label, and
- an integer window_size.
Write a function that returns an array of integers representing the count of packets with the given target_label in each sliding window of size window_size seconds. The sliding window should move one second at a time, and the counts should reflect how many packets with target_label fall within each window.
Something like the following
timestamps = [2, 4, 5, 8, 10]
labels = ["x", "y", "x", "x", "y"]
target_label = "x"
duration = 3
Summary
I had an initial coding screen for a Mid/Senior position at Datadog in USA, where I was asked to implement a solution similar to rm -rf. I solved it using a recursive DFS approach and then optimized it to an iterative BFS approach to handle OOM issues for wide file structures, successfully moving to the next round.
Full Experience
I got the same question as this one:
https://leetcode.com/discuss/post/4159607/datadog-onsite-rm-rf-by-anonymous_user-e3bf/
- I was asked to implement a solution. I implemented a recursive DFS solution.
- The follow up was to update the code to avoid OOM issue.
- I suggested that we can use an iterative approach instead of recursion.
- We had an in depth discussion on why a recursive solution can cause OOM issue.
- The Interviewer followed up with sharing that file structure is not deep but rather wide. Say max directory depth is only 10 but the number of files in the directory are in millions.
- I suggested a BFS based approach. The Interviewer was happy with the approach and implementation.
- I am moving on to the next round !!
Interview Questions (1)
The problem involved implementing a file system deletion mechanism similar to rm -rf. I initially implemented a recursive DFS solution. The follow-up challenged me to update the code to avoid Out Of Memory (OOM) issues, especially considering a file structure that is wide (millions of files in a directory) rather than deep (max directory depth of 10). This led to a discussion about recursive versus iterative approaches and eventually suggesting a BFS-based approach for efficiency.