Определите максимально простое решение для приложения, суммирующего числа
Что проверяют
Не умение сложить числа, а способность не усложнять и при этом задать вопросы к требованиям. Задача намеренно тривиальная: смотрят, полезете ли вы проектировать сервис, очередь и базу там, где хватает одной функции, и услышите ли вы слово «максимально простое».
Как отвечать
Начните с двух или трёх уточнений, не больше: кто пользователь и откуда берутся числа, сколько их, нужна ли история результатов, какая точность нужна (целые, дробные, деньги), что делать с некорректным вводом.
Дальше назовите самое простое решение, которое закрывает требования: чистая функция суммирования плюс тонкая обёртка ввода и вывода. Ни базы, ни фреймворка, ни слоёв. Отделение функции от ввода стоит проговорить отдельно, потому что именно оно делает решение тестируемым.
Затем покажите границы простоты, это и есть уровень сениорности в таком вопросе. Дробные числа в двоичной плавающей точке накапливают погрешность, поэтому деньги считают в минимальных единицах или в десятичном типе. Числа могут прийти потоком, который не помещается в память, тогда сумма считается на лету. И скажите, какое следующее усложнение будет оправданным и по какому сигналу.
Где спотыкаются
Сразу выкатывают архитектуру: API, хранилище, контейнер, слои. Это читается как неумение слышать требования, а не как широкий кругозор, и на простых задачах такой ответ закрывает собеседование.
Второе: не спрашивают про ввод и ошибки, а потом предлагают решение, которое падает на пустой строке, на пробеле или на значении, которое числом не является.
Третье: обратная крайность, когда человек пишет одну строку и замолкает. Ждут, что вы сами назовёте граничные случаи (пустой ввод даёт ноль, один элемент, отрицательные, очень большие значения) и хотя бы пару проверок на них.