Чашка Кода
467 subscribers
254 photos
5 videos
1 file
161 links
👋 Я - Никита, Senior разработчик, автор курсов по Python-разработке. Пишу на Python и Rust

✏️ В этом канале посты, которые сделают твой путь к веб-разработке проще

Задать вопрос, позвать на конференцию, записать со мной курс/статью/подкаст
👉 @PySage
Download Telegram
💬 Как объяснить модель OSI 7 летнему ребёнку?

На собесах по веб-разработке вас точно спросят, что такое модель OSI. Тема достаточно абстрактная и без примеров понять сложно. Вообразим, что нашему рекрутёру всего 7 лет.

Представим ситуацию, у нас есть друг Ваня. У нас и у Вани есть домики на дереве. Вы сидите в своём домике и хотите спросить Ваню, хочет ли он сходить за мороженым.

💡 Проведём провод с лампочкой между домиками. Если в своём домике мы прикладываем батарейку к проводу, у Вани загорается лампочка. Вы договорились, что 1 секунда света лампочки будет значить букву "А", 2 секунды букву "Б" и так далее.

Если лампочка перестала гореть больше, чем на 2 секунды, это значит, что мы готовы получать сообщение. Мы передаём наше сообщение по буквам этими сигналами, а Ваня в своём домике записывает его по буквам, считая секунды. В итоге у Вани есть переданное сообщение 📥

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

Пиши в комментарии, если теперь модель OSI не кажется такой абстрактной. И ставь реакты, если хочешь услышать продолжение примера с добавлением маршрутизации 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
4422
Как я стажёров собесил

💬 Недавно на работе нужно было провести несколько собеседований на позицию стажёра в нашу и соседнюю команды. Результаты меня удивили! К сожалению, не в лучшую сторону...

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

☝️ Из этого важная мысль: подкрепляйте своё резюме реальными знаниями и кейсами! Вы можете "накрутить" себе опыт, но без реальных усилий у вас вряд-ли получится подтвердить свои навыки и экспертизу.

Всем офферов!
Please open Telegram to view this post
VIEW IN TELEGRAM
1043
💡Продолжение предыдущего поста про модель OSI:

Давайте добавим маршрутизацию трафика в наши домики на дереве!

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

🫥К нашей Домико-деревьевой сети хочет подключиться Саша, но её домик можно соединить только с домиком Вани. Придётся добавить систему маршрутизации и соответственно, новый уровень и протоколы. Уровень будет, как можно догадаться, транспортный.

Добавим новый протокол и уровень для передачи данных. Подключаем Сашу к Ване и договариваемся, что первые четыре буквы сообщения будут означать получателя данных. Чтобы не путать само сообщение с получателем, будем делать перерыв сигнала ровно в 2 секунды.

✏️ Теперь, если мы хотим передать сообщение Саше, мы сначала передаём Ване сообщение "Саша" и через 2 секунды начинаем передавать основное сообщение. Ваня, получив адресата и сообщение, не читает его, а передаёт дальше. Саша получает своё имя, убеждается, что сообщение предназначается ей, и читает его.

Поздравляю! Теперь в вашей сети три уровня и каждый уровень имеет свои протоколы🎉

Если у вас остались вопросы, касательно модели OSI, пишите их прямо тут🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
432🤔11
Недавно начал активно прокачивать свою медийность и формировать личный бренд эксперта.

⚡️ Пару недель назад редакция tproger попросила дать комментарии по двум темам в IT. Я согласился, и вот вышла первая из двух статей "Пет-проекты, которые выстрелят в 2024 году". Переходите, читайте, обязательно делитесь мнением в комментариях🔽

⚡️ Сегодня в канале Школы 21 вышел пост, в котором учащиеся, которые уже вышли на работу в IT, делятся своими мыслями о том, необходимо ли иметь опыт в IT до поступления. Мой комментарий также есть в этом посте. У школы выйдет скоро подробный пост с моей историей и выводами, а для вас я сделаю краткую выжимку.

⚡️ Но самое захватывающе... меня пригласили выступить в качестве спикера на конференции Merge в Казани! Буду выступать с докладом "Как не собрать все кочки на пути в IT", а так же планирую посетить казанскую Школу 21. Резюме моего выступления обязательно опубликую здесь, следите за анонсами.

