Как решать задачи на программирование во время собеседований
Vložit
- čas přidán 26. 07. 2024
- Сайты для тренировки навыков решения задач на кодирование:
leetcode.com/
www.hackerrank.com/
www.codewars.com/
0:00 Вступление
1:25 Какие задачи дают на интервью
1:58 Как решать такие задачи?
2:32 ШАГ 1 | Понять задачу
4:01 ШАГ 2 | Решение в лоб, полным перебором
4:52 ШАГ 3 | Улучшить решение
6:46 ШАГ 4 | Пройти по примеру, применить алгоритм в уме
6:55 ШАГ 5 | Написать псевдокод
7:08 ШАГ 6 | Написать код
7:54 ШАГ 7 | Подумать о крайних случаях
8:20 ШАГ 8 | Написать тесты
8:33 ШАГ 9 | Оценить сложность
9:08 ШАГ 10 | Написать комментарии
9:28 ШАГ 11 | Подумать, как улучшить алгоритм
9:40 Советы
t.me/devworden - наш телеграм-чат, где можно задать вопросы
discord.gg/7B4prKBxkZ - Discord-сервер с каналами по разным языкам программирования
Мой микрофон: ya.cc/aAXRs
Моя камера: ya.cc/WEPvP
Мой рабочий компьютер: ya.cc/WEQGr
Ссылки партнерские, я могу получить вознаграждение, если вы купите что-то, перейдя по этим ссылкам.
Когда изучал программирование, много времени проводил на app.codesignal.com/ сайт почему то реже упоминают и хочется его тоже порекомендовать
- как решать задачи? - у меня нет ответа, надо догадаться.
очень помогло, спасибо )
Codewars шикарен. Надолго там залип в свое время, но потом почему-то забросил. Оооочень хорошо помогает в подготовке к тестовым заданиям на собеседованиях.
@@intalok я когда-то залипал в hackerrank. Есть весьма сложные задачи.
В начале самостоятельного обучения был на 6-7 кате, изучал тогда питон. Потом забросил, нашел новый путь, изучаю JS (спустя 2 года после питона). За 2 дня дошел до 4 каты.
Хорошо набивает "руку", если есть проблемы с запоминанием синтаксиса языка
Тестовые задания это трудовые отношения.
Как правило там спрашивают накодить дичь и посчитать сложность, которая никогда не будет вами использована в работе.
Довольно часто собеседования проводят люди, которым важнее самоутвердиться задав какой-то супер вопрос, который они сами не знают и нагуглили 10 минут назад.
Поэтому самый правильный ответ на большинство вопросов "посмотреть в справке" и "пошел на х*й", если на собеседовании начинается дичь то не надо туда устраиваться.
@@KazakovNik Именно так. Никакого отношения задачки к программированию не имеют, всё в жизни либо гкуглится либо решается готовыми функциями. А вот обсудить опыт подходы к проектированию и тд это инетересно.
И задизморалиться, когда кандидат на изичах даёт ответ 😄
ну в работе часто используется вершина айсберга, но без фундамента не будет это вершины
Вау, очень круто объясняете, аж захотелось выучить побольше алгоритмов и самому пробежаться по собеседованиям! Делайте побольше таких видео с решением задачек, очень интересно и позволяет взглянуть на все эти скучные алгоритмы под другим углом.
Всем привет.
Алексей, спасибо за видео!
Спасибо вам за огромную помощ:
Крутой видос. Спасибо, Лёша!
Спасибо, полезная информация.
Спасибо, Леша!
Лёша спасибо тебе от души
Спасибо большое!
Спасибо Алексей
Столько в комментариях собралось продвинутых программистов и автор крут, а никто не сказал что предложенное решение совсем не оптимально и требует O(n) памяти и 2 прохода. В то время как оптимально её решить в 1 проход и O(1) памяти. Идём по массиву и считаем кол-во 1 или 0, запоминаем длину 3 последних последовательности единиц и нулей. Как кончились 1цы, количество суём в стек, и теперь считаем нолики, и наоборот. После каждого перехода анализируем стек, если есть решение лучше текущего, то заменяем лучшее. "Стэк" здесь - это 3 переменных. Сумбурно, но как-то так.
Спасибо, интересные советы
Спасибо Лёша Корепанов. :) С вашими рекоммендациями я согласен и могу рекомендовать ваши видео своим друзьям которым эта информация может оказаться полезной.
Лёша Вы Супермэн
Спасибо за видео, Алексей, очень хорошо и информативно подано.
Только вот я, находясь в самом начале пути программиста, смотрю ролик и что-то приуныл. Я даже условие примера задачи не до конца понял(
И тут я понял, что собеседование на Джуна пройти нереально.
Я тоже так думал отказали да хуй сними серавно рано или поздно примут другом месте)
@@user-zn8bz6qb4i не мытьем так катаньем)
В начале карьеры я таких бесполезных и сложных вопросов навидался, даже не из области программирования, что сразу нафиг игнорить можно такие компании.
В данном случае речь идет о мидлах и выше!
@Light Silverful не совсем понимаю смысл. Достаточно пары задач на алгоритмы, чтобы понять, а умеет ли собеседуемый вообще думать, и способен ли он дойти до приемлемого решения без подсказок.
Такие задачи всё же нужны, чтобы отсеять совсем овощей. Но нет смысла гонять по ним много.
Интересно👍
Ребятки этот пост специально ОТ тех, кто уже давно работает, ТЕМ кто только хочет начать. Поделитесь опытом, что вам нужно было чтобы получить первую работу?
Начну с себя. Я нашел компанию в которую бы хотел пойти работать, опыта программистом не было, дали тестовое задание, которое я делал неделю, я его сделал, вызвали на собеседование. На собеседовании я ответил где-то на 60% вопросов, по тестовому заданию сказали, что сделано нормально но есть ошибки(конечно есть я тогда еще не был даже джуном) ну и взяли на работу). Всем удачи надеюсь вам это может помочь ;)
2 месяца проходил собеседования, делал тестовые. До тех интервью дело не доходило. Пока делал тестовые, чутка прокачался и всё-таки попал на оплачиваемую стажировку. Платили столько, что мне хватало только на оплату жилья и еду, после работы с хорошей зп было сложно. После стажировки меня взяли на испытательный срок и подняли зп в 2 раза. Но с испытательного срока выгнали, так как темпы роста я сбавил. После этого я нашел работу за 2 дня и 1 техническое собеседование, зарплата выросла ещё в 1,5 раза. Теперь вот думаю уходить с текущей компании или просить повышение зарплаты.
Попасть в ИТ очень сложно, но при желании и должном усилии все получится рано или поздно. Главное руки не опускать
Работаю чуть больше года в своей первой IT компании. Компания каждые пол года проводит стажировки (оплачиваемые) длинной в 3 месяца на различные позиции, на которую я и попал. Лерическое отступление - я закончил ИВТ и какое никакое понимание программирования у меня было, в частности js. За 2 месяца до начала отбора на стажировку я впервые взялся за свой первый фраймворк - react и написал на нем пару чисто фронтенд приложений. Затем написал hr компании и прошел тех собес. 3 месяца провел на стажировке и по итогу мне предложили позицию джуна на испытательный срок в 3 месяца и после этого уже взяли окончательно, вот такой вот путь)
Мой первый шеф пришёл к нам в ВУЗ в далёком 2003 году и предложил поработать. Всем желающим. Компания была небольшая, но я прошёл даже не программистом (учился на 3-ем курсе), а тестером... Никаких тестовых задач вообще не решал - просто беседа с шефом и двумя будущими коллегами. Взяли таки тестером на полставки (обязательное условие с моей стороны - учёба на дневном ограничивала), с обязательным переходом в программисты, когда пойду на полную. Через неполный год - доверили написать первую либу на С++ и предложили позвать кого-нить из знакомых на моё место тестером... и понеслось.
По моему, это самая классная модель поведения бизнеса: бизнес приходит в ВУЗ на старшие курсы, берёт нубов, "сколько унесёт" и начинает готовить профов "под себя".
На первом нормальном собесе попросили за час накидать веб приложение на аспмвс (C#) + базу с парой таблиц, и вывести данные из джоина таблиц на страницу. Успел накидать всю серверную часть и базу, не успел до конца вывод сделать, сьели и так. Потом был какой-то письменный тест как в школке на тему знания среды разработки и каких-то базовых вещей. Взяли. Это был конец 2016.
Второй собес был в начале 2018, проходил удаленно, попросили сделать опять же какую-то простенькую задачу на джоины в БД, все остальное было в виде разговоров на 2х отдельных интервью (на одном показывал код). Тоже взяли.
Алгоритмических задач мне не давали вообще ни на одном собесе, возможно в те времена не принято было еще так. В основном смотрели все таки на знание языка и технологий, структуры уже на втором месте. Почти на каждом собесе был какой-то тест по знанию языка и среды, включая те, куда не пошел. Но нужно уточнить, что первая контора была галерой с высокой текучкой, а вторая маленькой компанией с небольшим количеством почти бессменных разрабов, так что качество собесов и там и там хромало, в норм контору меня со знаниями того времени скорее всего не взяли бы.
Если в общем описывать, по моему опыту и опыту знакомых алгоритмические задачи в ру сегменте если и дают, то крайне простые, просто чтобы увидеть, что человек хоть что-то способен руками написать без копипасты с гугла. Например соединить элементы массива через запятую, найти кол-во повторений слова в тексте и тд. Основной упор делается на знание среды и языка, плюс технологий по проекту.
Когда leetcode и прочее надоест, советую переходить на более хардкорные ресурсы, например на spoj и codeforces. На leetcode и аналогах задачи рафинированные, очищенные от этапа перехода между предметной областью и описанием в виде структур данных. В 99% случаев из постановки задачи на leetcode уже сразу видно какие структуры данных и наборы алгоритмов надо использовать. Олимпиадные задачи в этом смысле более интересны.
Сначала разбил бы на масив split(0)
Затем бы удалил бы все нули с всех получившихся элементов. И потом каждый элемент перевёл бы в int, сравнил всех нашел самый большой 111111 , и потом либо удалением с цыклом получился длинну, либо деление по модулю:)
Лучший способ решения задач на интервью это не решать никакие задачки, это всё не имеет к программированию никакого отношения. Вот вообще, с тем же ровно успехом можно боксёрский поединок провести. Наличие задачек на собеседовании отличный детектор помойной компании в которой нет смысла работать
все фангоподобные компании и многие стартапы спрашивают задачи, их никак помойными не назовешь
@@fiddlersgreen2433 они именно что левацкие помойки, производящие дристню оптом
@@radiofedor видимо вас туда не взяли вот у вас и бомбит. Эти компании делают самый полупялрные продукты в мире, придумывают самые лучшие модели в AI например, делают наиболее технически продвинутые инженерные платформы. И да - еще они берут лучших инженеров и плятят им в разы больше чем остальыне. Туповатым нищебродам котрые не могу решить простенькие алгоритмическиеп задачи только и остается что писать что эти все интервью не правильные. Плачь больше
"Сложность по использованию памяти спрашивали редко"
Так вот, почему хром на каждую вкладку сжирает под сотню мегабайт.
да все норм... памяти много не бывает.... докупить всегда можно :D
Проходил собеседование, дали задание на листочке написать функцию которая вернет максимальное вхождение подстроки, обычно на решение таких задач у меня уходит 15-30 мин. Я спросил у интервьера "Сколько времени на решение", он ничего не ответил а просто улыбнулся, ну как я понял по его физиономии столько времени ждать он не хотел, в итоге я запорол задание, потратил минут 7, но мне все ровно предложили вакансию, т.к. шел я в правильном направлении по решению задачи, кому интересно от вакансии отказался
Поставить лайк не попросил, а я поставил!
🔥🔥
Привет вам!)
Про безопасность что нибудь плз!
какую безопасность, ты куда собрался?
@@Alex-gn6xb наверное в кибер безопасность, аля антивирусные компании или что то подобное, где много расследований, реверс инженеринга и т.д..
@@thetraveler7779 а не все ли равно в чем бизнес , если ты кодить будешь , а не с бизнесом общаться)
справедливости ради надо сказать что работая в фанге все таки попадаются в работе задачи когда нужно решить именно алгоритмические задачи в том числе на динамическое программирование.
Интересно
Это великолепно. А Вы вкурсе, что неправильно прочли условие задачи и решили вообще аблютно задачу другую?
Решал подобную задачу с modbusTCP устройством переставлял биты данных чтоб корректно вывести получаемое значение
Последний раз в жизни писал код в качестве теста еще в универе лет 20 назад. Никому после этого даже не приходило в голову проверять мои навыки написания кода. Самое близкое на трудоустройстве после универа - вопросы в духе "что делает этот код?" или "в чем ошибка в этом коде?".
это вы не собеседовались в иностранные компании, там почти все решают тестовые задачки
Да, программировать и уметь проходить собеседование - это две разные вещи)))
Прикол в том что если научиться профессионально проходить собеседования можно даже устроится без опыта работы и наоборот с хорошим опытом работы но без умения проходить собеседования можно долго искать работу и даже ничего не найти.
Знаю людей которые устроились так в гугл или вейсбук или амазон не имея вообще никакого опыта в реальных проектах. Но зато годами сидели и решали задачки по олимпиадному программированию плюс учили много теории по архитектуре приложений и вауля получают работу в одних из топовых айти компаний в мире
Мне всегда помогала честность. Просто честно говоришь, что знаешь, чему готов научиться, а также то, чем не хотел бы заниматься ни в коем случае.
Подскажите пожалуйста почему у меня на stackoverflow показывает всего 700 вакансий на весь мир?.. Если выбрать какой-то город, то их там штук 20...
Не все вакансии публикуются на stackoverflow. Во многих странах работников нанимают через нетворкинг, то есть по рекомендации коллег. 80% вакансий даже не публикуют. Берут по знакоству
Приходишь на интервью - тебя гоняют по олимпиадным задачкам.
Начинаешь работать и оказывается, что тебе нужно писать интеграции, налаживать CI/CD, переводить требования с человеческого на технический и грамотно построить архитектуру, чтоб всё поехало, масштабировалось и нормально поддерживалось.
Так вот вопрос: к чему вообще эти задачки? Или это просто костыль от непонимания что спрашивать?
Да, видимо это считается самым простым способом выяснить, насколько хорошо человек программирует. И мне тоже кажется, что это не лучший спасоб.
@@aocore, вот видео в тему: czcams.com/video/c3ZFg0-M1WA/video.html - полная запись интервью по C++. Я смотреть на это издевательство спокойно не могу. Особенно порадовал чел с фамилией Шишков: "нет, нам такой кандидат не нужен, он не успел код задачи написать пока мы с ним трындели". Блин, ты что, не видишь уровень собеседника? Что он еще перед тобой должен быть сделать? Голяком сплясать? Меня просто бомбит от увиденного.
Как же вы усложнили такую простую задачу. Всё что надо делать это считать единицы пока не попадётся второй ноль и запоминать максимальный результат
Код в студию. Рассуждать легко как решить задачу. Напиши решение и поделись на том же питоне или ява скрипте.
@Eugene функция должна вернуть 3 а в твоём коде возвращает только два.
Лучше ссылку на гист в гитхабе не удобно читать так код в комментариях.
@Eugene Вы забыли про случай когда в конце нет 0. И про то что нужно помнить сколько было в прошлой группе. Так же вы используете переменные с не говорящими названиями.
Мой вариант на богомерзком python:
def count_units(arr: list) -> int:
group_count = 0
count = 0
max_count = 0
for i in arr:
if i == 1:
count += 1
group_count += 1
else:
if count > max_count:
max_count = count
count = group_count
group_count = 0
if count > max_count:
max_count = count
return max_count
@Eugene в задании сказано же, что один нолик может быть убран что бы образовать из двух сабстрок одну у тебя там нолик между двумя единицами и единицей убираем его и получается 3 объедененная строка из двух субстрок.
01100101100
Второй код тоже не верен кстати во первых временая сложность n в квадрате, а во вторых в задании же сказано только один нолик, а в твоё коде все нули убираются.
Решении на python куда более элегантнее и верное, перепесать на си или раст и будет работать быстрее.
Плюс убирание симбола из строки дорогая операция. Строку вообще не нужно мутировать для решения этой задачи.
static int LongestOfOnes(string input)
{
string[] parts = input.Split('0');
int max = 0;
for(int i = 0; i < parts.Length - 1; i++)
{
int lengthOfPair = parts[i].Length + parts[i + 1].Length;
if (lengthOfPair > max) max = lengthOfPair;
}
return max;
}
C# 2 линейных прохода.
Шок, у меня на собеседовании была эта задача)))
Ха... Ничего не понял - но очень интересно... ))
Напиши на бумаге код - извините я вам не подхожу. У меня "религиозные" убеждения что бумага - это зло.
Пока все люди спят, программисты работают
Покуда задачи есть и прогеры будут сыты. (ауф)
У меня отпуск. Семь утра. Я сижу и смотрю ролики в ютубе о программировании. Ролики для новичков. В профессии пятнадцать лет. Зачем? Я не знаю.
Типичный стереотип. У нас на работе крайне отрицательно относятся к сверхурочной работе. У нас стандартный восьмичасовой график, и в случае если засиживаешься, подходит тим лид и отправляет домой.
Ну а дома - отдых, почитал книги, поиграл в игры и спать.
@@AntiVassal Стереотип основан на вполне реальных фактах. В вашей ситуации это не так, а у других так. Во-первых, ночью тихо...
@@Micro-Moo я и не говорю, что такое не встречается, но и не повсеместно
Вам бы вести курсы
Тебе бы давать советы
Ничего не понял, но спасибо)
зачем ты тогда это смотрел?
@@Chernikru Так пытался понять, но не получилось 🤣
@@andreykrasnov7851 ты наверно вообще какой-нибудь гуманнитарий тогда)
@@Chernikru Я тут вообще не при чём: начальный пост не я написал. Но Алексей почему-то очень путано рассказал решение этой задачи: усложнил
Estoy de acuerdo con lo que digo el buen hombre
Не могу решать эти задачи быстро. Сколько бы я их не решал на специальных сайтах я всё равно решаю их долго и не укладываюсь по времени в лимит
во многом это природные способности играют, есть люди тех. склада ума, есть гуманитарии.
@@user-gl8qs7qj4k это здесь не при чем
Зачем вообще это онлайн кодирование? Для работодателя важен результат или процесс??
Процесс. При собесодовании смотрят обучаем или нет
@@RICHMAS а как это становится понятно? На собеседовании нужно что- нагуглить, изучить новую фичу или что то новое воспринять от интервьювера и воплотить в код?
@@BookwormYevgen техлид смотрит как идет мысль, как претендент общается при проблеме, задает ли вопросы и тп
@@RICHMAS а если собеседуемый способен самостоятельно, без лишних вопросов например нагуглить и решить проблему, но не озвучивать ее и не донимать окружающих, при этом, не имея возможности показать это на собеседовании- у него получается нет шансов показать, что он самообучаем и может самостоятельно решать проблемы и это его характеризует как неперспективного специалиста?
@@BookwormYevgen принимаются ответы типа: я точно не знаю, я бы загуглил сейчас но мне кажется вот так и так потому, что вот так
И это зачет.
Незачет: я не знаю как решить эту задачу.
🗽
Меня глючит или решенить можно одной регуляркой, а потом подсчитать длину или что там было в начале? )
Интересный подход, не знаю, как решить регуляркой
Вроде так можно (учу питон) :
import re
def max_len(arg):
return len(max(re.findall(r'(? =(1+01+))', arg), key=len)) - 1
Это все применимо к джуну, или выше?
Полагаю ни к тем и ни к другим. Применимо к собеседованиям, где дают покодить
На тестовое дебильно задание, нужно контрвопрос задавать:
"А что, вы постоянно пишите одно и то же? Этого нету у вас в библиотеке под фасадом?",
если это про алгоритмы вопрос, а не про код стайл.
К такому собеседованию надо готовиться специально получается? Ведь на работе таким обычно не занимаешься?
увы, да
@@Alex-gn6xb а чем занимаются на работе?
@@user-wn7cs5bs1h на работе два месяца будешь вкуривать что вообще на проекте происходит ) ну, и отвечать за определенный фунционал - расширять и чинить и снова расширять и снова чинить. еще будешь офигивать как новый функционал легко перепутать с багом на стадии постановки задачи))) ищешь баг, а его и нет. такая фича отсутствовала в принципе и то , что она не работает это нормальное состояние кода
К большому сожалению, случается, что так. Последнее время мне попадались адекватные собеседования, где интересовались опытом. Ставили конкретные вопросы из текущих проблем на проекте, связанные с производительностью, оптимизацией или безопасностью и хотели услышать рекомендации специалиста. Были и такие проекты, где 2 часа задач на хакерранке и посредственный собес после. Но задачи, что ставили на тех проектах были куда примитивнее, чем сами тесты на хакерранке, а уровень некоторых дэвов ставил под сомнение тот факт, что все они проходили те же тесты. Каждый собес - это лотерея, как и проект в целом.
Лучше бы просто давали решить обычные базовые школьные задачи по математике. Как сходу писать код в офисе на листочке? Наизусть получается учить коды.... такое ощущение просто требуется на этих собеседованиях выжить из себя тонны информации, которая итак есть в интернете
Я так понимаю что это не на джуна задачи? Проходил несколько собеседований ничего подобного не было.
Думаю, это сильно зависит от компании. Где то и джуну могут дать такую задачу, а где-то вообще не просят кодить на интервью.
Мозг покинул чат
Сложновато(
Лёша... Кторому за 40 лет уже...🙈
То есть без алгоритмов никак
Вас тоже всё ещё зовут Лёша Корепанов?😅😅
А Вас? Абвгд?
@@user-gt7rz5uw5z это отсылка в Сергею Немчинскому
@@AndriiSobianin Из раздела: тот кто в теме, тот поймёт 🤣
Из тех моих знакомых кто проходил техническое интервью и не проходил, вторые получают больше.
У меня обратная статистика. У тех кто не проходил потолок зарплат это 300K, что по нынешним временам не очень.
Так и есть. Если человек проходит "интервью" (т.е. собеседование), это может означать, что он себя до этого никак не зарекомендовал и не работа ищет его, а он ее. Это нормально для выпускника, но лет в 30-35 уже тревожный звоночек.
@@Murmilone Что за бред? В нормальных компаниях всегда надо проходить интервью, даже если ты идешь по рекомендации или тебя самого выдергивают рекрутеры с текущего места. Конторы в которых иначе надо обходить стороной.
К сожалению, в яндексе, такие простые задачи даже на стажера не дают)
Еще б яндексеры с их непростыми задачами перестали спамить на linkedin...
Яндекс это секта с низкими зарплатами. Нафиг они нужны?
лайвкодинг на собеседовании - порочная практика.
Чтооо?? "цель интревьюера" - загнать меня в угол чтоюы посмотреть как я принимаю решения в незнакомой для себя ситуации?? В контексте программирования и решения задачи разумеется. Вот это новости! прям резко отрезвляет, вот почему оказывается они начинают с тупых вопросов, а потом начинают сыпать вопросами на миддл+ разработчика, копая всё глубже и вынося при этом мозг. А зачастую начинают задавать вопросы которые вообще не относятся к вакансии.
Суука! кто вообще придумал такую систему? Я думал что цель интервьюера - просто проверить, подходит ли человек на ваканчию, знает ли он те технологии, с которыми предстоит работать, и всё. А здесь получается прям психологическая проверка со всеми вытекающими....Очень не приятный момент
Так послушаешь.все легко.а начнешь обучатся в голове каша😁
Я начал программированием заниматься лет 20 назад потому что там можно было встретить нормальных людей, как Леша Корепанов. Сейчас там столько клоунов, что пора oгнемeт доставать
ваай наверно плюсникам такое нужно,а фронтам реактщикам нужно реальные задачи решать, а не нолики из единичек выдергивать оптимальным способом)
Потом появляются программы, в которых основная нелинейная бизнес логика работает 1% времени, а отображение в UI - остальные 99%.
@@alexanderbelov6892 да конечно, а все вместе грузится целых 196 мс, очень долго ведь
@@YellowPanamka Я говорю про "шедевры". Алгоритмы работающие за O(n^3) от размера входных, а не отображаемых.
никому это не нужно.
Ага, именно из-за такого мнения современный фронт в 99% случаев это кусок говна, который жрет трафик и cpu как не в себя.
Говорящая голова как всегда
Мозг пока
Какой беля программирование я тут английский не могу учиться ааааааа😩😩
Русский тоже, как видно :DDD
@@Ma_X64 Да да+
@@Ma_X64 но у меня большой мечта добьюсь серавно
@@mirandaast4494 Удачи!)) Да так-то программистский инглиш не такой уж и сложный. Я тут взялся прям книги художественные читать на вражеском языке -- без словаря сперва не мог ни одного предложения прочесть, хотя полутысячестраничные мануалы на электронные компоненты читаю вообще не напрягаясь. Художественный язык -- абырвалг шелмебелме!
К сожалению все это такая херня. Просто есть определенный стереотип и люди неосознанно в нем застряли. Зачем спрашивать на интервью про все эти сортировки, красно-черные деревья, подсчет прямоугольников по их координатам? Хоть раз кому-то пригодились эти знания в работе? Обычно все такие алгоритмические задачи решаются на академическом уровне и существуют в виде готовых библиотек. Все что нужно это поискать информацию и выбрать нужное для проекта. Как результат программисты тратят время на зубрежку известных алгортимов и структур данных, а в работе это на 99% вообще не нужно. Правильно было бы задавать совершенно другие вопросы, например дать кусок кода и попросить его разобрать, сделать ему рефакторинг, найти баги. Другой тип вопросов, написать какой-то проект с дизайном, который будет решать какую-то тривиальную задачу, чтобы увидеть как человек будет реально работать, может ли найти информацию, какие предположения делает, как пишет реальный код.
Согласен абсолютно. Редко когда приходишь на новый проект. 90% времени дописываешь, исправляешь и тестируешь за кем-то, кого уже никто не помнит и после кого не осталось даже коментариев.
Свою нынешнюю работу нашёл без "дебильноватых" проверок и... как обычно в реальности нах не нужны эти сортировки и прочая академическая шелуха.
Те кто тратят время на зубрежку не проходят подобные интервью
@@mormeoi наоборот, те кто зубрят - как раз проходят, при этом нихера не умея писать код... Это самое обидное.
По сути сейчас собеседование - это как экзамен в шаражке... Можно честно попытаться думать... Но лучше просто вызубрить то что спросят.
Потому что такая фигня вообще не показывает способность решать задачу, писать код, продумывать варианты возникших проблем и сразу же их закрывать..
По сути именно такие собеседования - это пример того, почему студентов берут чаще чем тех кто не учился. Просто потому что задачи теже что и в институтах.
@@mormeoi Эх молодость :) Во первых проходят, приведу случай из моей практики, во вторых, примут Вас или нет зависит от того есть ли в Вашей судьбе работа в этой компании или нет. Потому что вопросов которые можно спросить бесконечное количество, а подготовиться Вы можете к конечному количеству. И главным фактором будет в любом случае бессознательная оценка Вас, как будущего коллеги, будет ли с Вами приятно работать или нет. Так же это зависит от Вашего состояния в момент интервью, от настроения тех кто проводит интервью и множества других факторов, которые не в вашей власти. Пример из практики. Зазубрил пару вариантов сортировки и связанные списки. Почему именно это, а не что-другое? Судьба :) Прихожу на интервью, меня просят реализовать связанный список с удалением и добавлением. Ок, проходим. Далее дают код на бумажке и спрашивают что делает этот код. Смотрю на код и по РАСПОЛОЖЕНИЮ рекурсивных вызовов из циклов УЗНАЮ паттерн сортировки слиянием. Я просто узнал сам паттерн, потому что зазубрил эту сортировку до этого. Затем попросили отследить работу сортировки на бумажке. Для отслеживания рекурсии есть техники специальные, как вести запись исполнения кода, и это зазубрил. Приняли ли меня? Да. Понадобилось ли хоть что-то из этого в работе последующей? Нет. Хотя считался ценным кадром, зарплату повышали, бонусы давали, performance review - above expectations. Просто потому, что для работы нужно совершенно другое: нужно хорошее понимание принципов программирования и умение решать проблемы в продуктах, а я умею это делать хорошо, ну такой дар у меня. Вопрос, зачем было спрашивать про эту гребанную сортировку на интервью?
@@asisu2877 Задачи типа примера с 0 и 1 вызубрить невозможно, таких задач бесконечное число. Решить их может только тот кто умеет применять принципы построения алгоритмов, аккуратно писать код, отлаживать на бумажке.
А есть ли такое собеседование , чтобы не нужно было решать задачи и думать?)))) Не считая собеседования на депутата в госдуму)))
Чтобы думать нет, а чтобы не решать всякий бред, то да, но после того как у тебя есть опыт)
Есть, но только для женщин.
Ну нахер... Поиду я дальше свой уголь копать... Не быть мне програмистом.
В программировании тоже есть свой "уголь", поэтому дерзай, все у тебя получится!
Согласен, описанное прохождение собеседования звучит слишком сложно для новичка.
можно натаскаться решая ЕГЭ например.
Самый геморой по моему
мне видится это бредом, писать код на листе бумаги
с сеньора сразу улетаешь на джуна)
А где "Я работал 13 лет программистом в росии и последние 7 лет в нидерландах"????
*"В России", любезнейший!
Резюмирую: "Я Леша Корепанов. Я программист, а Вы никто. И я записываю видео, чтобы похвастаться".
Боже сколько воды, уже седой дед. Не стыдно такое позорище выкладывать?
Спасибо большое!