Your question is Preprocessing Data With Missing Values. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
You are preparing data for a supervised learning task, and several features contain missing values. You want a preprocessing approach that preserves signal, avoids leakage, and works reliably during training and inference.
Given a dataset with missing values, how would you handle the data preprocessing?