Делитесь в комментариях своими успехами и новостями!
Please open Telegram to view this post
VIEW IN TELEGRAM
532
3️⃣ МАРКЕРА ТОКСИЧНОСТИ

"Слушай, он такой токсичный, с ним просто невозможно.." - знакомая ситуация? Токсики могут попадаться везде: среди родных, друзей, коллег и даже руководителей. Зачастую пассивную агрессию маскируют под справедливую критику или шутку: вроде и объективно, но всё равно оставляет неприятный осадок.

♦️Как выявить такую агрессию и защититься? В карусели выше обозначил 3 маркера того, что сказанное в ваш адрес имеет токсичную окраску, а ещё привёл примеры пассивно-агрессивных высказываний, которые мы можем часто слышать в повседневной жизни.

Что делать, если вы понимаете, что в ваш адрес направлена пассивная агрессия?

1️⃣ Принцип «открытость – находчивость – настойчивость»
Чтобы не ввязываться в игру «агрессор – жертва – спасатель», стройте свои ответы по принципу «открытость – находчивость – настойчивость». Начинайте с фактического описания ситуации и ваших чувств в ней. Затем предлагайте конструктивное решение проблемы и призывайте к диалогу. Говорите прямо, что вы чувствуете, получив сообщение/письмо. При этом не указывайте, что делать другому человеку и не комментируйте его как личность.

Открыто спросите собеседника, злится ли он на вас, проговорите, что подобное общение дестабилизирует вашу работоспособность, проясните острые моменты — это поможет вывести диалог в более позитивное русло.

"Мне обидно, когда вы так комментируете мою работу. Если честно, я буду чувствовать себя комфортнее, если будет больше конкретики. Ваши слова не стимулируют меня справляться с задачами лучше, а только дезориентируют»


2️⃣ Обозначьте личные границы
Чтобы не включаться в игру с замалчиваниями и намёками, обозначьте личные границы, не извиняйтесь, если на это нет объективных причин. Не давайте пассивному агрессору почувствовать, что вы испытываете вину. Пассивный агрессор боится активных конфликтов и старается их избегать.

"Мне не приятно общение в таком тоне. Если вы не прекратите, я буду вынужден эскалировать эту ситуацию руководству".


3️⃣ Минимизируйте общение
Задайте себе вопрос: есть ли у вас ресурс, постоянно сталкиваясь с пассивной агрессией, переживать её? Или насколько вам близок человек, чтобы вы пытались "переделать" его? Если агрессор - ваш коллега, сократите общение, оставив только деловые вопросы. Если же собеседник будет всё так же позволять себе токсичные комментарии, поможет совет из пункта №2.

Что делать категорически нельзя?
1. Вести себя «вежливо», оправдывая действия человека добрыми намерениями, статусом или близкими отношениями
2. Пытаться увидеть пользу для себя в пассивно-агрессивной критике. Цель этой коммуникации: слить эмоции агрессора в социально приемлемой форме
3. «Быть выше этого», терпеть и молчать, если вы чувствуете себя потом плохо

А вы сталкивались с пассивно-агрессивным отношением на работе? 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
6211
⚡️ Понедельничный квиззз...

Недавно я рассказывал о своём опыте собеседований стажёров. Чаще всего проблемы возникали уже на вопросах, связанных с типами данных.

А сможете ли вы найти правильный ответ? Ставь реакт 🤔 если нужен подробный разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤔22
💼 Мягкие навыки для программиста

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

🔽 Пишите в комментарий, какому уровню больше всего подходит такая история:

"Мы переписываем сейчас монолит на микросервисы. Мне дали задачу по исправлению одного существенного бага, но изменить код я не мог. Довольно трудная задача была, ведь решить надо было срочно, но это не должно было повлиять на разделение монолита. Я смог исправить этот баг на уровне БД, написав функцию, которая дополнительно проверяет значения перед вставкой в таблицу."
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
421
⭐️Привет! Раньше я знал лично 80% подписчиков, но теперь вас стало гораздо больше.

Для вашего удобства я собрал лучшие посты за всё время:

1. Объяснение Модели OSI и маршрутизаци, понятные даже 7 летнему ребёнку.
2. Как составить блок "опыт работы" в резюме.
3. Rest архитектура в Вебе.
4. Секреты прохождения собесов с повышением грейда (2 части).
5. Почему Джуны уверены в себе больше Мидлов? Парадокс Даннинга-Крюгера.
6. Примеры 5 паттернов проектирования.
7. Как перестать быть Джуном?
8. Запустил для вас сайт для изучения алгоритмов.
9. Почему ИИ - не угроза, и как его использовать для развития.
10. Как учить БД (самый популярный пост!)

