Это спрашивают на каждом третьем собеседовании в 2025 😲
"Что произойдет, когда я введу адрес URL в адресную строку браузера?".
Вот тебе рабочий метод, как запомнить ответ. Представь три коробки в ряд:
1) Этап сети.
2) Этап парсинга.
3) Этап рисования.
===
На первом этапе браузер соединяется с сервером.
Почитай про уровни DNS, такие как локальный кэш etc/hosts, TLS, HTTP/S.
На втором этапе браузер установил соединение и получил твой код.
Почитай про Critical Rendering Path, Critical CSS, async/defer, DOM, CSSOM, Render Tree.
На третьем этапе движок браузера рисует картинку.
Почитай про стадии Layout, Painting, Composition, анимации на CPU и GPU, оптимизации CSS.
===
От мидла или синьора в 2025 ждут, что он понимает схему в общих чертах. Глубоких знаний сетей - не ждут.
Постарайся рассказать историю, как применял эти знания на практике. Например, как оптимизировал CSS-анимации. Своим ученикам я помогаю упаковывать опыт в такие истории ✅
В следующем посте продолжу свою историю в IT. Спасибо, что поставили 10 лайков первому посту, каждый из них - огромный заряд вдохновения :)
"Что произойдет, когда я введу адрес URL в адресную строку браузера?".
Вот тебе рабочий метод, как запомнить ответ. Представь три коробки в ряд:
1) Этап сети.
2) Этап парсинга.
3) Этап рисования.
===
На первом этапе браузер соединяется с сервером.
Почитай про уровни DNS, такие как локальный кэш etc/hosts, TLS, HTTP/S.
На втором этапе браузер установил соединение и получил твой код.
Почитай про Critical Rendering Path, Critical CSS, async/defer, DOM, CSSOM, Render Tree.
На третьем этапе движок браузера рисует картинку.
Почитай про стадии Layout, Painting, Composition, анимации на CPU и GPU, оптимизации CSS.
===
От мидла или синьора в 2025 ждут, что он понимает схему в общих чертах. Глубоких знаний сетей - не ждут.
Постарайся рассказать историю, как применял эти знания на практике. Например, как оптимизировал CSS-анимации. Своим ученикам я помогаю упаковывать опыт в такие истории ✅
В следующем посте продолжу свою историю в IT. Спасибо, что поставили 10 лайков первому посту, каждый из них - огромный заряд вдохновения :)
Дэн Щербаков ⚛️
Это спрашивают на каждом третьем собеседовании в 2025 😲 "Что произойдет, когда я введу адрес URL в адресную строку браузера?". Вот тебе рабочий метод, как запомнить ответ. Представь три коробки в ряд: 1) Этап сети. 2) Этап парсинга. 3) Этап рисования. …
Моя история в IT, часть 2: от джуна до синьора
В первой части я рассказал, как попал в крупнейший банк на проект страхования жизни.
Начало пути: корпоративная рутина
Огромный опен-спейс на одном из верхних этажей. Корпоративный ThinkPad. Несколько недель ожидания доступов.
React, TypeScript? Забудь! Мы писали интерфейс на Java и ES5.
Признаюсь, долгое время я ничего не понимал. Консультировался с аналитиками и бэкенд-разработчиками. Брался за простые задачи. Но Java и доменная область оставались для меня чужими. Это приводило к прокрастинации: целый день мог листать ленту, а к 17:59 уже стоять у выхода из офиса.
Разговор с ПМ: тревожный сигнал
Год спустя меня вызвал на разговор менеджер проекта.
— Что такое, Александр*, — обратился я, — хочешь похвалить за прогресс?
— На самом деле, Денис, ситуация другая, — ответил он. — Мы больше не можем находить для тебя задачи: ожидали другой продуктивности.
Буду честен: я жестко испугался. Синдром самозванца включился на полную: что, если я не создан для IT? Я недостаточно умен? Теперь уволят? Я потеряю зарплату и уважение к себе!..
Но увольнения не последовало. Напротив — меня направили на более сложный проект, связанный с правительством.
Новый уровень: реальный фронтенд
Здесь я впервые ощутил, что такое современный фронт! React, TypeScript, SCSS, сложнейшие формы, полноценный Agile.
Мой мозг кипел! Я осваивал технологии семимильными шагами. Работа, наконец, стала приносить удовольствие. Углубился в TypeScript, разобрался в тонкостях React, освоил Scrum.
Но вместе с этим накопилась усталость. Прокрастинация снова начала брать верх.
Через полгода я понял: пора уходить.
Я написал заявление на увольнение и позволил себе несколько месяцев отдыха. Позже узнал, что многие айтишники делают так же. Я кайфовал: катался по пустым утренним дорогам Москвы, встречался с друзьями, пробовал себя в бизнесе по перепродаже моноколёс.
Поиск работы: рост х2
Через несколько месяцев я обновил резюме и начал пробоваться на позицию мидла.
Приглашения от HR сыпались десятками! В 2021 году рынок по-прежнему был на стороне кандидатов.
Спустя пару недель я подписал оффер в РБК. Должность мидл-разработчика, зарплата 140 тысяч рублей — вдвое больше, чем на предыдущем месте. На тот момент это было более $2000. Для меня, тогда еще неизбалованного разработчика, — внушительная сумма.
Испытательный срок прошел без сучка и задоринки.
Я погрузился в новые технологии, такие как Next.js. Многие коллеги были на пару голов сильнее, тимлид - умным и ответственным человеком. Так что я снова развивался!
Усталость мне не грозила: компания была большой, поэтому проекты развивались без спешки.
Так продолжалось больше трех лет.
Новый скачок
Всё было хорошо. Экспертиза росла, отношения с коллегами оставались ровными.
Но зарплата в 140 тысяч в 2021 и 2024 - это две разные зарплаты. Я завел серьёзные отношения, ощутил амбиции, нарисовал планы на старость. Доходов уже не хватало, чтобы развиваться.
Поэтому я поставил цель: снова сделать х2 к зарплате.
Для этого нужно было брать синьорские позиции.
✅ 10 лайков - и я расскажу, как смог сделать х2 к зарплате в конце 2024, на рынке нанимателя.
*Имя изменено.
В первой части я рассказал, как попал в крупнейший банк на проект страхования жизни.
Начало пути: корпоративная рутина
Огромный опен-спейс на одном из верхних этажей. Корпоративный ThinkPad. Несколько недель ожидания доступов.
React, TypeScript? Забудь! Мы писали интерфейс на Java и ES5.
Признаюсь, долгое время я ничего не понимал. Консультировался с аналитиками и бэкенд-разработчиками. Брался за простые задачи. Но Java и доменная область оставались для меня чужими. Это приводило к прокрастинации: целый день мог листать ленту, а к 17:59 уже стоять у выхода из офиса.
Разговор с ПМ: тревожный сигнал
Год спустя меня вызвал на разговор менеджер проекта.
— Что такое, Александр*, — обратился я, — хочешь похвалить за прогресс?
— На самом деле, Денис, ситуация другая, — ответил он. — Мы больше не можем находить для тебя задачи: ожидали другой продуктивности.
Буду честен: я жестко испугался. Синдром самозванца включился на полную: что, если я не создан для IT? Я недостаточно умен? Теперь уволят? Я потеряю зарплату и уважение к себе!..
Но увольнения не последовало. Напротив — меня направили на более сложный проект, связанный с правительством.
Новый уровень: реальный фронтенд
Здесь я впервые ощутил, что такое современный фронт! React, TypeScript, SCSS, сложнейшие формы, полноценный Agile.
Мой мозг кипел! Я осваивал технологии семимильными шагами. Работа, наконец, стала приносить удовольствие. Углубился в TypeScript, разобрался в тонкостях React, освоил Scrum.
Но вместе с этим накопилась усталость. Прокрастинация снова начала брать верх.
Через полгода я понял: пора уходить.
Я написал заявление на увольнение и позволил себе несколько месяцев отдыха. Позже узнал, что многие айтишники делают так же. Я кайфовал: катался по пустым утренним дорогам Москвы, встречался с друзьями, пробовал себя в бизнесе по перепродаже моноколёс.
Поиск работы: рост х2
Через несколько месяцев я обновил резюме и начал пробоваться на позицию мидла.
Приглашения от HR сыпались десятками! В 2021 году рынок по-прежнему был на стороне кандидатов.
Спустя пару недель я подписал оффер в РБК. Должность мидл-разработчика, зарплата 140 тысяч рублей — вдвое больше, чем на предыдущем месте. На тот момент это было более $2000. Для меня, тогда еще неизбалованного разработчика, — внушительная сумма.
Испытательный срок прошел без сучка и задоринки.
Я погрузился в новые технологии, такие как Next.js. Многие коллеги были на пару голов сильнее, тимлид - умным и ответственным человеком. Так что я снова развивался!
Усталость мне не грозила: компания была большой, поэтому проекты развивались без спешки.
Так продолжалось больше трех лет.
Новый скачок
Всё было хорошо. Экспертиза росла, отношения с коллегами оставались ровными.
Но зарплата в 140 тысяч в 2021 и 2024 - это две разные зарплаты. Я завел серьёзные отношения, ощутил амбиции, нарисовал планы на старость. Доходов уже не хватало, чтобы развиваться.
Поэтому я поставил цель: снова сделать х2 к зарплате.
Для этого нужно было брать синьорские позиции.
✅ 10 лайков - и я расскажу, как смог сделать х2 к зарплате в конце 2024, на рынке нанимателя.
*Имя изменено.
Telegram
Дэн Щербаков | IT Ментор ⚛️
Моя история: путь от офисного планктона до сеньора фронта
Я решил, что пойду в IT, в 2017 году. Тогда был менеджером на почте в компании Bosch. Зарабатывал 26500 рублей. Мне нравилось: на прошлой работе приходилось стоять по 8-12 часов, а платили столько…
Я решил, что пойду в IT, в 2017 году. Тогда был менеджером на почте в компании Bosch. Зарабатывал 26500 рублей. Мне нравилось: на прошлой работе приходилось стоять по 8-12 часов, а платили столько…
Дэн Щербаков ⚛️
Моя история в IT, часть 2: от джуна до синьора В первой части я рассказал, как попал в крупнейший банк на проект страхования жизни. Начало пути: корпоративная рутина Огромный опен-спейс на одном из верхних этажей. Корпоративный ThinkPad. Несколько недель…
Моя история в IT, часть 3: рекорд зарплаты
Спасибо за 10 лайков, друзья! Обещал - выполняю.
Прыжок веры
Летом 2024 я решился покинуть компанию.
Месяц я просто откисал. Ходил в зал, читал Orelly, делал алгоритмы на leetcode и писал о них в канал. Вот один из постов того периода.
Наконец, настало время открыть резюме.
Я открыл его на HH.ru, Хабр.Карьере, JavaScript Jobs. Поток откликов от HR...
Ледяной рынок IT 2024
...равнялся нулю. Ни одного отклика. Хантеры как вымерли.
Я понял, что рынок IT в 2024 новый - теперь за работу придется побороться.
Начал откликаться сам. Рекрутеры игнорировали отклики, либо отправляли отказы.
Вот тут меня охватила тревога! Что я делаю не так - не понимал.
Чего только ни перепробовал. Смотрел десятки видосов на YouTube. Покупал консультации. Вступал в закрытые сообщества.
Потратил кучу денег, чтобы понять, что делаю не так. Деньги заканчивались, тревога крепла.
Отрезвление
Оказалось, плохо было все.
Моё резюме не было оптимизировано ни под ATS, ни под рекрутеров и нанимающих менеджеров. Опыт описал непонятно: резюме невозможно было "сканировать" взглядом. Короче, как у многих из айтишников.
Я рассылал мало откликов.
В хорошие компании - не писал сопроводительных, и не умел пользоваться GPT для написания хороших, в своем стиле.
Не знал, как продавать свой опыт на скрининге под разные компании - даже не понимал, чем они отличаются.
Позже, когда пошли технические собесы, понял, что потратил кучу времени на неправильную подготовку к собесам, спрашивали вообще другое.
Оффер, наконец!
Я все пофиксил. Описал резюме по правильной формуле. Создал разные стратегии самопрезентации в "галеры" и в продукты. Подтянул актуальные технические навыки.
И вот, наконец, состоялось собеседование в небольшую российскую компанию - на позицию синьора фронта.
Все были без камер. Спрашивали очень глубоко - даже про перегрузку функций в TS!
Я ответил на все вопросы.
А дело было в пятницу. Уже в субботу мне прислали оффер на 270 тысяч рублей.
Вот так я нашел работу на х2 к зарплате в конце 2024.
В компании не было процессов - их пришлось строить самому. Других фронтов в команде тоже не было. Но это отдельная история.
Если собираешься искать работу во фронтенде в 2025, забирай мой гайд по резюме. В подарок за то, что дочитал :)
Спасибо за 10 лайков, друзья! Обещал - выполняю.
Прыжок веры
Летом 2024 я решился покинуть компанию.
Месяц я просто откисал. Ходил в зал, читал Orelly, делал алгоритмы на leetcode и писал о них в канал. Вот один из постов того периода.
Наконец, настало время открыть резюме.
Я открыл его на HH.ru, Хабр.Карьере, JavaScript Jobs. Поток откликов от HR...
Ледяной рынок IT 2024
...равнялся нулю. Ни одного отклика. Хантеры как вымерли.
Я понял, что рынок IT в 2024 новый - теперь за работу придется побороться.
Начал откликаться сам. Рекрутеры игнорировали отклики, либо отправляли отказы.
Вот тут меня охватила тревога! Что я делаю не так - не понимал.
Чего только ни перепробовал. Смотрел десятки видосов на YouTube. Покупал консультации. Вступал в закрытые сообщества.
Потратил кучу денег, чтобы понять, что делаю не так. Деньги заканчивались, тревога крепла.
Отрезвление
Оказалось, плохо было все.
Моё резюме не было оптимизировано ни под ATS, ни под рекрутеров и нанимающих менеджеров. Опыт описал непонятно: резюме невозможно было "сканировать" взглядом. Короче, как у многих из айтишников.
Я рассылал мало откликов.
В хорошие компании - не писал сопроводительных, и не умел пользоваться GPT для написания хороших, в своем стиле.
Не знал, как продавать свой опыт на скрининге под разные компании - даже не понимал, чем они отличаются.
Позже, когда пошли технические собесы, понял, что потратил кучу времени на неправильную подготовку к собесам, спрашивали вообще другое.
Оффер, наконец!
Я все пофиксил. Описал резюме по правильной формуле. Создал разные стратегии самопрезентации в "галеры" и в продукты. Подтянул актуальные технические навыки.
И вот, наконец, состоялось собеседование в небольшую российскую компанию - на позицию синьора фронта.
Все были без камер. Спрашивали очень глубоко - даже про перегрузку функций в TS!
Я ответил на все вопросы.
А дело было в пятницу. Уже в субботу мне прислали оффер на 270 тысяч рублей.
Вот так я нашел работу на х2 к зарплате в конце 2024.
В компании не было процессов - их пришлось строить самому. Других фронтов в команде тоже не было. Но это отдельная история.
Если собираешься искать работу во фронтенде в 2025, забирай мой гайд по резюме. В подарок за то, что дочитал :)
Telegram
Дэн Щербаков | IT Ментор ⚛️
Leetcode: 2000. Reverse prefix.
Еще одна задача с простыми условиями. Смысл в том, чтобы найти префикс - кусочек строки до некоего символа - и развернуть его.
Простая задача, не так ли? Зачем же их решать?
Затем, чтобы тренировать насмотренность и алгоритмическое…
Еще одна задача с простыми условиями. Смысл в том, чтобы найти префикс - кусочек строки до некоего символа - и развернуть его.
Простая задача, не так ли? Зачем же их решать?
Затем, чтобы тренировать насмотренность и алгоритмическое…
Сегодня пост про личное :)
В зале поставил новый рекорд жима лежа 💪
Очень ценю тренировки: разгоняют мозг, заряжают мотивацией и визуально делают лучше 🔥
А вторая фотка из Шереметьево - провожал девушку в командировку в Штаты. В аэропорту вообще особый вайб. Даже сейчас, когда иностранцев стало меньше.
Видел китайцев, веселых испанцев, состоятельные семьи летающие бизнес-классов. Мечтаю как можно скорее приехать в Шереметьево как пассажир ✈️
Кто узнал кафе, пишите в комменты :)
В зале поставил новый рекорд жима лежа 💪
Очень ценю тренировки: разгоняют мозг, заряжают мотивацией и визуально делают лучше 🔥
А вторая фотка из Шереметьево - провожал девушку в командировку в Штаты. В аэропорту вообще особый вайб. Даже сейчас, когда иностранцев стало меньше.
Видел китайцев, веселых испанцев, состоятельные семьи летающие бизнес-классов. Мечтаю как можно скорее приехать в Шереметьево как пассажир ✈️
Кто узнал кафе, пишите в комменты :)
Три кейса useMemo 🛠
Как и когда использовать хук useMemo - вопрос жестко популярный на собесах. Даже сейчас, во времена React 19 😁
Я подготовил три кейса для хука, которые дадут исчерпывающий ответ:
✅ Кеширование тяжелых вычислений. Возникает в приложениях со сложным UI, таких как игры или маркетплейсы, со сложной логикой на клиенте.
✅ Мемоизация зависимости useEffect. Например, ты сделал отфильтрованный массив пользователей. Его ты передал как зависимость в useEffect. Если что-то еще вызовет ререндер - то и useEffect вызовется снова. Хук useMemo делает ссылку на массив постоянной, и так решает эту проблему. Пример кода - выше ;)
✅ Мемоизация пропсов для React.memo
Допустим, у тебя есть обернутый в memo компонент. Ты передал в его пропсы объект без useMemo. Тогда объект на каждом рендере будет новый - и memo станет бесполезным: алгоритм сравнения пропсов, shallowEqual, сравнивает их по ссылкам, а на каждом рендере объект новый.
Знаешь еще кейсы? Кидай в комменты, всем будет полезно ✅
Как и когда использовать хук useMemo - вопрос жестко популярный на собесах. Даже сейчас, во времена React 19 😁
Я подготовил три кейса для хука, которые дадут исчерпывающий ответ:
✅ Кеширование тяжелых вычислений. Возникает в приложениях со сложным UI, таких как игры или маркетплейсы, со сложной логикой на клиенте.
✅ Мемоизация зависимости useEffect. Например, ты сделал отфильтрованный массив пользователей. Его ты передал как зависимость в useEffect. Если что-то еще вызовет ререндер - то и useEffect вызовется снова. Хук useMemo делает ссылку на массив постоянной, и так решает эту проблему. Пример кода - выше ;)
✅ Мемоизация пропсов для React.memo
Допустим, у тебя есть обернутый в memo компонент. Ты передал в его пропсы объект без useMemo. Тогда объект на каждом рендере будет новый - и memo станет бесполезным: алгоритм сравнения пропсов, shallowEqual, сравнивает их по ссылкам, а на каждом рендере объект новый.
Знаешь еще кейсы? Кидай в комменты, всем будет полезно ✅
➡️ Кто и зачем идет ко мне на менторство
Чаще всего мои ученики - фронтенд-разработчики с опытом в профессии. Они качнули навыки и хотят большей компенсации. Либо перестали развиваться на работе и хотят прокачаться, но не знают, что актуально в 2025, какой сейчас рынок.
Я также беру без коммерческого опыта. Условие: по собеседованию вижу, что ты хорошо подготовлен технически.
Как я строю работу с учениками:
0️⃣ Созваниваемся на бесплатном созвоне. Выясняем цели, начальный уровень подготовки. Считаем, какую выгоду получим от менторства: например, ученик недозарабатывает более 900 тысяч рублей в год.
1⃣ Составляем учебный план по технологиям и софт-скиллам.
2⃣ Перерабатываем резюме.
3⃣ Проходим первые интервью. Проводим мок-собеседования.
4⃣ Созваниваемся каждую неделю. Я отвечаю на вопросы, мы корректируем стратегию.
За 4 недели менторства ученик получает навыки:
✅ Проходить HR-скрининги.
✅ Проходить технические интервью.
✅ Проходить испытательный срок.
✅ Сохранять уверенность в себе на работе.
Эти навыки помогут тебе получить классный оффер 🔥
Пиши мне "+" в личку, чтобы записаться на консультацию, это бесплатно ⬅️
Чаще всего мои ученики - фронтенд-разработчики с опытом в профессии. Они качнули навыки и хотят большей компенсации. Либо перестали развиваться на работе и хотят прокачаться, но не знают, что актуально в 2025, какой сейчас рынок.
Я также беру без коммерческого опыта. Условие: по собеседованию вижу, что ты хорошо подготовлен технически.
Как я строю работу с учениками:
0️⃣ Созваниваемся на бесплатном созвоне. Выясняем цели, начальный уровень подготовки. Считаем, какую выгоду получим от менторства: например, ученик недозарабатывает более 900 тысяч рублей в год.
1⃣ Составляем учебный план по технологиям и софт-скиллам.
2⃣ Перерабатываем резюме.
3⃣ Проходим первые интервью. Проводим мок-собеседования.
4⃣ Созваниваемся каждую неделю. Я отвечаю на вопросы, мы корректируем стратегию.
За 4 недели менторства ученик получает навыки:
✅ Проходить HR-скрининги.
✅ Проходить технические интервью.
✅ Проходить испытательный срок.
✅ Сохранять уверенность в себе на работе.
Эти навыки помогут тебе получить классный оффер 🔥
Пиши мне "+" в личку, чтобы записаться на консультацию, это бесплатно ⬅️
🥷 Без чего бесполезен useCallback?
Встречал в своей работе несколько кейсов, когда useCallback использовали... бездумно, скажем так. Перечислю:
1⃣ Без массива зависимостей. Функция пересоздастся заново при каждом рендере и нагрузит рендер бесполезной мемоизацией.
2⃣ Как проп для компонента без React.memo. Такой дочерний компонент перерендерится, независимо от изменения пропсов.
3⃣ Неполный массив зависимостей. Функция замкнет в себе первое известное значение и будет его использовать. Как итог - трудноуловимый баг. Настрой линтер, чтобы не сталкиваться с ним.
Чаще всего useCallback используют вместе с React.memo для оптимизации списков. Есть и другие, узкие кейсы. Напишу о некоторых позже.
✅ Это один из популярных вопросов на собеседованиях, но не единственный. Все популярные вопросы я разбираю на своем менторстве.
Встречал в своей работе несколько кейсов, когда useCallback использовали... бездумно, скажем так. Перечислю:
1⃣ Без массива зависимостей. Функция пересоздастся заново при каждом рендере и нагрузит рендер бесполезной мемоизацией.
2⃣ Как проп для компонента без React.memo. Такой дочерний компонент перерендерится, независимо от изменения пропсов.
3⃣ Неполный массив зависимостей. Функция замкнет в себе первое известное значение и будет его использовать. Как итог - трудноуловимый баг. Настрой линтер, чтобы не сталкиваться с ним.
Чаще всего useCallback используют вместе с React.memo для оптимизации списков. Есть и другие, узкие кейсы. Напишу о некоторых позже.
✅ Это один из популярных вопросов на собеседованиях, но не единственный. Все популярные вопросы я разбираю на своем менторстве.
⬆️⬆️⬆️ Мнение синьора, как войти в IT в 2025-2030
Записал мини-подкаст, как человек с 6 годами опыта во фронтенде видит будущее отрасли. Получилось холиварно! Запускай, будет полезно и весело :)
Записал мини-подкаст, как человек с 6 годами опыта во фронтенде видит будущее отрасли. Получилось холиварно! Запускай, будет полезно и весело :)
Telegram
Дэн Щербаков ⚛️
Просто чиллю в Афимолле 😊 Заехал выпить кофе.
Здесь (в Sticks) классный раф и улыбчивые официанты. Henderson, Kaiser, барберы и другие удовольствия для парней тоже есть.
А над куполом видно башни Сити. Отпад вид 🔥
Здесь (в Sticks) классный раф и улыбчивые официанты. Henderson, Kaiser, барберы и другие удовольствия для парней тоже есть.
А над куполом видно башни Сити. Отпад вид 🔥
Нет откликов на резюме: что делать?
Ты реально стараешься. Откликаешься на 20-30 вакансий в день, под каждую адаптируешь сопроводительное. И ждешь, что приглашений будет хотя бы 30-50%.
Вместо этого зовет всего две компании в неделю - и те не лучшие.
За две недели таких стараний руки начинают опускаться.
Я был на твоем месте. И я нашел способ, как обходить барьеры.
Чтобы сделать твой путь к офферу быстрее и проще, я запустил услугу - личную консультацию по трудоустройству.
На консультации мы:
✅ Скорректируем твое резюме.
✅ Обсудим твою ситуацию: что делать с учетом твоего опыта, локации, возраста.
✅ Бонусом объясню, как работать с Linkedin в 2025 с наибольшим эффектом.
Стоимость до конца недели 1000 рублей, затем - 3000.
Если посчитаешь, что не получил на консультации ничего полезного, я верну деньги.
Пиши мне "резюме" в личку, чтобы получить консультацию ⬅️
Ты реально стараешься. Откликаешься на 20-30 вакансий в день, под каждую адаптируешь сопроводительное. И ждешь, что приглашений будет хотя бы 30-50%.
Вместо этого зовет всего две компании в неделю - и те не лучшие.
За две недели таких стараний руки начинают опускаться.
Я был на твоем месте. И я нашел способ, как обходить барьеры.
Чтобы сделать твой путь к офферу быстрее и проще, я запустил услугу - личную консультацию по трудоустройству.
На консультации мы:
✅ Скорректируем твое резюме.
✅ Обсудим твою ситуацию: что делать с учетом твоего опыта, локации, возраста.
✅ Бонусом объясню, как работать с Linkedin в 2025 с наибольшим эффектом.
Стоимость до конца недели 1000 рублей, затем - 3000.
Если посчитаешь, что не получил на консультации ничего полезного, я верну деньги.
Пиши мне "резюме" в личку, чтобы получить консультацию ⬅️
Telegram
⚛️ Daniel S
Ментор. Помогаю фронтендерам выходить на 300к: @code_lab ⬅️
⚛️ Хитрый вопрос с собеса: почему Redux?
На собеседовании тебя спросят: когда и почему стоит тащить в проект Redux?
И вот хитрость: правильный краткий ответ принесет тебе 0 бонусов.
Ты не провалишь собес - но тебя обойдут те, кто подготовился.
Держи пошаговый план, как ответить. Применяй его не только для любых открытых вопросов:
1️⃣ Базовая теория.
2️⃣ Углубленный пример.
3️⃣ История из рабочей практики.
В случае с Redux я бы отвечал так:
"Вообще, у Redux три преимущества - популярность, иммутабельность и легкость дебага.
Первое. У технологии отличная дока, а сообщество нашло большинство багов в Redux и экосистеме. Разрабатывать на нем - никакой эзотерики. Уже известно, как его внести в FSD. Это важно для средне-больших проектов.
Второе. Здесь нет мутабельности, как в MobX. Это значит не только предсказуемость, но и производительность. Чуть позже поясню.
Третье. Девтулзы дают легкий дебаг, а иммутабельность - тайм тревелинг (снепшоты состояний сохраняются при изменениях). Убежден, что дебаг на больших проектах должен быть как можно проще.
Давайте я пару слов скажу про профит от иммутабельности в производительности. Селекторы сравнивают состояние по ссылке. Если объект, на которое ссылалось поле состояния, изменился, redux прекращает вычисления: для него этого достаточно, чтобы понять, что состояние новое. Одна операция сравнения против сравнения структуры объекта - это серьёзно.
На одном из моих проектов в коде была ошибка: внутри useSelector оставили функцию со сложностью O(n2). Тяжелый код вызывался при диспатчинге любого экшена. Когда я его убрал, проект избавился от лагов, и мы сохранили все преимущества технологии."
➡️ На своем менторстве я помогаю описывать опыт привлекательно, чтобы выделиться среди кандидатов и получить классный оффер ✅
Если зашла рубрика ответов на вопросы собесов, ставь лайк 🔥
На собеседовании тебя спросят: когда и почему стоит тащить в проект Redux?
И вот хитрость: правильный краткий ответ принесет тебе 0 бонусов.
Ты не провалишь собес - но тебя обойдут те, кто подготовился.
Держи пошаговый план, как ответить. Применяй его не только для любых открытых вопросов:
1️⃣ Базовая теория.
2️⃣ Углубленный пример.
3️⃣ История из рабочей практики.
В случае с Redux я бы отвечал так:
"Вообще, у Redux три преимущества - популярность, иммутабельность и легкость дебага.
Первое. У технологии отличная дока, а сообщество нашло большинство багов в Redux и экосистеме. Разрабатывать на нем - никакой эзотерики. Уже известно, как его внести в FSD. Это важно для средне-больших проектов.
Второе. Здесь нет мутабельности, как в MobX. Это значит не только предсказуемость, но и производительность. Чуть позже поясню.
Третье. Девтулзы дают легкий дебаг, а иммутабельность - тайм тревелинг (снепшоты состояний сохраняются при изменениях). Убежден, что дебаг на больших проектах должен быть как можно проще.
Давайте я пару слов скажу про профит от иммутабельности в производительности. Селекторы сравнивают состояние по ссылке. Если объект, на которое ссылалось поле состояния, изменился, redux прекращает вычисления: для него этого достаточно, чтобы понять, что состояние новое. Одна операция сравнения против сравнения структуры объекта - это серьёзно.
На одном из моих проектов в коде была ошибка: внутри useSelector оставили функцию со сложностью O(n2). Тяжелый код вызывался при диспатчинге любого экшена. Когда я его убрал, проект избавился от лагов, и мы сохранили все преимущества технологии."
➡️ На своем менторстве я помогаю описывать опыт привлекательно, чтобы выделиться среди кандидатов и получить классный оффер ✅
Если зашла рубрика ответов на вопросы собесов, ставь лайк 🔥
🤯 Собес или смерть: ловушка поиска
Искать работу более месяца и на все получать отказы - выматывает.
Ты пытаешься понять, что упустил. Что-то исправляешь, но получается хаотично. Друзья и ChatGPT дают общие советы, они и не подходят под твою ситуацию. Читаешь статьи на Хабре, но они уже устарели.
Ты видишь, что скоро будешь экономить на привычных благах или срочно соглашаться на любую работу.
Самое время попросить экспертной помощи!
Так сделал фронтенд-разработчик из Казахстана, когда пришел ко мне на консультацию.
➡️ Кейс клиента
Несколько месяцев он искал работу на позицию мидла около 200 тысяч. Его звали на первичный скрининг. Потом, в 99% случаев, HR пропадали или присылали стандартные отписки. Он увидел мой пост о консультации и подумал: почему бы и нет?
Мы обсудили его ситуацию и начали анализировать. Выяснили:
1️⃣ Он гражданин Казахстана, ищет по СНГ.
2️⃣ Его интересует только удаленка по ИП.
3️⃣ В резюме есть стандартные ошибки самопрезентации.
Что мы сделали:
✅ Акцентировали в резюме достижения и сильные стороны именно как удалёнщика.
✅ Оформили опыт легко читаемо, отделили достижения от обязанностей.
✅ Продумали легенду, как превратить собеседование в эффективную продажу на его условиях, и разработали стратегию поиска.
Клиент получил конкретный план, как искать работу, и снизил стресс неопределенности.
Напомню, цена консультации до конца недели - 1000 рублей, после - 3000. Если не получишь пользы - верну деньги.
Напиши мне в личку слово "резюме", чтобы записаться на консультацию и получить классный оффер быстрее и спокойнее!
Искать работу более месяца и на все получать отказы - выматывает.
Ты пытаешься понять, что упустил. Что-то исправляешь, но получается хаотично. Друзья и ChatGPT дают общие советы, они и не подходят под твою ситуацию. Читаешь статьи на Хабре, но они уже устарели.
Ты видишь, что скоро будешь экономить на привычных благах или срочно соглашаться на любую работу.
Самое время попросить экспертной помощи!
Так сделал фронтенд-разработчик из Казахстана, когда пришел ко мне на консультацию.
➡️ Кейс клиента
Несколько месяцев он искал работу на позицию мидла около 200 тысяч. Его звали на первичный скрининг. Потом, в 99% случаев, HR пропадали или присылали стандартные отписки. Он увидел мой пост о консультации и подумал: почему бы и нет?
Мы обсудили его ситуацию и начали анализировать. Выяснили:
1️⃣ Он гражданин Казахстана, ищет по СНГ.
2️⃣ Его интересует только удаленка по ИП.
3️⃣ В резюме есть стандартные ошибки самопрезентации.
Что мы сделали:
✅ Акцентировали в резюме достижения и сильные стороны именно как удалёнщика.
✅ Оформили опыт легко читаемо, отделили достижения от обязанностей.
✅ Продумали легенду, как превратить собеседование в эффективную продажу на его условиях, и разработали стратегию поиска.
Клиент получил конкретный план, как искать работу, и снизил стресс неопределенности.
Напомню, цена консультации до конца недели - 1000 рублей, после - 3000. Если не получишь пользы - верну деньги.
Напиши мне в личку слово "резюме", чтобы записаться на консультацию и получить классный оффер быстрее и спокойнее!
Telegram
Дэн Щербаков ⚛️
Канал для фронтенд-разработчиков о том, как развиваться и увеличивать зарплату.
Senior Frontend Developer с 6 годами опыта. За этот период увеличил зарплату почти в 7 раз.
Начинайте тут: https://yangx.top/code_lab/280
Senior Frontend Developer с 6 годами опыта. За этот период увеличил зарплату почти в 7 раз.
Начинайте тут: https://yangx.top/code_lab/280
🤨 К кому идти за помощью в получении оффера?
Бывает, откликаешься на вакансии, но ответов HR мало.
На скринингах HR слушают, но пропадают.
Пробился на техническое - не возвращаются с обратной связью.
Ты в тупике.
Я был в такой ситуации. Потратил месяцы на поиски и тесты. И понял:
▶️ Как составлять резюме;
▶️ Как общаться на скрининге;
▶️ Как за 20% времени покрыть 80% тем на техническом.
Мои консультации - сумма всего этого опыта.
Ты сможешь пробить невидимый барьер, применив мой опыт.
Что я предлагаю:
✅ Получишь конкретный план по поиску работы фронтенд-разработчиком в 2025. Под твою личную ситуацию, именно под тебя.
✅ Узнаешь, что в твоей ситуации мешает в поиске работы.
✅ Получишь образец конверсионного резюме.
Пиши "+" в личку, и я помогу тебе решить затруднения в устройстве на работу фронтендером в 2025.
По цене 3000 осталось три слота. Далее цена вырастет до 5000 рублей, потому что желающих много, свободное время на консультации ограничено.
Бывает, откликаешься на вакансии, но ответов HR мало.
На скринингах HR слушают, но пропадают.
Пробился на техническое - не возвращаются с обратной связью.
Ты в тупике.
Я был в такой ситуации. Потратил месяцы на поиски и тесты. И понял:
▶️ Как составлять резюме;
▶️ Как общаться на скрининге;
▶️ Как за 20% времени покрыть 80% тем на техническом.
Мои консультации - сумма всего этого опыта.
Ты сможешь пробить невидимый барьер, применив мой опыт.
Что я предлагаю:
✅ Получишь конкретный план по поиску работы фронтенд-разработчиком в 2025. Под твою личную ситуацию, именно под тебя.
✅ Узнаешь, что в твоей ситуации мешает в поиске работы.
✅ Получишь образец конверсионного резюме.
Пиши "+" в личку, и я помогу тебе решить затруднения в устройстве на работу фронтендером в 2025.
По цене 3000 осталось три слота. Далее цена вырастет до 5000 рублей, потому что желающих много, свободное время на консультации ограничено.
⌛️Зачем нужен хук useDefferedValue?
Ты мог сталкиваться с ним на собеседованиях, но вряд ли использовал в продакшене. Зачем он нужен? Давай кратко разберемся.
Представь: в таблице или списке 10к записей, и каждая фильтрация вызывает у интерфейса микроинфаркт. UI лагает, будто на довре 2010-й. Ты что-то упустил. Пушить такое нельзя.
В чем же дело? Пока пользователь печатает в поиске, реакт ререндерит огромный список на каждый символ.
💡 И тут на сцену выходит useDeferredValue.
Он откладывает ререндер дорогих вычислений в отдельную таску, пока не освободятся ресурсы браузера. Сам ввод работает мгновенно, а фильтрация — с небольшой, но стабильной задержкой.
Здесь oldTableItems - это набор итемов с предыдущего рендера, а defferedTableItems - новый, отложенный для следующего рендера.
Состояние, когда данные в интерфейсе еще задерживаются, можно поймать простым сравнением и навесить CSS-класс, чтобы отобразить:
Интерфейс - шёлк, юзер доволен, ты - красавчик.
На своем менторстве я помогаю понять такие вещи, чтобы ты уверенно отвечал на собеседованиях и получал вкусные офферы ⬅️
Ты мог сталкиваться с ним на собеседованиях, но вряд ли использовал в продакшене. Зачем он нужен? Давай кратко разберемся.
Представь: в таблице или списке 10к записей, и каждая фильтрация вызывает у интерфейса микроинфаркт. UI лагает, будто на довре 2010-й. Ты что-то упустил. Пушить такое нельзя.
В чем же дело? Пока пользователь печатает в поиске, реакт ререндерит огромный список на каждый символ.
💡 И тут на сцену выходит useDeferredValue.
Он откладывает ререндер дорогих вычислений в отдельную таску, пока не освободятся ресурсы браузера. Сам ввод работает мгновенно, а фильтрация — с небольшой, но стабильной задержкой.
const oldTableItems = getHugeAmountOfItems();
const defferedTableItems = useDeferredValue(oldTableItems);
Здесь oldTableItems - это набор итемов с предыдущего рендера, а defferedTableItems - новый, отложенный для следующего рендера.
Состояние, когда данные в интерфейсе еще задерживаются, можно поймать простым сравнением и навесить CSS-класс, чтобы отобразить:
const isStaleState = (oldTableItems !== defferedTableItems) && 'color: gray'.
Интерфейс - шёлк, юзер доволен, ты - красавчик.
На своем менторстве я помогаю понять такие вещи, чтобы ты уверенно отвечал на собеседованиях и получал вкусные офферы ⬅️
🤓 Что оценивают на техническом интервью?
Если хочешь забрать жирный оффер, тебе нужно получить аппрув на техническом интервью.
Что хочет увидеть технарь на той стороне?
➡️ Знания. Как глубоко и широко владеешь теорией, решаешь абстрактные практические задачи типаconsole.log(11 && 45) .
➡️ Навыки. Как применяешь теорию. Для этого - лайфкодинг, включая алго-секцию.
➡️ Опыт. Как твои знания и навыки работают в реальных задачах. Для этого - задачи по рефакторингу React-приложений и "странные" просьбы рассказать как вообще об опыте, так и о задачах, которыми гордишься.
➡️ Soft-skills. Будь внимателен к этому пункту, это не буллщит от эффективных менеджеров. Это самый необъективный, психологичный - и очень важный кусок мозаики, если нанимаешься на линейную позицию. Даже на синьора. Они хотят видеть спокойную уверенность в себе, аналитический ум, умение внятно излагать мысли во время решения задач - особенно тех, решений которых ты не знаешь.
Как видишь, опыт или легенду нужно правильно сервировать и подавать технарю на стол, чтобы он не подавился. От его удовлетворения зависит твой найм.
На своих консультациях я даю базовую подготовку к техническому этапу. Пиши мне в личку "+", и оффер станет ближе ✅
Если хочешь забрать жирный оффер, тебе нужно получить аппрув на техническом интервью.
Что хочет увидеть технарь на той стороне?
➡️ Знания. Как глубоко и широко владеешь теорией, решаешь абстрактные практические задачи типа
➡️ Навыки. Как применяешь теорию. Для этого - лайфкодинг, включая алго-секцию.
➡️ Опыт. Как твои знания и навыки работают в реальных задачах. Для этого - задачи по рефакторингу React-приложений и "странные" просьбы рассказать как вообще об опыте, так и о задачах, которыми гордишься.
➡️ Soft-skills. Будь внимателен к этому пункту, это не буллщит от эффективных менеджеров. Это самый необъективный, психологичный - и очень важный кусок мозаики, если нанимаешься на линейную позицию. Даже на синьора. Они хотят видеть спокойную уверенность в себе, аналитический ум, умение внятно излагать мысли во время решения задач - особенно тех, решений которых ты не знаешь.
Как видишь, опыт или легенду нужно правильно сервировать и подавать технарю на стол, чтобы он не подавился. От его удовлетворения зависит твой найм.
На своих консультациях я даю базовую подготовку к техническому этапу. Пиши мне в личку "+", и оффер станет ближе ✅
Telegram
⚛️ Daniel S
Ментор. Помогаю фронтендерам выходить на 300к: @code_lab ⬅️
❌ 3 ошибки, за которые отсеивают рекрутеры
Тебе знаком этап общения с HR. Тебе непонятны их вопросы, не знаешь, что хотят услышать. Они не технари, но спрашивают про технический опыт.
Почему?
У тимлида ставка 300+ тысяч. Его время дорого стоит компании.
Поэтому фильтр HR неизбежен. Он максимально прост ⛔️
Разберем его:
1️⃣ Список технологий. У HR перед глазами перечень технологий на проекте. Упомянешь или нет? Если нет - дальше не пустят ❌
2️⃣ Стиль общения. Нервные смешки, путанная речь, явное выдумывание - ❌
3️⃣ Понимание ценности. Не можешь обосновать, что ты можешь дать компании, что делаешь хорошо, - на позицию выше middle не пройдешь ❌
Все эти ошибки я совершал сам. Они крайне популярны.
Не понимаешь, почему не пропускают на технические? Пиши мне в личку: на консультации я помогаю выявить ошибки и получить работу быстро ✅
Тебе знаком этап общения с HR. Тебе непонятны их вопросы, не знаешь, что хотят услышать. Они не технари, но спрашивают про технический опыт.
Почему?
У тимлида ставка 300+ тысяч. Его время дорого стоит компании.
Поэтому фильтр HR неизбежен. Он максимально прост ⛔️
Разберем его:
1️⃣ Список технологий. У HR перед глазами перечень технологий на проекте. Упомянешь или нет? Если нет - дальше не пустят ❌
2️⃣ Стиль общения. Нервные смешки, путанная речь, явное выдумывание - ❌
3️⃣ Понимание ценности. Не можешь обосновать, что ты можешь дать компании, что делаешь хорошо, - на позицию выше middle не пройдешь ❌
Все эти ошибки я совершал сам. Они крайне популярны.
Не понимаешь, почему не пропускают на технические? Пиши мне в личку: на консультации я помогаю выявить ошибки и получить работу быстро ✅
👀 Не знаешь этот хук React - у тебя проблемы!
Ты не сможешь решать сложных задач, не зная всех хуков React. Синьора отличает навык работы с крайними, редкими случаями.
Хук useImperativeHandle - твой лучший друг. На которого ты, скорее всего, забил.
Он превратит ref-объект в публичное API компонента-ребенка.
Хочешь менять состояние ребенка из родителя? Да! Работать с абсолютно любой сложностью, инкапсулированной внутри чайлда? Снова да!
Ты нарушишь Flow-подход, но иногда иначе никак.
➡️ Какие мне известны редкие кейсы, решенные useImperativeHandle?
✅ В UI-ките есть форма, инкапсулирующий логику сброса. Нужен доступ к этой логике. Выносить ее выше - маразм. И разработчик UI-кита предоставляет ручку к инкапсулированной логике.
✅ Есть огромный компонент видеоплеера. Задача - останавливать просмотр по клику в хедере. Я не хочу размазывать логику по всему приложению. Создаю с useImperativeHandle метод. Пилю реф. Пробрасываю через контекст в видеоплеер. И дергаю. Вот и все, без костылей с Redux.
А какие задачи ты мог решить с useImperativeHandle, но по незнанию делал костыли?
Делись инсайтами в комментах ⬇️⬇️⬇️
Ты не сможешь решать сложных задач, не зная всех хуков React. Синьора отличает навык работы с крайними, редкими случаями.
Хук useImperativeHandle - твой лучший друг. На которого ты, скорее всего, забил.
Он превратит ref-объект в публичное API компонента-ребенка.
Хочешь менять состояние ребенка из родителя? Да! Работать с абсолютно любой сложностью, инкапсулированной внутри чайлда? Снова да!
Ты нарушишь Flow-подход, но иногда иначе никак.
➡️ Какие мне известны редкие кейсы, решенные useImperativeHandle?
✅ В UI-ките есть форма, инкапсулирующий логику сброса. Нужен доступ к этой логике. Выносить ее выше - маразм. И разработчик UI-кита предоставляет ручку к инкапсулированной логике.
✅ Есть огромный компонент видеоплеера. Задача - останавливать просмотр по клику в хедере. Я не хочу размазывать логику по всему приложению. Создаю с useImperativeHandle метод. Пилю реф. Пробрасываю через контекст в видеоплеер. И дергаю. Вот и все, без костылей с Redux.
А какие задачи ты мог решить с useImperativeHandle, но по незнанию делал костыли?
Делись инсайтами в комментах ⬇️⬇️⬇️
💪 Как работать 12 часов в сутки и не выгорать?
Говорят, работай не много, а головой. А то выгоришь. Какие, мол, 12 часов, Дэн?
А я скажу: бывает, что нужно. Без сверхусилий нет сверхрезультата. И лучше тебе войти в это вооруженным.
Делюсь простой тактикой.
Разбей день на 3 фазы по 4 часа:
1️⃣ Сложная умственная работа. Технические интервью, продумывание архитектуры, сложные задачи по фронту.
2️⃣ Задачи умеренной сложности. HR-скрининги, шаблонный код, тесты.
3️⃣ Чилловые задачи. Пассивное обучение с конспектами, рутинные задачи, посты в блог.
В фазу 2 впихни спортзал, полезно для мозга.
Работай с Pomodoro-таймером.
Один день в неделю отдыхай. Даже если работа по 12 часов получается и ты чувствуешь себя суперменом. Криптонит никто не отменял.
И не волнуйся, на своем менторстве я не заставляю так работать 😁
Говорят, работай не много, а головой. А то выгоришь. Какие, мол, 12 часов, Дэн?
А я скажу: бывает, что нужно. Без сверхусилий нет сверхрезультата. И лучше тебе войти в это вооруженным.
Делюсь простой тактикой.
Разбей день на 3 фазы по 4 часа:
1️⃣ Сложная умственная работа. Технические интервью, продумывание архитектуры, сложные задачи по фронту.
2️⃣ Задачи умеренной сложности. HR-скрининги, шаблонный код, тесты.
3️⃣ Чилловые задачи. Пассивное обучение с конспектами, рутинные задачи, посты в блог.
В фазу 2 впихни спортзал, полезно для мозга.
Работай с Pomodoro-таймером.
Один день в неделю отдыхай. Даже если работа по 12 часов получается и ты чувствуешь себя суперменом. Криптонит никто не отменял.
И не волнуйся, на своем менторстве я не заставляю так работать 😁