Тихон | Помогаю разработчикам устроиться в BigTech
3.37K subscribers
73 photos
7 videos
1 file
59 links
Senior-разработчик, ментор

Отзывы https://yangx.top/bestitteam
🫂Записаться на консультацию или задать вопрос @codepunks_bro

ИНН 771618975809 Галактионов Т.В.
加入频道
Привет! Хочу пообщаться с теми, кто хочет получить оффер Х2 от своей ЗП и не знает, как это сделать, или не получается.

Задумался над тем, как сделать менторство и канал еще лучше, а для этого мне нужно понять, чего вам не хватает в первую очередь.

Предлагаю 2 формата: заполнить анкету и созвониться.

Заполнить анкету займет минут 10 – сделай это прямо сейчас:

👉ЗАПОЛНИТЬ АНКЕТУ

При отправке заполненной формы можно будет скачать гайд по поиску работы и сборник задач с реальных собеседований по теме Hash-map.

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

Кто готов – пишите сюда: @codepunks_bro
👍4🤝31
🤓Уже сегодня будет 5-й стрим с решением задач с собеседований

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

И если подумать с этой стороны, не каждая IT компания собирает митапы на 50 разработчиков, где каждый решает задачи и может свободно рассуждать, не волнуясь за мнение коллег по поводу своего решения)

Я думаю что это наша супер-сила, так что всех ждём, и как обычно рады, если будете решать задачи вместе с нами в чате или голосом🤓

Старт в 20:00! 🤝

📌Место: Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
11
Через час начинаем 👨‍💻

Тут будет чат)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
У нас первый голосовой отзыв)

Никита - ты 💪, 100% заслуженный оффер🔥

Пока большинство считает что рынок просел и невозможно устроиться, наши ребята заходят на позиции с двух ног)

Держим темп 💪 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
👏14💯4👍3
Тихон | Помогаю разработчикам устроиться в BigTech pinned «Привет! Хочу пообщаться с теми, кто хочет получить оффер Х2 от своей ЗП и не знает, как это сделать, или не получается. Задумался над тем, как сделать менторство и канал еще лучше, а для этого мне нужно понять, чего вам не хватает в первую очередь. Предлагаю…»
Вышла запись одного из наших стримов.

Огромное спасибо нашему подписчику Мише за участие, а так же нашему ментору Дамиру за интересные вопросы 🐹

https://www.youtube.com/watch?v=k9bRKFDzAXc

Всем приятного просмотра🤓

P.S. Специально для ангулярщиков: на канале вчера вышло видео с Angular-собеседованием, очень интересные вопросы и темы поднимали👌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥116👍6🥰1
Лучшая команда менторов. Часть 2.

Хочу продолжить знакомить вас с нашей командой, которая в любых условиях устраивает разработчиков на middle/senior позиции. Все наши результаты и отзывы были бы невозможны без сильной команды и совместной работы над кейсом каждого, кто к нам приходит. И так, поехали:


Александр Рубенов, 25 лет

- 7 лет в индустрии ( стартап Flatplan, Яндекс, VK, Авито, Т-Банк, X5 Tech )
- Основной стек: TS, React, Redux, Node.js
- Прошел и провел более 200 собеседований
- Имеет опыт трудоустройства на вторую работу по ИП
- Индивидуальный подход к каждому менти, нацелен на результат
- В свободное время разрабатывает tg-ботов, изучает AI, психологию, биохакинг, медицину


Балаев Юрий, 28 лет.

- Опыт более 5 лет ( ВТБ, АндерсонЛаб, Сбер, Озон )
- Основной стек TS, React, Effector
- От логиста до Senior Developer в Озоне ( с небольшим крюком через FinTech )
- Большая вера в способности людей.
- Сам заряжается от мотивированных людей и мотивирует других.

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

Хочешь поработать с нами и получить оффер 250-330? - пиши в личные сообщения)
🔥105🏆1
Рубрика: база. Часть 1.

Fiber - это тема, знание которой может пройти вам React-собеседование, а на вопросе про reconcillation и рендер можно ответить гораздо интереснее чем кажется. Поехали:

🧱 Основная идея Fiber
React Fiber — это реализация виртуального DOM в виде связанного списка (а не дерева), которая позволяет:
- разбить рендеринг на мелкие задачи (units of work),
- приостанавливать и возобновлять работу,
- реализовать кооперативную многозадачность внутри браузера.

До Fiber обновления происходили синхронно и рекурсивно: всё дерево компонентов проходилось и обновлялось за один проход. Это означало, что React не мог остановиться, отложить часть работы или расставить приоритеты.


