Обновить
2
0
Александр@gromyko21

Python/Golang разработчик

Отправить сообщение

Поделись. У меня на 70% собеседований были задачи с литкода)

Странный вопрос. Если ты хочешь получать достойную оплату за работу - с тебя будут много спрашивать.

У меня тоже был опыт с тиньком недавно. Общался на собесе с девочкой hr. В конце беседы дали тест на их платформе, и тут началось. Был, кажется 21 вопрос. По 7 из них мне были не очень понятно, что от меня ждут то есть была довольно спорная формулировка(как минимум для меня), так же в тесте были задачки на написания кода - там вылезла багулина и кнопка "Выполнить" не нажималась нормально. В итоге я не набрал нужное количество баллов и решил для себя, что техническую часть на едине с hr больше никогда не буду решать.

Наткнулся на статью думал, что будет интересно так как сам сейчас могу перейти с питона на гошку. Читаю статью вижу раз за разом упоминание яндекс практикума, начинает надоедать и настораживать. Дочитал до конца - решил посмотреть, как часто встречается слово "практикум" - оказалось 17 раз(учитывая заголовки и теги).
Поднимаю глаза на теги - вижу "блог компании Яндекс Практикум". Я, конечно, понимаю реклама(но язык не повернется назвать ее нативной). В общем вся эта реклама оставляет негативные эмоции после прочтения из статьи даже, если она неплохая.

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

Нет, списки были не сортированными, так да взял бы 2 указателя

Есть 2 списка посещенные страницы и рекомендуемые.
Посещенные [5, 6, 9], Рекомендуемые [9, 1, 4]
Нужно вернуть список рекомендуемых, исключая посещенные, с той же сортировкой. Размеры список могут быть разными могут быть разными.

В этом примере результатом будет [1, 4] только в этой последовательности.

Мое решение:
Я сделал так - завернул посещенные в set(чтобы можно было искать за O(1)). Итерировался(зная индекс) по посещенным - смотрел есть ли в рекомендуемых и если да - удалял.

Сам сейчас прохожу много собеседований(ищу новое место) и выделяю для себя ряд забавных моментов.

кандидат должен уметь вообще все:

  • computer science

  • алгоритмы и структуры данных

  • свое направление (frontend, backend, …)

  • систему задизайнить

  • а еще коммуникативные навыки должны быть на пределе.

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

Так же по обратной связи за частую стандартная отписка происходит. Недавно проходил собеседования с Авито - прошел первую секцию на аглоритмы без проблем. Далее, чтобы ускорить процесс попросил оставшиеся 2 секции поставить в 1 день. Мне их поставили и получилось такое:
2я секция решил задачу, в ОС сказали, что решил ее не оптимально (честно, нет вариантов, как можно решить оптимальнее). Хотел постичь тайну оптимального решения этой задачи - мне сказали, что такое они не разглашают, чтобы не слить свои задачи(хотя, суть задачи я помню и так и слить нет никаких проблем). Далее были действительно некоторые спорные моменты по одной из технологий, которую я знаю не на глубоком уровне.
3я секция - проектирование системы, проектировали начальную версию твиттера, как мне показалось - прошло все хорошо(учел все моменты, отвечал на доп. вопросы интервьюера). В итоге мне на эту секцию не дали фидбека вообще потому что по результатам 2го этапа я у них не прошел бы дальше.
Итого казалось бы большая компания, а нормального фидбека от них не получить, что уж тут говорить о мелких

Попробую воспользоваться матрицей, спасибо)

Подскажите в каких аспектах? Мало знаком с Flask

Если бы она тут была - это был бы уже не python)

Я, в случае, если метод принимает 3+ аргумента сразу разному каждый из них на новую строку, для лучшей читаемости, а рядом ставлю тип, что никак не увеличивает количество строк.

Если говорить про 1-2 аргумента - оставляю их на одной строке и на ней же добавляю типы, что так же никак не увеличивает количество строк.

Расскажи в чем конкретно был гемор? Неправильно определили типы?

Сложнее и дольше - да. Но на действительно больших проектах это будет работать стабильнее)

Да, тот же FastApi завязан на них

Есть такое) С модулем typing, как по мне получился более выразительный пример. Хорошо, что не останавливался на этом вопросе, а решил его опустить

Спасибо про замечание с кодом с картинками. Это моя первая подобная статья и я вообще не подумал, что их можно вставлять в виде текста и так будет комфортнее читать.

Интересная картинка, кажется та же проблема остается по сей день в JS?)

Да, порой с MyPy приходится потанцевать, но мое мнение - он все же помогает повысить стабильность системы.

Начинающие питонисты, смотрите лучше на FastApi. Не нужен вам этот flask))

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Ведущий
Python
Golang
PostgreSQL