Мы готовы подвести итоги 🏃
Просмотрели вместе с командой заявки и приняли финальное решение! Это было непросто, потому что все кейсы интересные для работы и во всех историях можно найти себя)
Так как заявок было много и конкуренция очень высокая, решили взять двоих человек🫡
Наши победители - номера
7 и 17
Искренне поздравляем победителей и готовимся к работе) Скоро свяжемся с ребятами и начнем транслировать наш путь)
Ещё раз всем спасибо за участие!
Просмотрели вместе с командой заявки и приняли финальное решение! Это было непросто, потому что все кейсы интересные для работы и во всех историях можно найти себя)
Так как заявок было много и конкуренция очень высокая, решили взять двоих человек
Наши победители - номера
Искренне поздравляем победителей и готовимся к работе) Скоро свяжемся с ребятами и начнем транслировать наш путь)
Ещё раз всем спасибо за участие!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👏10❤5👌3❤🔥1
Первые впечатления Маши от работы 😇
Завтра возвращаемся к обычному контенту, но будем держать в курсе как идет работа, от подготовки до финального оффера 🤝
На первом звонке поставили цель - устроиться до нового года
Завтра возвращаемся к обычному контенту, но будем держать в курсе как идет работа, от подготовки до финального оффера 🤝
На первом звонке поставили цель - устроиться до нового года
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26❤10❤🔥6👍1🦄1
Чем дольше я веду менторство, тем реже на консультациях рассказываю про этапы, базы знаний и прочее.
И всё чаще — про людей.
Когда-то программа была системой из пунктов — резюме, собесы, техничка, созвоны, задачи.
Сейчас это сообщество разработчиков, которые тянут друг друга вверх.
Сейчас в CodePunks уже почти 90 человек.🥹🥹🥹
И рост сообщества напрямую влияет на скорость результатов учеников.
Резюме и скрининги, тех собесы, 2 раза в неделю совместное решение задач, поддержка на испытательном, рефералки.
Все это мы делаем вместе.
Если бы не было сообщества, у нас бы не сформировалась огромная база эйчар и закрытые доступы к топовым вакансиям.
Если бы не сообщество, мы бы физически не прошли 743 собеседования за 9 месяцев)
Если бы не сообщество, кто то бы точно сдался после очередного отказа.
Будь менторство просто созвонами по расписанию - не было таких результатов по размерам офферов (смотри скрин).
Горжусь.
@codepunks_bro
И всё чаще — про людей.
Когда-то программа была системой из пунктов — резюме, собесы, техничка, созвоны, задачи.
Сейчас это сообщество разработчиков, которые тянут друг друга вверх.
Сейчас в CodePunks уже почти 90 человек.🥹🥹🥹
И рост сообщества напрямую влияет на скорость результатов учеников.
Резюме и скрининги, тех собесы, 2 раза в неделю совместное решение задач, поддержка на испытательном, рефералки.
Все это мы делаем вместе.
Если бы не было сообщества, у нас бы не сформировалась огромная база эйчар и закрытые доступы к топовым вакансиям.
Если бы не сообщество, мы бы физически не прошли 743 собеседования за 9 месяцев)
Если бы не сообщество, кто то бы точно сдался после очередного отказа.
Будь менторство просто созвонами по расписанию - не было таких результатов по размерам офферов (смотри скрин).
Горжусь.
@codepunks_bro
🔥17❤10❤🔥4👍2🥰2👏2💯2
Недавно на стриме задали вопрос, а какое значение у таймера в мс:
После которого все значения приравниваются к минимальному?
Стрим прошел две недели назад, и в поисках разгадки я пошел в исходный код хрома, где есть вот такие комментарии:
А если более точно:
- В 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 мс.
Теперь можно спать спокойно)
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👀6❤4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥11❤7❤🔥3
Вижу, что часто спрашивают про тему прохождения ИС, так как я сам учавствую в найме и собеседованиях и попадал в не самые простые ситуации с разработчиками = записал небольшой подкаст на эту тему.
❤9❤🔥3
Стрим с викториной по задачам с собеседований🔥
Постепенно возвращаемся в рабочий темп со стримами
22.10 в 20:00 - стрим по задачам на контекст, замыкания и другие нюансы, что спрашивают на собеседованиях
К сожалению прошлый бот для стримов немного крякнулся, поэтому пришлось оперативно сделать новый - @codepunksstream_bot
Все приглашения на стримы отправлю в бота за час и за 15 минут до начала)
Постепенно возвращаемся в рабочий темп со стримами
22.10 в 20:00 - стрим по задачам на контекст, замыкания и другие нюансы, что спрашивают на собеседованиях
К сожалению прошлый бот для стримов немного крякнулся, поэтому пришлось оперативно сделать новый - @codepunksstream_bot
Все приглашения на стримы отправлю в бота за час и за 15 минут до начала)
🔥13❤10❤🔥3😍1
Готовимся провести вечер в мозговом штурме)
Ссылки на стрим будут в @codepunksstream_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤10🔥6🤝1
Через 1.40 начинаем)
Тут будет чат 🤝
Тут будет чат 🤝
👍2🔥2🤝2
Что интересного можно рассказать на собеседовании?
Кажется, что методы и browser API настолько многогранны, и нередко можно найти применение или интересные возможности просто раз в неделю заходя в MDN.
Конечно напрямую про них рассказывать без вопроса интервьюера будет как минимум странно, но 👇
Про методы, которые связаны с циклом событий можно упомянуть при рассказе о EventLoop, про некоторые методы можно рассказать в контексте оптимизации. Про отмену запросов на частой задаче fetchWithRetry.
Надеюсь, что пост поможет освежить память или узнать что-то новое, поехали🫡
1) MutationObserver
Один из самых часто используемых из списка.
Что делает: Следит за изменениями DOM (узлы/атрибуты/текст).
Где обитает: Визуальные виджеты, которые подключаются в «чужие» страницы: отслеживаем, когда хост добавил контейнер, и монтируемся.
2) requestIdleCallback
Что делает: Переданный колбэк выполнится когда не будет активных макро, микрозадач. То есть задача с самым низким приоритетом.
Зачем нужен: Отложенная аналитика и малозначимые расчёты (warm-up кэшей, prefetch конфигов).
3) requestAnimationFrame
- Ставит колбэк перед отрисовкой кадра.
Для чего:
- Плавные анимации чисел/скролла без «дёрганий».
- Синхронизация измерений/изменений DOM «в такт» с пайплайном рендеринга.
4) queueMicrotask
Что это. Кладёт колбэк в микротаски (выполняются до следующего рендера и перед таймерами).
Как можно использовать:
- Безопасная рассылка событий после коммита состояния, чтобы подписчики уже видели итог.
5) IntersectionObserver
Сообщает, когда элемент попадает/выходит из вьюпорта.
6) ResizeObserver
Что делает? Слушает изменение размеров элемента.
Где использовать:
- Автолэйаут «контейнер-зависимых» компонентов (чарты, таблицы).
- Пересчёт обрезки/кроссфейда текста при ресайзе контейнера, а не окна.
7) AbortController
Что это? Универсальная отмена для fetch и не только.
- Отмена устаревших запросов.
- Предотвращение race-condition.
- Прерывание долгих операций при смене маршрута в SPA.
8) PerformanceObserver
Подписка на метрики производительности.
Кажется, что методы и 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
🔥31❤9❤🔥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
🔥21❤6👨💻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
Для тех, кто хочет провести выходной с пользой — уже готов разбор тех самых каверзных JS-задач.
Кто пропустил стрим — теперь можете посмотреть все в записи. Кто был — накидывайте в закладки, чтобы не потерять 👍
➡️ Смотреть стрим: https://www.youtube.com/watch?v=T5Wc0QXCvAY
YouTube
Фронтенд задачи,которые учат думать как JS-разработчик
#программист #айти #собес
Мой телеграм-канал: https://t.iss.one/+PkvI8JmOd2U1ODFi
Таймкоды:
1:40 задача по обьектам
8:46 Переменная “var”
14:00 Задача на асинхронность
21:31 Задачи на обьекты,функции
26:21 Итоги и рекомендации
Меня зовут Тихон, и я тут чтобы…
Мой телеграм-канал: https://t.iss.one/+PkvI8JmOd2U1ODFi
Таймкоды:
1:40 задача по обьектам
8:46 Переменная “var”
14:00 Задача на асинхронность
21:31 Задачи на обьекты,функции
26:21 Итоги и рекомендации
Меня зовут Тихон, и я тут чтобы…
❤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
- 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
nextjs.org
Upgrading: Version 16
Upgrade your Next.js Application from Version 15 to 16.
🔥17❤8👍5
Завтра в 20:00 стрим с разбором задач по TypeScript 🔥
В этот раз решили вернуть старый формат с решением задач голосом, против решения только в чате.
Если вы готовы поучаствовать и решать с нами - напишите заранее @codepunks_bro, и мы выделим несколько задач :)
Ссылка на подключение будет за час🔺 ТУТ
До встречи! 🤓
В этот раз решили вернуть старый формат с решением задач голосом, против решения только в чате.
Если вы готовы поучаствовать и решать с нами - напишите заранее @codepunks_bro, и мы выделим несколько задач :)
Ссылка на подключение будет за час
До встречи! 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍10🔥6🐳4
Не обязательно обучение и выход на хороший оффер - это жесткие рамки, сложности и проблемы.
С этого кота началась наша работа с Алиной, и этим же котом отпразновали первый оффер со второго собеседования🔥
Кейс: последний курс университета, нужно найти первую работу разработчиком
Результат: 2 месяца и 18 котов в чате по ходу обучения (3 грустных, остальные веселые), ну и оффер 180, что для первой работы очень неплохо)👍
@codepunks_bro
С этого кота началась наша работа с Алиной, и этим же котом отпразновали первый оффер со второго собеседования
Кейс: последний курс университета, нужно найти первую работу разработчиком
Результат: 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
🔥24❤9👍7🏆2
Серьезный пост🤓
Мне очень нужна ваша обратная связь для контента, и чтобы не устраивать публичных опросов, сделал небольшой тест в боте - там всего 5 вопросов
От вас - 5 минут
От меня - ценный материал "Топ-100 компаний, куда можно отправить резюме" прямо со ссылками на вакансии.
Чтобы помочь мне улучшить канал и получить материал, переходите по ссылке🔺 ПРОЙТИ ОПРОС
Всех заранее благодарю🤍
PS: и до встречи сегодня в 20:00 на стриме
Мне очень нужна ваша обратная связь для контента, и чтобы не устраивать публичных опросов, сделал небольшой тест в боте - там всего 5 вопросов
От вас - 5 минут
От меня - ценный материал "Топ-100 компаний, куда можно отправить резюме" прямо со ссылками на вакансии.
Чтобы помочь мне улучшить канал и получить материал, переходите по ссылке
Всех заранее благодарю🤍
PS: и до встречи сегодня в 20:00 на стриме
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝8❤3👌3