🔄 Цикл работы Fiber
Fiber работает в две фазы:

1. Render phase (Work Phase)
React проходит по компонентам и строит новое Fiber-дерево.
- Создает FiberNode для каждого компонента.
- Эта фаза может быть прервана — например, если у пользователя событие click.

2. Commit phase
Вносит изменения в реальный DOM.
-Эта фаза непрерывна и должна быть быстрой.

🧩 Что же такое FiberNode?
Каждый компонент (функция, класс, DOM-элемент) представлен объектом FiberNode:


interface FiberNode {
type: string | Function;// Тип компонента
key: string | null;// Ключ для списка
stateNode: DOM | instance | null; // DOM-узел или экземпляр класса
child: FiberNode | null;// Первый дочерний узел
sibling: FiberNode | null;// Следующий "брат"
return: FiberNode | null;// Родитель
alternate: FiberNode | null;// Старый Fiber (для сравнения)
flags: Flags;// Какие изменения внести
pendingProps: any;// Новые пропсы
memoizedProps: any;// Старые пропсы
memoizedState: any;// Старое состояние
}

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

⚙️ Алгоритм работы: пошагово
- Начинаем с корня (RootFiber) и проходим вниз по дереву.
- Создаём "units of work" — каждый Fiber обрабатывается как отдельная задача.
- React делает depth-first traversal: спускается в child, потом sibling, потом вверх по return.
- Когда все узлы пройдены — React имеет новое дерево.

Далее идет сравнение alternate (старого Fiber) с новым — что поменялось?
- На основе flags (например, Placement, Update, Deletion) формируется список изменений.
- Commit phase: React применяет изменения к DOM за один батч.


📌 Это позволяет React быть асинхронным и отзывчивым, даже при сложных рендерах.

🔁 Double Buffering (alternate)
React использует стратегию двойной буферизации: для каждого узла есть alternate.

current — текущее дерево, отображаемое в DOM.
workInProgress — новое дерево, создающееся в render phase.

После коммита:
workInProgress становится current, а старое дерево отправляется в alternate.

🚦Приоритеты (Lanes)
С React 18 ввели систему Lanes — механизм управления приоритетами работы.

click → высокая приоритетная полоса.
fetch data → низкая.

Fiber может приостановить выполнение низкоприоритетной задачи, чтобы обработать что-то более важное.

💬 Подытожим
Fiber — это архитектура реакта, которая:

Представляет каждый элемент UI как FiberNode, связанный с другими.
Позволяет прерывать работу, планировать и расставлять приоритеты.
Делает React асинхронным и отзывчивым.
Использует две фазы: render (можно прерывать) и commit (синхронная).
Поддерживает time slicing, useTransition, useDeferredValue и другие оптимизации.
👍18🔥143🤝3💊1
Рубрика: база. Часть 2. Микрофронты.

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


1. 🧩 Module Federation с Nx Monorepo
Что это: динамическая загрузка удалённых модулей на runtime, с шарингом зависимостей между ними.
Почему важно: при использовании Nx можно легко организовать хост и модули внутри одного репозитория c CLI, кешом и девсервером.

🔧 Пример на Nx:

nx-project/
├─ apps/
│ ├─ shell/ # Host-приложение
│ │ └─ module-federation.config.ts # содержит remotes
│ ├─ shop/ # Remote micro‑frontend
│ └─ cart/ # Remote micro‑frontend
└─ libs/ # общие библиотеки (UI, utils)

Подключается примерно так: (очень упрощённо)

export const config = {
name: 'shell',
remotes: ['shop', 'cart'],
};


Плюсы:
- Независимый деплой – каждое приложение может деплоиться отдельно. Команды разработчиков не зависят друг от друга.

Минусы:
- Возможны ошибки при несовместимых версиях зависимостей.
- Для коммуникации между микрофронтами придётся изучить несколько интересных подходов 🙂

Когда использовать:
Если у вас монорепо + несколько команд, но хотите разделить деплой. Каждый микрофронт проще рассматривать как отдельную страницу.

2. 🧷 Iframe
Что это: каждый микрофронт — отдельное приложение в <iframe>.

Пример коммуникации:

// Родитель
iframe.contentWindow.postMessage({ type: 'init', data }, origin)
window.addEventListener('message', e => {
if (e.origin !== origin) return;
console.log(e.data);
});


Плюсы:
- Полная изоляция (JS, CSS).
- Прост в реализации.

Минусы:
- Медленнее UX: два документа, переходы.
- Коммуникация через postMessage — громоздкая.
- Ограниченное взаимодействие с окружением родителя.