Спасибо, что присоединились к моему каналу! Надеюсь, контент для вас полезен. Напишите в комментариях, посты на какие темы вы хотите почитать🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
1253
⚡️ Вернулся из Казани, где успел провести два выступления, было очень здорово!

За время поездки получил разные инсайты, открытия для себя и интересные вопросы с выступлений. Всё зафиксировал и скоро сделаю отдельный пост. А пока ловите короткий полезно-пост 🔹

Сначала пишите комментарии, а не код!

👨‍💻 Когда я начинаю работать над очередной задачей, я представляю, что все компоненты уже разработаны и я просто прописываю комментарии. К примеру, у нас есть функция для загрузки файлов:
def load_file(*args):
some_process(...)


И мы хотим добавить загрузку метаданных. Я сначала добавлю абстрактные комментарии, а потом буду реализовывать каждую часть отдельно:
# функция для загрузки метаданных

def load_file(*args):
some_process(...)
# вызов функции для загрузки метаданных


⚙️ Затем я представляю, что все остальные части уже реализованы и мне сейчас нужно сделать отдельно конкретную часть. Вместо вызова реальных функций, использую комментарии:
def load_metadata(...): # получили метаданные
logger.info("Загрузка метаданных.")

result = ... # вызвали загрузку данных в хранилище и получили ответ

return result


🔃 В итоге, разбивая задачу на подзадачи и не останавливаясь на ещё нереализованном функционале, вы будете быстрее двигаться в сторону решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
932
❤️‍🔥Первое место на собеседованиях занимает вопрос "Можем ли мы перейти на ты?". Второе место - "Что можешь рассказать о себе?".

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

Возможно будет неожиданно, но у собеседующего вас человека может не быть вашего резюме! Рекрутёр не знает с чем вы работали, а задавать Веб-разработчику вопросы про перемножение матриц нет смысла, как и спрашивать DBA про модель OSI.👍

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

Таким образом, ваш ответ даст начало интервью и определит его дальнейший путь.

✏️ Даже если у вас нет опыта, составьте рассказ так, чтобы интервьюеру было легко определить вашу область знаний. Если же у вас есть хороший опыт, то полезно будет добавить и бизнес-ценность вашей работы.

Вот моё описание, с которого я начинаю собеседования, даже если я нахожусь в роли интервьюера:
У нас около 3 млн товаров, которые разделены на категории. У каждой категории есть категорийные менеджеры, их около 120 человек. Для категорийных менеджеров мы разрабатываем внутренний сервис для работы с товарами. У нас есть порядка 50 микросервисов, позволяющие управлять ценами, акциями и складскими остатками в магазинах по всей Росиии.


📣 Благодаря такому описанию, дальше интервьюеру будет понятно, в какую область разработки стоит погружаться в общении.
Please open Telegram to view this post
VIEW IN TELEGRAM
4421
🦞 Эпоха C и C++ уходит?

Белый Дом призвал переходить на безопасные языки. В качестве альтернативы для небезопасных C и С++ предложили использовать Rust и даже Python!

Проблема у С и С++ в том, что около 70% уязвимостей связаны с работой с памятью (Microsoft, Chrome). Создатель C++, Бьёрн Страуструп, в очередной раз напомнил, что C++ - это не C. Также он отметил развитие языка с 1979 года. Ранее, в 2023 году он уже упоминал примерно тоже самое, когда Агенство Нац Безопасности США рекомендовало отказаться от языков C и C++.

Для меня, использование Rust в замену C и C++ кажется очевидным. А что с Python? Язык развивается, например в язык Mojo (в нём можно использовать эмодзи как расширение файла: main.🔥). Кстати, давал комментарии по этому языку для tproger. Уже вышла полная статья, с моим, и не только моим мнением, почему Mojo не заменит Python.

Пишите в комментарии, хотите ли пост про работу с памятью и почему нам в Python не страшны заявления США 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔32211
⚡️Иногда рабочую ситуацию нельзя описать одним смайликом, но используя Emoji Kitchen, можно создать подходящий!

Подготовил вам 8 предсказаний на эти два рабочих дня между майскими, делитесь в комментах, что вас ждёт👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7311