Тихон | Помогаю разработчикам устроиться в BigTech
4.14K subscribers
110 photos
12 videos
1 file
85 links
Senior-разработчик, ментор
Отзывы https://t.iss.one/bestitteam
🫂Записаться на консультацию или задать вопрос @codepunks_bro
Download Telegram
Мы готовы подвести итоги 🏃

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

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

Наши победители - номера
7 и 17

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

Ещё раз всем спасибо за участие!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👏105👌3❤‍🔥1
Первые впечатления Маши от работы 😇

Завтра возвращаемся к обычному контенту, но будем держать в курсе как идет работа, от подготовки до финального оффера 🤝

На первом звонке поставили цель - устроиться до нового года
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2610❤‍🔥6👍1🦄1
Чем дольше я веду менторство, тем реже на консультациях рассказываю про этапы, базы знаний и прочее.

И всё чаще — про людей.

Когда-то программа была системой из пунктов — резюме, собесы, техничка, созвоны, задачи.

Сейчас это сообщество разработчиков, которые тянут друг друга вверх.

Сейчас в CodePunks уже почти 90 человек.🥹🥹🥹

И рост сообщества напрямую влияет на скорость результатов учеников.

Резюме и скрининги, тех собесы, 2 раза в неделю совместное решение задач, поддержка на испытательном, рефералки.

Все это мы делаем вместе.

Если бы не было сообщества, у нас бы не сформировалась огромная база эйчар и закрытые доступы к топовым вакансиям.

Если бы не сообщество, мы бы физически не прошли 743 собеседования за 9 месяцев)

Если бы не сообщество, кто то бы точно сдался после очередного отказа.

Будь менторство просто созвонами по расписанию - не было таких результатов по размерам офферов (смотри скрин).

Горжусь.
@codepunks_bro
🔥1710❤‍🔥4👍2🥰2👏2💯2
Недавно на стриме задали вопрос, а какое значение у таймера в мс:
setTimeout(() => {}, 0.004)

После которого все значения приравниваются к минимальному?

Стрим прошел две недели назад, и в поисках разгадки я пошел в исходный код хрома, где есть вот такие комментарии:
// Chromium uses a minimum timer interval of 4ms. We'd like to go
// lower; however, there are poorly coded websites out there which do
// create CPU-spinning loops. Using 4ms prevents the CPU from
// spinning too busily and provides a balance between CPU spinning and
// the smallest possible interval timer.
static const double minimumInterval = 0.004;


А если более точно:
- В Blink таймеры держат «зажим» 4 мс только после 5-го уровня вложенности (цепочка/рекурсивные вызовы). Это видно прямо в исходниках: maxTimerNestingLevel = 5, minimumInterval = 0.004, и если вложенность ≥ 5 и запрошено меньше — поднимают до 4 мс. Для остальных случаев сначала берут максимум с 1 мс.

- В фоновых вкладках Chromium дополнительно душит таймеры (выравнивание/интенсивное throttling), так что задержки могут стать ≫ 4 мс.

- Спецификация HTML тоже говорит: «после пяти вложенных таймеров» — минимум 4 мс.

Итого:
— setTimeout(() => {}, 4) в активной вкладке, без вложенных вызовов — ок, но первый таймер может сработать и около 1–4 мс.

— setTimeout(() => {}, 0) в активной вкладке: первые несколько срабатываний могут быть ~1 мс, после 5-й вложенности — будут зажаты до 4 мс.

Теперь можно спать спокойно)
🔥25👍8👀64
This media is not supported in your browser
VIEW IN TELEGRAM
🔥117❤‍🔥3
Вижу, что часто спрашивают про тему прохождения ИС, так как я сам учавствую в найме и собеседованиях и попадал в не самые простые ситуации с разработчиками = записал небольшой подкаст на эту тему.
9❤‍🔥3
Стрим с викториной по задачам с собеседований🔥

Постепенно возвращаемся в рабочий темп со стримами

22.10 в 20:00 - стрим по задачам на контекст, замыкания и другие нюансы, что спрашивают на собеседованиях

К сожалению прошлый бот для стримов немного крякнулся, поэтому пришлось оперативно сделать новый - @codepunksstream_bot

Все приглашения на стримы отправлю в бота за час и за 15 минут до начала)
🔥1310❤‍🔥3😍1
🎰 Стрим по решению задач с собеседований уже сегодня в 20:00

Готовимся провести вечер в мозговом штурме)

Ссылки на стрим будут в @codepunksstream_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1110🔥6🤝1
Через 1.40 начинаем)

Тут будет чат 🤝
👍2🔥2🤝2
Что интересного можно рассказать на собеседовании?

Кажется, что методы и browser API настолько многогранны, и нередко можно найти применение или интересные возможности просто раз в неделю заходя в MDN.

Конечно напрямую про них рассказывать без вопроса интервьюера будет как минимум странно, но 👇

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

Надеюсь, что пост поможет освежить память или узнать что-то новое, поехали 🫡

1) MutationObserver
Один из самых часто используемых из списка.

Что делает: Следит за изменениями DOM (узлы/атрибуты/текст).

Где обитает: Визуальные виджеты, которые подключаются в «чужие» страницы: отслеживаем, когда хост добавил контейнер, и монтируемся.

const mo = new MutationObserver(records => {
for (const r of records) if ([...r.addedNodes].some(n => n.id === 'widget')) mount();
});
mo.observe(document.documentElement, { childList: true, subtree: true });


