Подробнее про техническое собеседование
Обычно техническое собеседование проходит так:
1. Знание языка программирования (ЯП). Спрашивают теоретические вопросы касаемо ЯП. Это самое легкое. Поверьте. Все есть в открытом доступе. Берете и учите.
2. Знание базы данных (БД). Тут тоже стандартно. Сначала теория про работу БД, индексы, ключи. А потом практика: написание запросов к БД для получения некоторой информации.
3. Знание алгоритмов и структур данных. Также стандартно. Спрашивают те темы, которые мы обсуждали последнее время. Кто пропустил все, просто посмотрите вебинар ([https://youtu.be/kdmfno3pCKU](https://youtu.be/kdmfno3pCKU)).
4. Решение логической задачи. Тут проверяется умение мыслить, строить алгоритмы, логически думать.
Есть одно НО: к такому формату собеседований можно подготовиться. Выучить наизусть (поверьте, такие тоже есть).
Работодатели это поняли и в последнее время все больше технических собеседований проходят по другому принципу:
1. Вопросы по реализованным проектам. Собеседующий читает резюме, находит реализованные проекты и начинает задавать вопросы: что за проект, какие технологии использовал, расскажи про технологию Х, почему выбраны данные технологии.
Проще говоря, хотят понять: настоящий ли опыт и насколько глубокие знания.
2. Проектирование приложения. Собеседующий приводит пример популярного существующего приложения и просит: если бы вы реализовывали, как бы это сделали? Расскажите максимально подробно.
Круто! Мне так нравится. Здесь можно понять самое главное: кандидат выучил все как стих, или реально понимает и может ПРИМЕНИТЬ НА ПРАКТИКЕ свои знания.
Я считаю, что это прогресс вперед. Считаю второй способ прохождения собеседования идеальным. Точно можно понять уровень кандидата, его слабые и сильные стороны, и подходит он тебе или нет.
А для вас это возможность еще быстрее получить работу. Те, кто прикидываются программистами, они быстро отсеются.
Какой подход вам больше нравится и почему?
Может быть что-то надо детальнее рассказать или примеры привести?