Когда использовать:
Когда нужен строгий барьер безопасности, например для админки или внешних виджетов.

3. 🛠 Custom import()
Что это: вы создаёте оболочку, которая динамически подгружает модули через import(), без использования Module Federation.

🔧 Простой пример:

async function loadRemote(name, url, container) {
const mod = await import(/* @vite-ignore */ url);
await mod.init(channel);
mod.render(container);
}


// Где-то в UI
loadRemote('chat', '/mfe/chat/remote.js', document.getElementById('chat'));

Коммуникация между модулями:

const channel = new Channel();

channel.subscribe('user', fn);
channel.set('user', { id: 1 });

Плюсы:
- Полный контроль загрузки.
- Гибкая интеграция prefetch, loader-style, lifecycle API.
- Не привязан к сборщику.

Минусы:
- Нужно самому реализовать lifecycle и shared dependencies.
- SSR потребует ручного подхода.
- Больше boilerplate.

Когда использовать:
Если вам нужен максимальный контроль, легковесность и неважна поддержка SSR из коробки.
👍10🔥62
Попали на проверку😅

Июнь был для нас рекордным месяцем, и по кол-ву прибывших на менторство, и самое главное по кол-ву устроенных на работу. Всем работягам привет👋

В связи с чем к нам пришла проверка, но для меня это больше показатель, что мы двигаемся в правильном направлении и растём так быстро, что появляются вопросы💪

Спасибо моему юристу, что мы с самого начала вели всё официально, заключая договора с учениками и подрядчиками, работали по корректному ОКВЭД и платили все налоги.

Тем не менее немного волнительно и даже приятно, что нас решили проверить)

Моё главное правило - ты никогда не построишь большой и хороший продукт, если ты скрываешься от налогов, не оформляешь договора и не делаешь работу качественно. Любая мелочь в итоге вскроется, и потеряешь всегда больше чем сэкономил.

Надеюсь что всё пройдёт хорошо, а пока готовим пакеты документов и подтверждения🤝

upd. проверку прошли :)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆13👍74🤝1
Часто ко мне обращаются за составлением резюме. Я всегда рад помочь, но есть важный момент. Резюме это только 10% в поиске работы. Да и за час/два невозможно составить рабочий вариант.

Почему?

Это итерационный процесс. Когда мы делаем CV на менторстве, оно может вернуться на правки до 10-12! раз. Мы выпускаем резюме на рынок только после аппрува от 10 менторов и HR из нашей команды.

Теперь это финальный вариант и можно расслабиться? - Нет)

При недостаточном кол-ве собеседований или для теста конверсий, лучше делать 2-3-4 версии резюме. Разные CV цепляют разные компании.

Окей, мы составили 3 версии, резюме, его аппрувнула вся команда, теперь я точно найду работу? - Нет)

Традиционный вариант - сделать 100-200 откликов на hh и ждать что будет хороший оффер и новое место работы - не работает в 2025.

Важно куда и как резюме отправлять. Мы работаем рассылая ваше резюме 20-100 компаний напрямую. Этот список есть только у аутстафф-агенств и галер, и у нас)
Помимо прямых откликов работают рекомендации и прямой контакт с HR от знакомых. То есть по рекомендации от сотрудника/того кто прошёл у них все этапы, но по какой-то причине отказался.
Сейчас трафик с этих каналов сопоставим или превышает то, что приходит с hh.

Окей, мы отправили резюме вообще всем, теперь я найду работу? - Нет)

Тут мы прошли подготовительный этап и уже будут собеседования. 30% работы проделано. В реальности большинство кандидатов её не делают/не знают/привыкли к легкому поиску в 2022-2024 гг. Осталось 50% - технические собеседования и 20% - пройти финал.

Ну, техническое я точно пройду, я решаю каждый день leetcode и codewars.

Да, часть задач будет на алгоритмы и логику. Но мы не видели задач на Event Loop, TypeScript, контекст, рефакторинг, React/Vue/Angular на этих платформах. Там этого нет, а на собеседованиях - есть. Даже Яндекс спрашивают не только алгоритмы.

К чему я это всё - собеседования сейчас требуют сильного вовлечения в процесс и подготовки, но эта подготовка окупится в разы и принесёт новые возможности. Как невозможно отреставрировать автомобиль или сделать ремонт в квартире за два часа - так и невозможно сделать идеальное резюме и подготовиться к тех этапу, если вы до этого не готовились несколько лет.
🔥145👀5👍3🦄1