A floating input, a pin configured as input but not connected to anything that defines its voltage (e.g., a button that's currently open with no pull resistor), sits at high impedance and picks up ambient electrical noise, so it reads an unpredictable, flickering mix of 0s and 1s. That causes phantom button presses, erratic logic, and sometimes increased power draw as the input buffer hovers near its threshold. The fix is to guarantee a defined idle level: enable an internal pull-up or pull-down (via PUPDR on STM32), add an external resistor, or ensure the pin is always actively driven by something. For a typical button to GND you use a pull-up so the pin idles high (1) and reads low (0) when pressed, active-low. The rule is absolute: every input pin must have a defined level at all times; never leave one floating.
Embedded Systems Fundamentals · Interview question
Why shouldn't you leave a GPIO input floating?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
GPIO: Digital I/O
Reading buttons and driving LEDs: configuring a pin's direction, push-pull vs open-drain outputs, pull-up/down inputs, and why a floating input reads noise.