Как правило все интервью можно построить из 4 основных блоков:
1. Вопросы по HTTP
2. Вопросы по БД
3. Вопросы по брокерам сообщений
4. Вопросы по документированию
Еще я старался построить встречу с потенциальным системным аналитиком в следующем ключе (об этом в самом начале интервью говорил): кандидат рассказывает о себе (что ищет, что умеет, с чем поработал, с чем хотел бы поработать), в процессе мы задаем всевозможные технические и не только вопросы; далее мы рассказываем про компанию и вакансию и отвечаем на вопросы кандидата.
Главная цель встречи: подтвердить технические навыки кандидата и выявить его аналитический склад ума.
Вопросы по HTTP
1. Какие бывают HTTP методы? Для чего используются?
2. Что такое REST и отличается от SOAP?
3. После исполнения запроса вернулся код 200 (что это такое?) Какие еще могут быть коды?
4. Что такое формат JSON? Как в JSON передается дата? Как в JSON передать число? Можно ли передать JSON внутри JSON'а?
5. Как передать данные, используемые при авторизации?
Вопросы по БД
1. Как работают индексы в БД?
2. Что такое бинд переменных, зачем они нужны?
3. Какие знаете типы связей?
4. Что такое оконные функции и умеет ли пользоваться?
5. Что такое оператор WITH, был ли опыт использования?
Вопросы по прикладному ПО
1. Чем отличается Apache Kafka от RabbitMq - что лучше?
2. Чем отличается онлайн/оффлайн (синхронная/ассинхронная) обработка и где лучше использовать?
3. Какие вы знаете уровни логгирования?
4. Идентификация, авторизация и аутентификация – в чем разница?
5. Какие знаете виды авторизациии?
6. С помощью каких инструментов вы работали с API
Общие вопросы
1. Предположим вам нужно сделать информационный обмен между двумя информационными системами: как бы вы его организовали (чем больше вариантов, тем лучше)
2. Предположим в небольшом городе N, с населением 500 тыс. человек в один прекрасный день решили избавиться от маршруток. Закупили модные автобусы (прямо как в Москве) с валидаторами билетов. Ну и решили, продавать билеты с помощью касс на автобусных остановках и автоматах. Вам нужно задать вопросы, что бы можно было написать «Верхнеуровневое» техническое задание на разработку информационной системы для управления и администрирования продажей билетов. В этой задаче нет правильного или неправильного решения. Просто оно хорошо показывает насколько работает аналитический ум соискателя, его кругозор и насколько широко и дальновидно он мыслит.
3. С какими документами работали? Что составляли?
4. Проводили ли вы ПСИ (приемосдаточные испытания ПО)? В каком формате проходило это мероприятие?
5. Какие нотации знаете для описания БП?