Summary
I recently participated in the Deshaw SMTS Hackerrank screening round, which featured two challenging Data Structures and Algorithms questions. Although I attempted solutions for both, my approach for the second question passed very few test cases, and I struggled to finalize a correct strategy for the first.
Full Experience
I took part in the Deshaw SMTS screening round, which was conducted on HackerRank on October 18th, 2025. The test comprised two distinct Data Structures and Algorithms problems. For the first question, I encountered a complex scheduling problem involving training and execution days for multiple projects. While I was able to generate a few custom test cases, I found it difficult to come up with a robust approach that would pass all of them consistently. The second question involved maximizing the minimum area of pizza segments. I implemented a binary search on the answer approach for this, but unfortunately, it passed very few of the provided test cases. I'm currently looking for insights into where I might have gone wrong and for alternative approaches.
Interview Questions (2)
Given an array training_days representing the training duration for N projects, and an array execution_days where each element is a pair [start_day, value] for each project. You need to schedule these projects. Training for a project must complete before its execution can begin. Projects can be trained sequentially or in parallel if resources allow (implied by the examples as sequential training impacts subsequent project start times). The objective is to determine the minimum possible latest day by which all projects can be executed. The value associated with execution_days might be relevant for some optimization, but the provided examples suggest finding an optimal schedule to minimize the final execution day.
Example 1:
Training days = [8, 8, 8]Execution days = [[25, 100], [26, 101], [27, 102]]Answer = 27- Reason: All projects are trained sequentially (8 + 8 + 8 = 24 days). If training starts on day 1, it finishes on day 24. Then, executions occur on days 25, 26, 27, making the latest execution day 27.
Example 2:
Training days = [8, 8, 8]Execution days = [[9, 100], [26, 101], [27, 102]]Answer = 27- Reason: Train the first project (8 days). Execute it on day 9. Then, train the remaining two projects sequentially (8 + 8 = 16 days). If this subsequent training starts on day 10, it finishes on day 25. The remaining executions then take place on days 26 and 27, resulting in a latest execution day of 27.
You are given N pizzas, each with a specific radius. You need to divide these pizzas into a total of requiredSegments equal-sized pieces. You can cut any single pizza into any number of equal-sized pieces. The goal is to maximize the area of the smallest piece among all requiredSegments. Return this maximum possible minimum area, rounded to 4 decimal places. The area of a circle is π * r^2.
Constraints / Clarifications:
- Each pizza has a radius
radii[i]. - You must create exactly
requiredSegmentspieces in total. - You want to maximize the minimum area of any of these
requiredSegmentspieces. - Output should be a string, rounded to 4 decimal places.