Как подготовиться к раунду кодирования и технического собеседования?

Опубликовано: 4 Января, 2022

Я начну с краткого представления о себе.

Я получаю степень бакалавра в области компьютерных наук в NIET, Greater Noida, и я студент 3-го курса. В настоящее время я стажируюсь в SAPIO ANALYTIC в качестве младшего специалиста по базам данных.

Я начал с соревновательного программирования в 2-1 (2-й год, 1-й семестр). Так что у меня было около 1,5 лет опыта в соревновательном программировании, пока я сидел на тестовых экзаменах. Наличие сильного опыта в соревновательном программировании действительно спасает вашу задницу, в то время как другие продолжают читать GeeksforGeeks, чтобы подготовиться.

Как пройти собеседование и получить достойную работу?

Итак, организации скоро придут во многие колледжи и проведут свои тесты для отбора. Теперь я буду говорить очень коротко и по существу. Каждый пункт важен.

Базовый набор навыков (BSS):

  1. Быстрая реализация и отладка (практические вопросы по codeforces, hackerrank, участие в конкурсах)
  2. Соответствие строк (важно, KMP, Z-алгоритм и т. Д.)
  3. Двоичный поиск, сортировка, STL (наборы, карты, неупорядоченный набор / карта, вектор, сортировка) - очень-очень-очень полезно
  4. Структуры данных: (связанные списки, стеки, очереди, полезный BIT, дерево сегментов - спрашивается в Google)
  5. Динамическое программирование: очень важно (задачи среднего уровня, спрашивают все компании)
  6. Бинарные деревья и BST: очень важно! (Об этом спрашивают все компании)
  7. Вопросы DFS / BFS по графам (Dijsktra и потоки задаются редко)
  8. DP на деревьях (да, важная тема)
  9. Жадный, возврат: (важно, может быть сложно)
  10. Математические концепции, такие как Prime Sieve: не так уж и важны
  11. Bitmask DP: Иногда спрашивают в интервью, расскажем позже.

Я думаю, что этого достаточно, чтобы пройти большинство тестов. Хотя всегда есть много других тем, которые можно обсудить, но я бы посоветовал не перегружаться и сосредоточиться на них в первую очередь. Когда вы будете готовы к этим основам, вам следует перейти к изучению других структур данных и алгоритмов. Узнав больше и подробно, вы всегда будете более интересными и интересными.

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

Люди, которые не делают КП, должны немедленно сделать следующее:

  1. Необходимо улучшить реализацию, навыки отладки.
  2. Изучите базовый набор структур данных и алгоритмов, как указано выше.
  3. Начните с выполнения всех 37 задач на GeeksforGeeks в категории массивов.
  4. Перейдите к DP на GeeksforGeeks.
  5. Для наборов, карт я думаю, что проблемы на CodeForces, как я упоминал выше, будут лучше.
  6. Обсудите другие темы, такие как жадные, DFS / BFS от GeeksForGeeks.
  7. Связанный список, бинарные деревья и их обходы. (Важный!)

Это займет около 2 недель. Я не думаю, что люди, которые постоянно занимаются CP, столкнутся с необходимостью создавать связанные списки, стеки и т. Д. От GeeksforGeeks. Но хорошо, если вы быстро бегло прочтете.

Что дальше?

Теперь начните с интервью и решите проблемы там, чтобы вы ознакомились с вердиктами, такими как WA, AC и т. Д., А также как реагировать в случае TLE или WA. Это улучшит ваши навыки реализации и отладки. Это явно поможет вам понять различные концепции, такие как DP, деревья и т. Д.

Вы также должны участвовать в текущих испытаниях на таких сайтах, как CodeChef, CodeForces, Hackerrank и т. Д. Как только вы станете стабильно синим на CF около 1700, вы можете легко пройти тесты набора. Тогда все, что вам нужно сделать, это освежить свои навыки объяснения, чтобы вы могли также пройти раунды собеседования.

Примечание: скорость важна. Часто люди не могут правильно реализовать алгоритм через 10-15 минут. Это действительно тебя выключит. Так что продолжайте практиковаться каждый день!

Советы по тестированию набора:

  1. Быть быстрым. Не ждите, пока найдете решение.
  2. Если вы не знаете, что делать, переходите к следующему. Сначала решите все, что несложно.
  3. В конце концов, ВСЕГДА предлагайте наихудшее решение для перебора, независимо от сложности. ДА! Тестовые примеры во много раз слабые, и вы получаете довольно высокий балл.
  4. Вы должны быть знакомы со встроенными функциями Python, включая комбинаторику, перестановки и строковые функции. Это может оказаться очень полезным
  5. Этот совет больше носит личный характер. В одном из тестов я получил только 25. Я вскоре понял, что условия цикла for не верны, и просто печатал 0. Когда я исправил это, я получил 75 баллов. Да! Поэтому мне нужно было в основном увидеть, что если я получаю WA в каком-то тестовом примере, мне нужно вывести там 0. Наконец, я использовал бинарный поиск по значениям переменных (размер массива, первый элемент массива), чтобы идентифицировать эти тестовые случаи, и просто напечатал 0. В основном то, что я делал, использовало бесконечный цикл while с некоторым условием, например 100 <n и n <500, так что я получил вердикт TLE и смог выяснить те тестовые примеры, в которых я получал WA.

Советы для собеседований:

  1. Быть скромным. Не поддавайтесь ни тени самоуверенности или высокомерия.
  2. Никогда не сдавайся. Если заданная проблема на первый взгляд кажется сложной, не теряйте уверенности. Посмотрите, что вам дано, что вам нужно найти, и попробуйте сделать это для небольших тестов. Тогда, может быть, вы найдете выкройку.
  3. Говори так, как думаешь. Не пишите на бумаге просто так. Сообщите интервьюеру, как вы решаете проблему.
  4. Если проблема кажется сложной, дайте решение грубой силы и ее сложность. Затем попробуйте оптимизировать его, возможно, используя динамическое программирование или какое-нибудь жадное решение.

Не думайте, что у вас нет времени

Просто начни уже делать! Не стесняйтесь писать свои запросы, я всегда готов помочь

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