Достаточно задать один вопрос, чтобы понять, какой вы программист
Знаете ли вы ответ на самый популярный вопрос, помогающий определить, какой вы программист? А эксперты знают, как за пару минут это определить.
Эксперты знают, по каким критериям можно буквально за пару минут определить, насколько хороший программист перед ними.
И есть один довольно популярный вопрос, по которому это сделать проще всего. Рассказываем, чтобы вы чувствовали себя более уверенно.
Вопрос
Есть большой массив, который не помещается на диске, его нужно отсортировать. Какой способ сортировки наиболее быстрый?
Как не надо отвечать: Есть оптимальный алгоритм от Кнута, и есть комментарий от CLRS. Просто введите размер массива и ожидаемую задержку на диске для настройки производительности.
Как отвечают хорошие программисты (берите пример): А что собственно вы пытаетесь сделать?
Да, это вопрос из книги Джона Бентли «Жемчужины программирования»!
Четкая постановка проблемы обычно бывает на олимпиадном программировании, но в жизни нужно уметь разбираться в сути задачи, взглянув на неё шире.
Плохие программисты отвечают на заданный вопрос, смотря на проблему однобоко. Хорошие программисты исследуют проблему глубже.
Бонус
Вопрос выше является одним из наиболее известных в некоторых кругах. Здесь мы написали ещё один вопрос, который показывает, как программист мыслит, а значит, показывает, на что он способен.
«Почему вы думаете, что это возможно?» — вопрос, может и не связан конкретно с программированием и является общим для многих специализаций, но в этом и состоит его особенность. Работодатель с помощью этого вопроса может посмотреть, как программист доказывает свою позицию, или наоборот начинает сомневаться в своей правоте, готов ли он принимать ваши аргументы.
А есть ли такой вопрос
И всё-таки, одни и те же вопросы не могут быть универсальны для всех программистов. К тому же, такие вопросы могли бы вмиг распространиться среди сообщества IT-специалистов, и тогда мгновенно бы потеряли свою ценность. Так что если желаете подготовиться к собеседованию, не стоит искать универсальных ответов на вопросы. Лучше подготовьте себя. В этом могут помочь следующие материалы:
- Что нужно изучить, чтобы быть востребованным?
- Вопросы для собеседования на позицию Data Scientist в топовых компаниях
- 20 вопросов и ответов из интервью на позицию Python-разработчика
Источник: Quora