Большинство технических интервью проверяет не то, что нужно!
Громкое заявление? Тогда давайте сразу к важному — как отличить хороший код? Он должен соответствовать всего лишь двум простым требованиям:
⁃ Код должен выполнять бизнес требования, или другими словами, он должен работать! ⁃ Код должен легко читаться, легко поддерживаться и легко расширяться!
Всё остальное — нюансы.
Именно этого хочет бизнес, что бы новый разработчик писал код который, прежде всего, будет работать, а также будет понятен и прост, чтобы этот код можно было легко поддерживать. А если он будет это делать быстро, ну тут вообще сказка, такого должны “с руками оторвать”.
А теперь давайте постараемся ответить на вопрос, как “алгоритмические секции”, вопросы типа “в каком порядке будут выполнены console.log” или просьбы “перечислить методы массива” вам помогут это понять? Да никак!
А какие вопросы тогда задавать?
Свои общие рекомендации по поводу технических интервью я уже писал ранее https://t.me/around_dev/29. Дополню лишь, что умение писать легко читаемый и поддерживаемый код — вопрос опыта, понимания на какие части и уровни ответственности можно этот код разделить, как они должны взаимодействовать друг с другом, красные флаги в коде, какие из этих частей нужно покрывать тестами и т.д и т.п. Умение это объяснить — совсем другой навык, его тоже нужно развивать.
П.С. Обратил внимание что хорошее чтиво про то, как писать понятный и поддерживаемый код, обычно не оперируют такими понятиями как SOLID, DRY, и т.п. Как вы думаете, почему?