Python Simple
226 subscribers
55 photos
6 videos
175 links
by mr.Gold
Download Telegram
Все пытаюсь закрыть гештальт с алгоритмами. Если брать в общем, то простые задачи и мидловые (не все) решаю нормально, собесы прохожу, правда не всегда.

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

И вот осенью я купил курс от Влада Тена, там нет дедлайнов, и он дешевле в несколько раз, ну минус в том, что я был только на 4-5 лекциях, но они есть в записи. Подача крутая, все круто, но отложил опять алгосы (глубокое литкод понимание).

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

Эх, хотел на диагностике от Яндекса протестить навыки (до и после), но они закрыли проект. Ладно, можно к ним на собес будет попасть, но задачи на собесе, это рандом обычно. Кодефорсис сильно напряжно, но наверное самый верный индикатор.

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

Алгомонстры, можете в комментах написать, как вы смогли? Может кто-то ещё сможет)
7
Топ-1 книг по подготовке к собеседованию

Однажды на работе у нас была встреча, где обсуждали проведение собеседований. Один из вопросов звучал так: «Что делать, если кандидат отвечает очень чётко и конкретно, и есть подозрение, что у него есть слив вопросов с собеса?» Ответ куратора был такой: «Если он выучил всё, что нас интересует, значит, он нам подходит. Чтобы хорошо пройти собеседование, достаточно внимательно прочитать "fluent python"».

Лучано Рамальо — «Python. К вершинам мастерства»

У меня когда-то было первое издание этой книги. Я купил её только из-за глав про асинхронность, но потом был приятно удивлён, насколько глубоко и подробно разобраны и другие темы.
Стоит отметить, что книга не для новичков и может показаться сложной. Однако темы, которые часто спрашивают на собеседованиях, разобраны в ней очень детально.
Не советую читать её от корки до корки. Лучше берите интересующую тему, находите её в книге и погружайтесь.

Есть ещё несколько полезных ресурсов:

- Канал Олега Молчанова.
- Курс «Поколение Python» (сам не проходил, но знаю людей, которые его рекомендовали и немного листал).

Но у меня сложилось впечатление, что это виды адаптации книги Рамальо.
Если кого-то интересует 9-ти часовой разбор этой книги от Диджитализируй, welcome https://youtu.be/yHckrS1lvG8?si=IhnC9f06TjN7EqbU

P.S. Совсем забыл ещё один из ресурсов - этот @python_simple канал)
7
Всем привет!

У одного из наших подписчиков @sergey_emelyanov22 оказался лишний экземпляр книги "Python. К вершинам мастерства", и он предложил разыграть его среди участников. Мы решили сделать это через турнир на платформе codebattle.hexlet.io

На платформе можно создать игру, выбрать сложность задачи, тайминг и тег задачи. К сожалению, конкретную задачу выбрать тоже можно, но мы договоримся выбирать случайную). Основная фишка в том, что во время игры участники видят код друг друга в реальном времени. Это позволяет подсмотреть идею у соперника и отправить решение быстрее.

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

Формат турнира:
Предлагаю играть до двух побед. Сначала один участник создает игру, выбирая уровень сложности, время и случайную задачу. Затем второй участник делает то же самое. Если потребуется третий раунд, то опять выбирает первый, тут надо будет договориться, кто будет первым (прокачка софт-скиллов)

Если хотите участвовать, поставьте плюсик в комментариях. Я составлю сетку и добавлю вас в турнир. Даже если книга вам не нужна, всё равно присоединяйтесь!

Не забудьте заглянуть в чатик канала на время турнира, чтобы быть в курсе всех обновлений.
4
Всем привет!
Ни разу еще не писал про Авито, но вот на что наткнулся:
https://start.avito.ru/ - стажировочка

Кто недавно окончил универ или еще учится, рекомендую!

Ознакомиться с прошлыми наборами можно у них на гитхабе: https://github.com/avito-tech/tech-internship/tree/main/Tech%20Internships/Backend

Правда есть впечатление, что в приоритете гошники, но выполнять тестовое на других ЯП тоже допускается
3🔥2
Всем привет!

Невыполнимые задачи 😭

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

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

Какие это задачи?

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

Советов особо нет, сам наступаю на грабли, но всё же:

1. Можно декомпозировать задачу. Разбейте её на части, которые можно сделать отдельно. Да, это не всегда получается, но это важный навык.
2. Зацепись за что-то конкретное, чтобы можно было двигаться дальше, как в японском кроссворде. Например, я часто иду от пользователя к бизнес-логике: от схемы эндпоинтов к реализации функционала. Если реализовать ручки, то уже можно прийти с вопросами к заказчику и уточнить детали.
3. Принцип fail fast, fail cheap - лучше быстро накосячить, получить фидбек и исправить, чем долго тянуть, а потом всё равно накосячить. Но тут важно соблюдать баланс: если косячить слишком часто, могут возникнуть вопросы к твоей компетенции.

Если есть ещё советы или примеры с задачами, буду рад почитать)
8
Python Simple
https://yandex.ru/yaintern/backend Судя по всему начался сезон стажировок
А никто не откликался?
Даже на хабркарьере появились вакансии джунов в Яндекс https://career.habr.com/companies/yandex/vacancies
👍3
+10 к карме систем-дизайнера, очень рекомендую, даже захотелось погрузиться в SRE
Всем привет!
Читаю Хабр и что вижу! Реклама гранта на обучение!
special.hexlet.io/grant

Хекслету обычно доверяю, так что советую зарегистрироваться или создать новый аккаунт, пройти 15 бесплатных уроков и подготовить мотивационное письмо.

Это, конечно, не волшебная таблетка, но почему бы не попробовать) Даже если уже прогаете во всю)

