Вопросы, которые вы задаете инженерам-программистам на техническом собеседовании , оказывают огромное влияние на результаты найма. Настолько, что 34% инженеров и разработчиков считают качество вопросов на собеседовании решающим фактором при принятии ими предложения о работе. Актуальность вопросов также имеет ключевое значение, так как 32% инженеров и разработчиков сообщили, что это первое, что они замечают в компании во время интервью.
Итак, какие вопросы следует задавать на собеседовании с инженером-программистом?
Мы составили список практических вопросов для интервью, охватывающих четыре ключевых навыка разработки программного обеспечения: проектирование систем, программирование, управление базами данных и решение нетехнических проблем. Чтобы разработать стратегию вопросов для вашего предстоящего собеседования, выберите некоторые из следующих проблем, которые напрямую оценивают навыки, для которых вы нанимаете.
Вопросы проектирования системы
Вопрос о проектировании системы ставит перед кандидатами задачу разработать серверную систему, часто на физической или виртуальной доске. По своей природе вопросы проектирования систем представляют собой широкие, открытые вопросы с множеством возможных ответов. Кандидаты должны устно объяснить свое решение и мыслительный процесс по мере разработки ответа с учетом таких факторов, как масштабируемость, хранение и надежность. Вопросы проектирования системы чаще встречаются в процессах найма на должности старшего уровня, хотя инженеры с другим уровнем опыта также могут столкнуться с такими вопросами.
Разработайте сервис для совместного использования
Разработайте сервис совместного использования, который позволит пользователям запрашивать поездки через приложение. Система должна учитывать рабочие процессы как для пассажиров, так и для водителей.
Компоненты для рассмотрения:
- Процесс оплаты
- Шифрование и хранение способов оплаты
- Push-уведомления и обмен сообщениями в приложении
- Базы данных для управления данными пользователей и водителей
- Конфиденциальность данных и шифрование
- GPS и картографические технологии
- Отзывы пользователей и агрегация оценок
- Отслеживание данных для выявления закономерностей и всплесков активности
- Система размещения изображений
Создайте простое приложение для социальных сетей
Разработка приложения для социальных сетей — это распространенный вопрос по проектированию системы, который проверяет способность кандидата планировать структуру широкого спектра технологий. Базы данных, медиа-хостинг и алгоритмы — это лишь некоторые из тем, которые им необходимо охватить, чтобы успешно ответить на этот вопрос.
Компоненты для рассмотрения:
- Алгоритмы ранжирования
- Базы данных для управления пользовательскими данными (SQL, MySQL)
- Элементы управления конфиденциальностью
- Функции взаимодействия (подписка, лайк, комментирование, обмен)
- Хостинг пользовательского контента (изображения, видео, гифки)
- Схема базы данных
Разработать сервис потокового видео
Разработайте службу потокового видео, которая позволит пользователям просматривать и искать видео. Служба также должна позволять внутренним командам загружать контент через серверную часть. Сервис должен быть масштабируемым, поддерживать большое количество пользователей на платформе. Приложение также должно иметь возможность загружать, хранить, редактировать и передавать большие файлы данных.
Компоненты для рассмотрения:
- Базы данных для управления пользовательскими данными (SQL, MySQL)
- Хостинг видео и изображений
- Контроль конфиденциальности и возрастные ограничения
- Функции взаимодействия (подписка, лайк, комментирование, обмен)
- Запись данных о производительности видео
- Алгоритм ранжирования и рекомендаций
- Push-уведомления и анонсы
- Функционал видеоплеера
Разработка службы сокращения URL-адресов
Разработайте службу сокращения URL-адресов, которая возвращает короткий и уникальный URL-адрес, когда пользователь вводит длинный URL-адрес. Такие приложения, как TinyURL и bit.ly, являются примерами этого сервиса. Однако многие другие технологические компании, такие как YouTube , также имеют свои собственные службы сокращения URL-адресов, встроенные в их функции.
Компоненты для рассмотрения:
- Генерация уникального и короткого URL
- Масштабируемость для обработки тысяч запросов
- Функционал для перенаправления с короткой ссылки на оригинал
- Поддержка пользовательских URL-адресов
- Аналитика и отслеживание кликов
- Высокая доступность и время безотказной работы
Разработка службы хранения и обмена файлами
Разработайте службу размещения файлов, которая позволит пользователям загружать, хранить, редактировать, загружать, совместно использовать и удалять файлы. Сервис должен обеспечивать синхронизацию между различными устройствами. Примеры этой службы включают Dropbox и Google Drive.
Компоненты для рассмотрения:
- Функции управления файлами (загрузка, просмотр, скачивание)
- Автоматическая синхронизация между устройствами
- Свойства ACID для транзакций базы данных
- Общий доступ к файлам и отслеживание разрешений
- Функция поиска для поиска файлов
- Хранение больших файлов
Вопросы по программированию на конкретном языке
Большинство вопросов по кодированию не относятся к конкретному языку программирования, что позволяет программисту писать код на выбранном им языке. Однако на некоторых собеседованиях по кодированию будут вопросы, проверяющие определенный язык, требуемый ролью.
С
Напишите функцию int max_of_four(int a, int b, int c, int d), которая считывает четыре аргумента и возвращает наибольший из них. В C нет встроенной функции max. Код, который будет повторно использоваться, часто помещается в отдельную функцию, например, int max(x, y), которая возвращает большее из двух значений. Входные данные будут содержать четыре целых числа — a, b, c, d — по одному в каждой строке. Примечание. Ввод-вывод будет обрабатываться автоматически.
Джава
Учитывая целое число n, выполните следующие условные действия:
Если n нечетно, выведите Weird
Если n четно и находится в диапазоне от 2 до 5 включительно, выведите Not Weird
Если n четно и находится в диапазоне от 6 до 20 включительно, выведите Weird
Если n четно и больше 20, выведите Not Weird
Формат ввода: одна строка, содержащая положительное целое число n. Ограничения: 1 <= n <= 100.
Руби
Вызовите метод coder.practice до тех пор, пока coder.oh_one? становится правдой. Используйте структуру управления until. пока не является логическим эквивалентом пока нет. Эта задача имеет однострочный ответ.
Вопросы по управлению базой данных
Ниже приведены примеры проблем с базами данных, с которыми инженер-программист может столкнуться во время технического собеседования. Все эти вопросы проверяют навыки работы с SQL и реляционными базами данных.
Печать простых чисел
Напишите запрос для вывода всех простых чисел, меньших или равных 1000. Выведите результат в одну строку и используйте символ амперсанда (&) в качестве разделителя (вместо пробела).
Например, вывод для всех простых чисел <= 10 будет таким:
2&3&5&7
Новые компании
Корпорация-конгломерат Эмбер только что приобрела несколько новых компаний. Каждая из компаний следует этой иерархии: Основатель → Ведущий менеджер → Старший менеджер → Менеджер → Сотрудник.
Учитывая приведенные ниже схемы таблиц, напишите запрос для вывода кода компании, имени основателя, общего числа ведущих менеджеров, общего числа старших менеджеров, общего числа менеджеров и общего числа сотрудников. Упорядочите выходные данные по возрастанию company_code.
Таблицы могут содержать повторяющиеся записи. Код компании является строкой, поэтому сортировка не должна быть числовой. Например, если company_codes — C_1, C_2 и C_10, то возрастающие company_codes будут C_1, C_10 и C_2.
Станция наблюдения за погодой
Рассмотрим P1(a,b) и P2(c,d) как две точки на двумерной плоскости.
- a оказывается равным минимальному значению в северной широте (LAT_N в STATION).
- b оказывается равным минимальному значению западной долготы (LONG_W в STATION).
- c оказывается равным максимальному значению в северной широте (LAT_N в STATION).
- d оказывается равным максимальному значению западной долготы (LONG_W в STATION).
Запросите Манхэттенское расстояние между точками P1 и P2 и округлите его до 4 знаков после запятой.
Таблица STATION описывается следующим образом:
где LAT_N — северная широта, а LONG_W — западная долгота.
Нетехнические вопросы для решения проблем на собеседовании
Технические навыки — не единственная компетенция, необходимая для инженера. Инженеры-программисты решают сложные задачи, сотрудничают с другими инженерами и общаются с нетехническими заинтересованными сторонами. Чтобы преуспеть в инженерной роли, новые сотрудники должны обладать сильными навыками решения проблем, которые выходят за рамки технической сферы. Команды, которые хотят нанять разносторонних инженеров, должны задавать вопросы, которые проверяют нетехнические навыки решения проблем, включая мозговой штурм, планирование ресурсов и разрешение конфликтов.
Учитывая проблему выбора нового инструмента для инвестирования, с чего и как бы вы начали эту задачу?
Key Insight: Этот вопрос дает представление об исследовательских навыках кандидата. В идеале они должны начать с определения проблемы, опроса заинтересованных сторон, сбора информации от команды и изучения существующих инструментов для наилучшего решения задач и целей команды.
Вы когда-нибудь распознавали потенциальную проблему и решали ее до того, как она возникла?
Ключевой вывод: профилактика зачастую лучше, чем лечение. Способность распознать проблему до ее возникновения требует интуиции и понимания потребностей бизнеса.
Расскажите мне о случае, когда вы использовали уникальный подход к решению проблем.
Ключевой вывод: креативность может проявляться по-разному, включая оригинальные или новые способы решения проблемы. Такие методы, как 10-кратный подход и обратный мозговой штурм, представляют собой пару уникальных подходов к решению проблем.
Наше ИТ кадровое агентство предлагает вам найти разработчиков менее чем за 2 недели. Свяжитесь с нами сегодня, чтобы узнать больше о том, как мы можем помочь масштабировать ваш следующий проект до новых высот. Мы гарантируем поиск самого сильного, а не самого дорого кандидата. За 10 лет в подборе it специалистов, мы закрыли 5500+ вакансий и собрали 25+ команд с нуля. Убедитесь сами и ознакомьтесь с отзывами клиентов о нашем рекрутинговом агентстве! Нужно больше референсов? Напишите нам в телеграмм.