Существует свод обычных вещей, который должен знать программист или хотя бы иметь представление о них.
То, что вы хороший разработчик и специалист в своей области, не всегда означает, что вам удастся успешно пройти собеседование. Несмотря на то, что вы можете скрупулезно в течении недель и месяцев решать возникающие проблемы с программным обеспечением, на собеседовании это работать не будет. Вам нужно знать о ряде мелких, основных проблем, по которым задаются стандартные вопросы, и четко называть их решения.
Кроме того, стоит помнить о том, что люди, которые проводят собеседования в большинстве случаев не столь образованы в этой сфере как вы. Они знают примерные или обобщенные ответы, которых и ждут от вас. Поэтому вы должны быть готовы к тому, чтобы отвечать именно таким образом, которого требует от этого человек напротив вас. Помните, что прохождение собеседования – это тоже навык. И, как и любое умение он может быть освоен, доработан и отточен. Главное знать, в каком направлении двигаться.
Энтузиазм во время собеседования
Энтузиазм играет одну из главных ролей в выборе кандидата на собеседовании. Прилична половина потенциально хороших специалистов, которые знают свое дело и умеют показывать качественный результат отсеиваются из-за того, что не проявляют интереса к тому, чем занимается компания.
Компании нужно знать, что вы действительно интересуетесь вакансией, рабочими процессами и тем, что в итоге производит фирма. Они хотят видеть вашу мотивацию и заинтересованность в общем деле, именно это дает наилучший результат во время работы. Перед тем как идти на собеседование, тщательно изучите компанию и держите в голове мысли о том, почему вы хотите именно в эту фирму.
Терминология
Преимущественное большинство вопросов на собеседовании относится к алгоритмам и структуре данных. Экспертом быть не обязательно, но иметь в голове знания о подобных терминах стоит иметь:
- Бинарный поиск
- Связанные списки
- Big-O анализ
- Двоичное дерево поиска
- Поиск в глубину и ширину
И в зависимости от вашего опыта работы или образования список может как ввести вас в заблуждение, так и оказаться «банальным и простым».
Используйте помощь интервьюера
Многие люди, которые проводят интервью с кандидатом умышленно или нет стараются помочь ему. Давая намеки, наводящие вопросы или небольшие подсказки. Делают так, конечно, не все. В таком случае вам, как кандидату стоит помнить о том, что можно задавать дополнительные и уточняющие вопросы, обговаривать на прямую решение той или иной проблемы, рассказывать об оптимизации процессов.
Различные варианты решения задания
Порой во время беседы на интервью вас могут спросить о сложной задаче или системе. О том, как бы вы её представляли и какие варианты решения приняли бы для разработки. Не стесняйтесь заявить о том, что для разработки сложных и специализированных систем нужен опыт и знания конкретно в применяемой области. Тем не менее, минимальный ряд вариантов составления системы вы должны освоить, к нему относится:
- Воркеры и система распределения
- Система балансирования нагрузки
- Работы с кэш
- Доставка контента посредствам сети
- База данных
- НТТР
Вам стоит не только заучить их, но и иметь маломальское понимание их, и области применения. Выучите функционал взаимодействия и формирования реальной системы. Одним из лучших способов изучения данного вопроса станет ознакомление с работами других разработчиков, которые внедряли данный функционал в свои проекты.
Динамические языки
Статистика гласит, что люди которые принимают у вас собеседование чаще предпочитают языки С++ и Java. Конечно, вы можете акцентировать внимание на том, что для вас ближе всего. Но, по каким-то причинам преимущественное большинство людей, которые проводят интервью желают от вас услышать знания в выше указанных инструментах.
Кроме того, не забывайте о том, что вне зависимости от того, какой язык для работы вы выбрали «основным» стоит всегда упоминать о других инструментах и языках программирования, с которыми вы работали ранее, или те что известны вам в целом. Если вы знаете лишь один язык – будьте уверены, что такого крутого специалиста как вы компания более не найдет. Узкопрофильные специалисты в области разработки программного обеспечения должны быть настоящими профессионалами своего дела и экспертами выбранного языка. Зачастую вам придется придумывать решения, которые не предназначены для вашего инструмента, и адаптировать их под конечный функционал продукта.
Напомним, недавно у нас на сайте появилась статья, о наиболее популярных языках программирования в 2020 году. Полезна информация для тех, кто решил делать первые шаги в направлении разработок. Кроме того, узнайте почему язык программирования php настолько хороший. Плюсы и минусы инструмента позволят определиться с тем, стоит ли применять его на практике.
Оригинал статьи на нашем сайте: https://h-it.ru/chto-nuzhno-znat-chtoby-proyti-sobesedovanie-na-rabotu-programmistom