Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Build my plan
Egg Dropping Puzzle
00:00
5 left

Egg Dropping Puzzle

HardPython

Problem

During SanDisk SSD firmware validation, a test build is known to fail from some floor onward. Given n ordered floors and k identical eggs, determine the first floor at which an egg breaks while minimizing the worst-case number of drops.

An egg breaks on every floor at or above the unknown threshold and survives below it. The supplied Boolean array models the hidden behavior: breaks[i] is True when an egg breaks on floor i + 1. Return the first breaking floor, or n + 1 if the egg never breaks.

Your algorithm must adapt its next tested floor based on previous results and must use no more drops than the theoretical optimum for the given k and n.

Formal Specification

Implement find_break_floor(breaks, eggs):

  • breaks: a Boolean array of length n, monotonic as False, ..., False, True, ..., True.
  • eggs: the number of available eggs.
  • Return an integer in [1, n + 1], where n + 1 means no breaking floor exists.

Constraints

  • 1 <= len(breaks) <= 10^5
  • 1 <= eggs <= 100
  • breaks contains only Boolean values
  • breaks is monotonic, with no True value appearing before a False value
  • The answer is the first True position using one-based floor numbering, or n + 1 if no value is True

Function Signature

def find_break_floor(breaks, eggs):
Interviewer

Your question is Egg Dropping Puzzle. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
Sign up free to run your codeLog inLn 2
Run your code to see test output here.