2) requestIdleCallback

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

Зачем нужен: Отложенная аналитика и малозначимые расчёты (warm-up кэшей, prefetch конфигов).

requestIdleCallback(() => warmUpSearchIndex(), { timeout: 2000 });


3) requestAnimationFrame

- Ставит колбэк перед отрисовкой кадра.

Для чего:
- Плавные анимации чисел/скролла без «дёрганий».
- Синхронизация измерений/изменений DOM «в такт» с пайплайном рендеринга.
function tick(t) { updatePositions(t); raf = requestAnimationFrame(tick); }
let raf = requestAnimationFrame(tick);


4) queueMicrotask

Что это. Кладёт колбэк в микротаски (выполняются до следующего рендера и перед таймерами).

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

setState(next);
queueMicrotask(() => bus.emit('state:committed'));


5) IntersectionObserver

Сообщает, когда элемент попадает/выходит из вьюпорта.
const io = new IntersectionObserver(([e]) => {
if (e.isIntersecting) { img.src = img.dataset.src; io.unobserve(img); }
}, { rootMargin: '200px' });
io.observe(img);


6) ResizeObserver

Что делает? Слушает изменение размеров элемента.

Где использовать:
- Автолэйаут «контейнер-зависимых» компонентов (чарты, таблицы).
- Пересчёт обрезки/кроссфейда текста при ресайзе контейнера, а не окна.

const ro = new ResizeObserver(([entry]) => redrawChart(entry.contentRect));
ro.observe(chartEl);


7) AbortController

Что это? Универсальная отмена для fetch и не только.

- Отмена устаревших запросов.
- Предотвращение race-condition.
- Прерывание долгих операций при смене маршрута в SPA.
const c = new AbortController();
fetch('/api/search?q=' + q, { signal: c.signal });
input.addEventListener('input', () => c.abort());


8) PerformanceObserver


Подписка на метрики производительности.

new PerformanceObserver(list => {
for (const e of list.getEntries()) report(e);
}).observe({ type: 'largest-contentful-paint', buffered: true });

performance.mark('data:start');
// ... загрузили данные
performance.mark('data:end');
performance.measure('data:load', 'data:start', 'data:end');
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥319❤‍🔥4👏2👀2🙊1
🧑‍🎓Полезная подборка на выходные

Для трудоустройства:
- 60 вопросов, которые точно помогут тебе на собеседовании
- Как мы пишем резюме, чтобы собрать приглашения
- Как пройти фильтр HR
- Задачи, на которых валятся кандидаты

Кому не хватает мотивации:
- Средний оффер наших учеников 271к, и ты так сможешь!
- Убеждения, которые мешают развиваться

Техническое:
- База. Часть 2. Микрофронты
- 10 задротских вопросов про JavaScript, после которых ты усомнишься, что вообще знаешь JS. Часть 1
- 10 задротских вопросов про React, которые поставят в тупик многих. Часть 2

- Как мы помогаем с трудоустройством

В следующую среду планируем стрим по TypeScript, где будем решать задачи с собеседований вместе с подписчиками, анонс будет в - @codepunksstream_bot💪

А также все выходные провожу консультации, если давно думаешь сменить работу или выйти на грейд выше - @codepunks_bro 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥216👨‍💻6👍2🥰1
🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚20🐳6🥰2👾1
Всем привет!

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

Кто пропустил стрим — теперь можете посмотреть все в записи. Кто был — накидывайте в закладки, чтобы не потерять 👍

➡️ Смотреть стрим: https://www.youtube.com/watch?v=T5Wc0QXCvAY
21❤‍🔥6👍2
Next 16-й версии (от 21 октября)

- React 19.2 по умолчанию.

- Cache Components + директива "use cache": явное кэширование компонентов, страниц и функций

Turbopack по умолчанию: быстрее сборки и Fast Refresh

React Compiler: автоматическая мемоизация компонентов из React 19

proxy.ts вместо middleware.ts: middleware.ts помечен как deprecated

Next.js DevTools MCP: интеграция Model Context Protocol для AI-отладки (единые логи, стек-трейсы, контекст маршрута).

Новые API кэша: updateTag(), обновлённый revalidateTag(), refresh() из Server Actions
🔥178👍5
Завтра в 20:00 стрим с разбором задач по TypeScript 🔥

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

Если вы готовы поучаствовать и решать с нами - напишите заранее @codepunks_bro, и мы выделим несколько задач :)

Ссылка на подключение будет за час 🔺ТУТ

До встречи! 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍10🔥6🐳4
Не обязательно обучение и выход на хороший оффер - это жесткие рамки, сложности и проблемы.

С этого кота началась наша работа с Алиной, и этим же котом отпразновали первый оффер со второго собеседования 🔥

Кейс: последний курс университета, нужно найти первую работу разработчиком

Результат: 2 месяца и 18 котов в чате по ходу обучения (3 грустных, остальные веселые), ну и оффер 180, что для первой работы очень неплохо) 👍

@codepunks_bro
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥249👍7🏆2
Серьезный пост🤓

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

От вас - 5 минут
От меня - ценный материал "Топ-100 компаний, куда можно отправить резюме" прямо со ссылками на вакансии.

Чтобы помочь мне улучшить канал и получить материал, переходите по ссылке 🔺ПРОЙТИ ОПРОС

Всех заранее благодарю🤍

PS: и до встречи сегодня в 20:00 на стриме
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝83👌3