Как ответить на вопрос о кодировании в интервью?

Опубликовано: 11 Сентября, 2021

Многие раунды технических собеседований сосредоточены на вопросах кодирования. Вам дают ручку и бумагу и просят предложить алгоритм решения вопроса, а затем код. Вот общее руководство, как ответить на такой вопрос.

1. Уточните формулировку проблемы:
Первое, что нужно сделать, это уточнить постановку проблемы. Важно четко понять проблему, прежде чем пытаться ее решить.

Например: в интервью меня спросили: какова вероятность получить три решки, если монета подброшена три раза.
Многие студенты ответили 1/8 и не смогли пройти в следующий раунд только потому, что задали неправильные вопросы.
Как можно ответить на этот вопрос, не зная, предвзята монета или нет? Очень важно, чтобы вы задавали правильные вопросы.

2. Ограничения
Как только вы уясните себе формулировку проблемы, вам нужно спросить, есть ли какие-то особые ограничения, которых вам нужно придерживаться.

3. Наблюдения
С любой проблемой связано какое-то своеобразное поведение. Вы можете попробовать несколько примеров и перечислить все свои наблюдения. Помните, что вам нужно прямо рассказать интервьюеру обо всех своих наблюдениях.

4. Подходы: о чем вы думаете?
Это самая важная часть всего процесса собеседования. Если вы сделаете эту часть правильно, велика вероятность, что вы пройдете через раунд. Что заставляет вас думать, что вам нужно подойти к проблеме с помощью динамического программирования, поиска с возвратом или любого другого алгоритма в этом отношении? Интервьюеру необходимо знать, почему вы отказались от одного подхода к проблеме и выбрали другой. Попробуйте связать различные концепции, которые вы изучили, и постепенно начните их исключать.

Если вы планируете использовать структуру данных для решения проблемы, укажите причину, по которой вы решили это сделать. Если вы застряли, попробуйте метод грубой силы. Это сработает для большинства проблем. Когда вы закончите сужать подход и думаете, что у вас есть решение, обсудите его с интервьюером. Если интервьюер предлагает что-то иное, изящно примите это и начните думать в этом направлении. Не будьте жесткими в своем подходе.

5. Крайние случаи и контрпримеры
Как только вы будете уверены в том, что это конкретное решение, убедитесь, что вы проверили свой подход для всех крайних случаев.

6. Написание кода:
Убеждаться:
а. Ваш код читаем.
б. Вы указываете комментарии в своем коде
c. Перед тем, как показать интервьюеру, запустите свой код всухую с несколькими примерами.

Имея в виду эти шесть вещей, я почти уверен, что вы справитесь с собеседованием по кодированию. Однако эти предложения не сработают, если вы плохо разбираетесь в структурах данных и алгоритмах. Итак, решайте проблемы на Geeksforgeeks, усердно работайте, и вы попадете в компанию своей мечты.

Эта статья предоставлена Анкит Джайн . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию . Если вы готовы, проверьте свои навыки с помощью серий тестов TCS, Wipro, Amazon и Microsoft.