Дамир
Хочу перейти на новую работу.
Будет прекрасно, если поможете.
Моя история:
Мне 48.
Опыт в качестве frontend-разработчика по резюме 3 года.
Выпускник великого вуза: МИФИ. 💪
Зарплата на текущем месте работы: 150-180.
Хочу выйти на работу уровня 250-300.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5.5K👍529❤498🎉469❤🔥2🌭2
24 заявки!
Надеюсь, вы смогли посмотреть истории всех ребят и готовы оставить свой голос)
Все достойные, все супер
Опрос не сможем устроить так как там ограничение)
Поэтому голосуем реакциями, а завтра подведем итоги и начнем работу😘
Надеюсь, вы смогли посмотреть истории всех ребят и готовы оставить свой голос)
Все достойные, все супер
Опрос не сможем устроить так как там ограничение)
Поэтому голосуем реакциями, а завтра подведем итоги и начнем работу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤5
Мы поняли, что голосование вышло из-под контроля 😅
Сразу скажу, что мы против накруток и стремимся к честному результату. Также для нас важно, чтобы внутри сообщества сохранялась дружественная атмосфера. Давайте уважать друг друга🙂
Есть мысль сделать внутренне голосование, провести опрос внутри команды наших менторов, где точно не будет подобного.
Также мы упустили одну заявку, где тоже интересная история. Ее тоже включим в голосование
Думаю, так будет честнее по отношению ко всем.
Сразу скажу, что мы против накруток и стремимся к честному результату. Также для нас важно, чтобы внутри сообщества сохранялась дружественная атмосфера. Давайте уважать друг друга
Есть мысль сделать внутренне голосование, провести опрос внутри команды наших менторов, где точно не будет подобного.
Также мы упустили одну заявку, где тоже интересная история. Ее тоже включим в голосование
Думаю, так будет честнее по отношению ко всем.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍21❤🔥6🎃3
Мы придумали реалити, чтобы помогать людям, что в целом и есть главная цель канала)
Такой формат помогает людям с похожими историями заряжаться друг от друга и получать мотивацию. Это никак не предполагает ссор и негатива в комментариях)
Для меня эта ситуация тоже сложная, но я не хочу никого обвинять и вешать ярлыки.
Мы подведем результаты ближе к вечеру, постараемся рассудить справедливо и выбрать самую искреннюю историю, за которой интересно будет наблюдать)
Такой формат помогает людям с похожими историями заряжаться друг от друга и получать мотивацию. Это никак не предполагает ссор и негатива в комментариях)
Для меня эта ситуация тоже сложная, но я не хочу никого обвинять и вешать ярлыки.
Мы подведем результаты ближе к вечеру, постараемся рассудить справедливо и выбрать самую искреннюю историю, за которой интересно будет наблюдать)
❤29❤🔥6👍3🦄2
Мы готовы подвести итоги 🏃
Просмотрели вместе с командой заявки и приняли финальное решение! Это было непросто, потому что все кейсы интересные для работы и во всех историях можно найти себя)
Так как заявок было много и конкуренция очень высокая, решили взять двоих человек🫡
Наши победители - номера
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
🔥18❤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 Итоги и рекомендации
Меня зовут Тихон, и я тут чтобы…
❤22❤🔥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