admin 11 февраля 2017

Стандартные задачи на собеседовании

Хочешь уверенно проходить IT-интервью?

Готовься к IT-собеседованиям уверенно с AI-тренажёром T1!

Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.

💡 Почему Т1 тренажёр — это мастхэв?

  • Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше
  • Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
  • Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.

Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов!

Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy


Часто начинающие программисты получают задачи при приёме на работу. Предлагаем вашему вниманию сборник стандартных вопросов, задаваемых на собеседовании.

Я как человек, который часто ходил на собеседования на протяжении предыдущего года, чаще всего на позицию интерна в компании, занимающиеся разработкой ПО, хочу разделить все заданные мне вопросы на две категории: задачки "на подумать" и алгоритмические задачи.

Однако большинство собеседований, которые я проходил, не включали в себя вопросы первой категории. Практически все компании, в которые я шёл, были компаниями-гигантами, и большая часть вопросов приходилась на задачи на знание алгоритмов.

Задачки "на подумать".

  • Вы играете в игру, где вы можете бросить кость 3 раза. Если вы вдруг решите выйти из игры, вы получите число монет, равное числу на кубике после последнего броска. Каково наиболее вероятное максимальное число монет, которое вы можете получить?
  • Если вы бросите яйцо с этажа, номер которого больше N в стоэтажном здании, оно разобьётся. Вам нужно найти N, постепенно уменьшая число бросков, после которых яйцо разобьётся, учитывая то, что у вас всего два яйца.
  • Сколько на Земле таких мест, отойдя от которых на одну милю в сторону юга, одну милю в сторону востока и одну милю в сторону запада, вы вернётесь туда, где начали?
  • Допустим, у вас есть ряд цифр. Найдите сумму всех чисел с N числом цифр, каждая цифра которых принадлежит вашему ряду чисел.

Алгоритмические задачи.

  • В матрице размерами N * M, состоящей из чисел от 1 до N * M, найдите путь из верхнего левого угла в правый нижний угол, двигаясь только вправо и вниз, так, чтобы сумма чисел на этом пути минимальна. Учитывайте то, что каждое число в матрице встречается лишь единожды.
  • Дано число N типа float, найдите его квадратный корень.
  • Имея монеты разного достоинства, найдите минимальное число монет, необходимых, чтобы составить сумму. Любая монета может встречаться любое количество раз.
  • Есть строка S и ряд символов. Найдите наименьшую подстроку в строке S, которая содержит в себе данный ряд символов.
  • У вас есть неотсортированный массив, в котором каждый элемент находится на дистанции в максимум K мест от своего правильного места в отсортированном массиве. Отсортируйте его.
  • У вас есть бинарное дерево. Проверьте, является ли оно бинарным деревом поиска.
  • Найдите число чёрных связанных элементов в чёрно-белой матрице. А что, если матрица трёхмерная?
  • Допустим, у вас есть N отсортированных массивов, найдите K-ый наименьший элемент.
  • У вас есть 4 строки, которые вы можете переставлять любым способом. Ваша задача - сделать максимально длинным наибольшую общий префикс после всех перестановок.
  • Есть N точек на 2-мерной плоскости. У каждой точки есть цвет R, B, G. Ваша задача - найти треугольник наибольшей площади с данными точками, чтобы одна из сторон треугольника была параллельна к одной из осей и на каждой вершине точки были разного цвета.
  • Найдите триплеты в данном массиве, сумма чисел в которых равна нулю.
  • Строка a2b3c5 после разжатия становится строкой aabbbccccc. Сожмите данную вам строку S.
  • Сделайте клон связного списка.
  • Сделайте клон графа в форме списка смежности.
  • Переверните связный список.
  • У вас есть программа, написанная на Python. Найдите строку, в которой возникнет Indentation error.
  • Допустим, у вас есть словарь и список строковых запросов. Для каждого запроса верните строку из словаря, которая анаграмма запросу.
  • У нас есть список целых чисел. Найдите в нём медиану. Реализуйте функцию, которая добавляет новый элемент к этому списку, при этом считаю новую медиану.

Заключение

Хоть я и решил многие задачи, некоторые так и остались для меня нерешёнными, что не дало мне возможности попасть ни в одну заграничную команию.

Если вы зашли на эту статью, если вы интересуетесь подобными задачками, я полагаю, что ваша задача - подготовиться к подобному собеседованию. И несмотря на то что, казалось бы, я ответил на ваш вопрос, я хочу дать вам ещё дельный совет: заходите на сайты вроде glassdoor, geekforgeeks и решайте задачи, читайте бесчисленное количество блогов, разбросанных по Интернету, каждый из которых может помочь вам и дать бесценный опыт. Вы не выучите все возможные варианты задач, однако ваша главная цель - научиться решать их самостоятельно, а не вспоминать ответ судорожно на собеседовании.

В качестве дополнительного материала могу предложить вам InterviewBit.com. Информация на сайте структурирована, и вы почувствуете, что у вас есть собственный тренер.

Другие статьи по теме

Собеседование на должность программиста: вопросы по алгоритмам

Как получить работу мечты

Как попасть на собеседование в компанию мечты

Комментарии

ВАКАНСИИ

Добавить вакансию
Hotel Search Team Lead (Golang)
по итогам собеседования
Golang-разработчик
Пермь, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