Harness | Senior Software Engineer | Round 1 (DSA)

harness logo
harness
· Senior Software Engineer
July 10, 2026 · 3 reads

Summary

I completed a 1‑hour DSA coding round for a Senior Software Engineer position at Harness; although I solved the streaming ingredient problem, I was rejected without any feedback.

Full Experience

The round was a 1hr DSA coding session. Right at the start, the interviewer explicitly anchored my expectations by saying: "Don't worry about optimizing the approach right now, just focus on giving me a working solution."

The problem was structured as a streaming array simulation puzzle.

There are 3 types of ingredients: "fat", "fib", and "carb".

Input: An integer n (number of days) and a list of strings representing ingredients arriving day-by-day.

Output: An array of 0s and 1s representing whether a dish can be cooked on that day.

Core Rules:

  • The chef must have at least 3 total ingredients available in stock.
  • Out of the 3 ingredients chosen, at least 2 must be of the same type (e.g., 2 fats + 1 carb).
  • The Chronological Constraint: If the chef has multiple options, the dish that came earlier in the timeline must be chosen.

My Solution Strategy

Because of the strict chronological requirement, simple frequency counters won't work—you completely lose track of when a specific item arrived.

I instinctively opted for a 3-Queue Approach (Queue<Integer> fat, fib, carb) to track the exact index/day of arrival for each item.

Inside the streaming loop, I checked if any queue size crossed the threshold to form a pair, and then used a peek comparison to greedily poll the single oldest remaining item from the other queues.

My Code (Passed all interview test cases)

Verdict

Rejected, No reason given.

Interview Questions (1)

1.

Streaming Ingredient Cooking Decision

Data Structures & Algorithms

There are three ingredient types: "fat", "fib", and "carb". You receive an integer n representing the number of days and a list of strings indicating the ingredient that arrives each day.

You must output an array of 0s and 1s (one per day) indicating whether a dish can be cooked on that day.

Rules:

  • The chef must have at least three total ingredients in stock.
  • From the three ingredients selected for a dish, at least two must be of the same type (e.g., two fats and one carb).
  • If multiple valid dishes are possible on a given day, the dish that uses the earliest‑arriving ingredient must be chosen (chronological constraint).

Return 1 for a day when a dish can be prepared according to the rules, otherwise 0.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!