p.s. Кто не знает, сооснователь Хекслета - Кирилл Мокевнин из подкаста, постом выше)
🔥3🤩21
Всем привет! 👋

Небольшая рекомендация: старайтесь получать помощь проактивно.

Приведу пример, возможно, вы были по ту или иную сторону такой ситуации.

Ситуация:
Кто-то задает вам вопрос по рабочему процессу. Вы видите сообщение и отвечаете в течение минуты. Например:
— У меня не запускается то-то, что делать?
— Попробуй сделать так.

Вы ответили быстро, но через час приходит:
— Не, так не вышло.

Вы переключаете контекст, даете другую рекомендацию. Проверить её — 10 секунд, но ответ приходит через полтора часа:
— Ошибка.

Вы предлагаете ещё один вариант, и на следующий день приходит:
— Всё заработало, но есть вопрос по следующему пункту.

Проблема:
Асинхронное общение — это удобно, но для работы не всегда подходит. Если вы уже общаетесь в чате, пропадать на пару часов и продолжать разговор о нерешенной проблеме — не лучшая практика. Человек, который помогает, вынужден снова возвращаться в контекст, отвлекаясь от своих задач (или просмотра сериала 😄), а вы потом снова пропадаете. Причем, скорее всего вам искренне хотят помочь тут и сразу.

Через какое-то время приходит сообщение от этого же коллеги с новым вопросом. Понятно, что на него не стоит сразу отвлекаться, и можно спокойно ответить через пару часов. пара-пара-пам.

Это также частично относится и к ревью кода:
Когда вам пишут комментарии, старайтесь решать их быстро и не откладывать (сам грешу иногда):

1. Это плохая привычка.
2. Тому, кто писал комментарии, через пару дней придется снова вспоминать, что он имел в виду.
3. Растет пул задач, над которыми вы работаете одновременно, и вы тратите время на переключение контекста.

Да, софты тоже надо прокачивать) Хорошо выстроенная и своевременная коммуникация решает много вопросов.
5👍2
Ну теперь хоть понятно, какие таски дают стажерам в Т-Банке)
😁13
Хоть примерно представляю, но интересно, какой у вас Грейд в it?
Anonymous Poll
35%
Ищу работу
13%
Стажер
19%
Джун
10%
Мидл
2%
Синьер
0%
Тимлид и выше)
21%
Нету, хочу посмотреть
👍5
Неделя опросов продолжается: какие технологии я знаю/учу (набор не совсем рандомный, но так может показаться) мультивыбор.
В комментах можно написать, что хотелось бы изучить и какие планы
Anonymous Poll
29%
Django
15%
DRF/django ninja/любая джанговская либа для REST API
29%
Flask
32%
FastAPI
32%
Pytest/unittest
6%
Vue
9%
React
50%
Docker
15%
Docker swarm/k8s/и тд
18%
Посмотреть
🤔4👍1
🤔 Почему студентам тяжело учиться на онлайн-платформах?

Онлайн-обучение — это удобно, но не всегда просто. Вот основные причины, с которыми сталкиваются студенты:

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

Не видно просвета
Пока учишь "базу", сложно представить, когда сможешь сделать что-то действительно крутое. Задачи вроде переворачивания матриц или отрисовки пирамидок быстро надоедают.

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

Затыки, которые тормозят прогресс
На некоторых темах можно зависнуть на дни или даже месяцы. А чем дольше перерыв, тем сложнее вернуться.

Модули, которые хочется пропустить
Не все темы интересны, но их нельзя пропустить. Это замедляет прогресс и убивает мотивацию.

Неинтересные проекты
Неинтересные проекты или курсовые, которые не хочется делать.

🫠Это лишь часть проблем, как немного улучшить положение, будет в следующем посте мудрости)

Ваши демотиваторы можно накидать в комментах)
6👍2
Напишите закрытыми глазами декоратор, который логирует время выполнения ф-ии, даже если она упадет.
В комментариях выберем самый красивый вариант. Он вам пригодится на 99% собесов, абсолютно на любой грейд
5
Python Simple
Напишите закрытыми глазами декоратор, который логирует время выполнения ф-ии, даже если она упадет. В комментариях выберем самый красивый вариант. Он вам пригодится на 99% собесов, абсолютно на любой грейд
Спасибо всем, кто принял участие в обсуждении, из ответов можно было слепить субъективно верный, что я и сделал:
from functools import wraps
import logging
from time import perf_counter

logger = logging.getLogger(__name__)


def time_logger(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = perf_counter()
try:
return func(*args, **kwargs)
finally:
end = perf_counter()
logger.debug('Work time is %.5fs' % (end - start))
return wrapper

Для себя можно ответить на вопросы:
1. Почему лучше использовать perf_counter вместо time.now?
2. Зачем декоратор wraps.
3. Как работает finally и можно ли его использовать без блока except.
4. Почему в логере используем не f-строку, а запись через %.
5. На всякий случай вспомните, что такое декоратор и замыкания.

Также не забывайте что надо делать return результата.
4👍3🔥2
Python Simple
🤔 Почему студентам тяжело учиться на онлайн-платформах? Онлайн-обучение — это удобно, но не всегда просто. Вот основные причины, с которыми сталкиваются студенты: Легкость первых модулей быстро исчезает Начальные темы кажутся простыми, но дальше курс становится…
Сделаем вид, что все ждали продолжение)
Как улучшить положение, если вы студент, учитесь в онлайн школе и у вас есть куратор?

При этих вводных ключевое - наличие куратора. Вам надо начать с ним общаться, задавать вопросы! Вам не обязательно писать в чат только когда выполните все задание, вы можете по ходу задавать любые вопросы, которые касаются профессии, и скорее всего куратор будет вам отвечать что-то вменяемое.

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

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

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

Это ещё не все, будет продолжение)
8