Зачем использовать семантические классы в CSS?
Anonymous Quiz
8%
Для ускорения рендеринга страницы
82%
Для создания читаемого и понятного кода, упрощающего поддержку и масштабирование
7%
Для автоматического подключения стилей к HTML-элементам
4%
Для замены CSS-препроцессоров
👍4
Как реализовать перегрузку функции в TypeScript?
TypeScript поддерживает перегрузку функций, но её реализация отличается от той, которую можно видеть в других языках. А именно, описывается лишь одна функция и некоторое количество её объявлений с разными параметрами. Когда такой код компилируется в JavaScript, в нём остаётся лишь одна функция. Этот механизм работает благодаря тому, что JS-функции можно вызывать с любым количеством параметров.
👉 @frontendInterview
TypeScript поддерживает перегрузку функций, но её реализация отличается от той, которую можно видеть в других языках. А именно, описывается лишь одна функция и некоторое количество её объявлений с разными параметрами. Когда такой код компилируется в JavaScript, в нём остаётся лишь одна функция. Этот механизм работает благодаря тому, что JS-функции можно вызывать с любым количеством параметров.
class Foo {
myMethod(a: string);
myMethod(a: number);
myMethod(a: number, b: string);
myMethod(a: any, b ? : string) {
alert(a.toString());
}
}👉 @frontendInterview
Программирование в алгоритмах
Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных алгоритмов. Освещены такие вопросы, как комбинаторные алгоритмы, перебор, алгоритмы на графах, алгоритмы вычислительной геометрии. Приводятся избранные олимпиадные задачи по программированию с указаниями к решению.
👉 @frontendInterview
Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных алгоритмов. Освещены такие вопросы, как комбинаторные алгоритмы, перебор, алгоритмы на графах, алгоритмы вычислительной геометрии. Приводятся избранные олимпиадные задачи по программированию с указаниями к решению.
👉 @frontendInterview
Find the stray number
Вам дан массив целых чисел нечетной длины, все из которых одинаковы, за исключением одного единственного числа. Завершите метод, который принимает такой массив и возвращает это единственное число.
Входной массив всегда будет верным! (нечетная длина >= 3)
Примеры:
👉 @frontendInterview
Вам дан массив целых чисел нечетной длины, все из которых одинаковы, за исключением одного единственного числа. Завершите метод, который принимает такой массив и возвращает это единственное число.
Входной массив всегда будет верным! (нечетная длина >= 3)
Примеры:
[1, 1, 2] ==> 2
[17, 17, 3, 17, 17, 17, 17] ==> 3
👉 @frontendInterview
Если ты хочешь войти во фронтенд-разработку — сейчас идеальный момент входа.
ИИ не убил профессию. Он убрал самое страшное — барьер входа.
Сегодня первый рабочий сайт можно сгенерировать через ChatGPT или DeepSeek, довести до ума на HTML и CSS, оживить JavaScript и выложить в продакшен. Всё это за одну неделю.
Именно это мы и делаем на бесплатном 7-дневном практикуме.
Ты пройдёшь путь от чистого листа до реального проекта в портфолио, с поддержкой кураторов на каждом шаге. Не один на один с туториалами.
Стартуем завтра.
👉 Приходи на бесплатный практикум
🎁 Каждому участнику гайд «Фронтенд в 2026: что делать новичку в эпоху ИИ»
ИИ не убил профессию. Он убрал самое страшное — барьер входа.
Сегодня первый рабочий сайт можно сгенерировать через ChatGPT или DeepSeek, довести до ума на HTML и CSS, оживить JavaScript и выложить в продакшен. Всё это за одну неделю.
Именно это мы и делаем на бесплатном 7-дневном практикуме.
Ты пройдёшь путь от чистого листа до реального проекта в портфолио, с поддержкой кураторов на каждом шаге. Не один на один с туториалами.
Стартуем завтра.
👉 Приходи на бесплатный практикум
🎁 Каждому участнику гайд «Фронтенд в 2026: что делать новичку в эпоху ИИ»
👎5❤1
System Design - этап собеседования, на котором часто сыпятся даже сильные разработчики. Не потому, что они плохо пишут код, а потому что никогда не проектировали системы целиком и не знают, как уложить это в 40 минут собеса.
В одном из гайдов собрана база, без которой сложно пройти System Design интервью: что именно проверяют на таких собеседованиях, почему плохой архитектурный дизайн может уронить продукт, какие требования собирают перед проектированием и как инженеры подходят к построению систем уровня Amazon.
В первой части рассказывается:
- что такое системный дизайн и кому он нужен
- как в целом проектируются системы: монолиты, микросервисы, нагрузка, масштабирование, проектирование API
- какие темы нужно понимать для продвинутого уровня: распределённые транзакции, 2PC, 3PC, TCC и другие.
Во второй части планируют разобрать System Design во фронтенде, но для подготовки к собеседованию, по сути, достаточно уже первой.
Ссылка на видео: https://youtu.be/PgC7LzIG29k
В одном из гайдов собрана база, без которой сложно пройти System Design интервью: что именно проверяют на таких собеседованиях, почему плохой архитектурный дизайн может уронить продукт, какие требования собирают перед проектированием и как инженеры подходят к построению систем уровня Amazon.
В первой части рассказывается:
- что такое системный дизайн и кому он нужен
- как в целом проектируются системы: монолиты, микросервисы, нагрузка, масштабирование, проектирование API
- какие темы нужно понимать для продвинутого уровня: распределённые транзакции, 2PC, 3PC, TCC и другие.
Во второй части планируют разобрать System Design во фронтенде, но для подготовки к собеседованию, по сути, достаточно уже первой.
Ссылка на видео: https://youtu.be/PgC7LzIG29k
YouTube
Первая часть гайда по System Design (все IT направления) / Пройти интервью на Middle+
➡️ Полный 5ти часовой курс: https://youtu.be/HHQTVvMXadE
👉 Менторы, принявшие участие в записи курса:
Инара Гаврилина: https://t.me/find_it_mentor_bot?startapp=mentor_432142118
Михаил Савин: https://t.me/find_it_mentor_bot?startapp=mentor_1168274840
👉…
👉 Менторы, принявшие участие в записи курса:
Инара Гаврилина: https://t.me/find_it_mentor_bot?startapp=mentor_432142118
Михаил Савин: https://t.me/find_it_mentor_bot?startapp=mentor_1168274840
👉…
🧭 Разбираем React вместе с Podlodka React Crew
Современные React-приложения становятся всё сложнее. Разработчики регулярно сталкиваются с проблемами производительности, утечками памяти и архитектурными вызовами.
Базового понимания фреймворка становится недостаточно для результативной работы.
💡Эксперты Podlodka React Crew решили разобраться с этой проблемой на онлайн-конференции под названием «Продвинутый React».
С 23 по 27 марта ее участники:
⚙️ узнают, как устроен рендер и внутренние механизмы в современном React
🧠 познакомятся с архитектурой приложений, где применяются React Server Components
📊 научатся профилировать React-приложения и выявлять медленные рендеры, memory leak
🛠️познакомятся с дополнительными инструментами, которые помогут упростить отладку и выявить сложные проблемы
Формат — удобный и ламповый: пять дней, живые Zoom-сессии утром и вечером, закрытое профессиональное сообщество в Telegram и общение со спикерами.
Если хотите углубить свои знания про React в компании крутых экспертов, присоединяйтесь к Podlodka React Crew👇
🎟Забрать early-bird билет: https://podlodka.io/reactcrew
Современные React-приложения становятся всё сложнее. Разработчики регулярно сталкиваются с проблемами производительности, утечками памяти и архитектурными вызовами.
Базового понимания фреймворка становится недостаточно для результативной работы.
💡Эксперты Podlodka React Crew решили разобраться с этой проблемой на онлайн-конференции под названием «Продвинутый React».
С 23 по 27 марта ее участники:
⚙️ узнают, как устроен рендер и внутренние механизмы в современном React
🧠 познакомятся с архитектурой приложений, где применяются React Server Components
📊 научатся профилировать React-приложения и выявлять медленные рендеры, memory leak
🛠️познакомятся с дополнительными инструментами, которые помогут упростить отладку и выявить сложные проблемы
Формат — удобный и ламповый: пять дней, живые Zoom-сессии утром и вечером, закрытое профессиональное сообщество в Telegram и общение со спикерами.
Если хотите углубить свои знания про React в компании крутых экспертов, присоединяйтесь к Podlodka React Crew👇
🎟Забрать early-bird билет: https://podlodka.io/reactcrew
👍2
CSS-анимация на примере аналоговых часов
Классический разбор того, как знание спецификации заменяет скрипты. Автор воссоздал реалистичные часы, используя только возможности CSS3.
Адаптивность через em: Один font-size родителя масштабирует все часы пропорционально (включая тени и засечки).
Реалистичный хром: Многослойные box-shadow (внешние и inset) создают объем и металлический блеск без картинок.
Вложенные transform: rotate(): Умная расстановка минутных делений по кругу с помощью всего нескольких тегов <i>.
Тиканье стрелки: Анимация с animation-timing-function: steps(60) вместо плавного вращения.
Понимание вложенных трансформаций и оптимизации рендеринга помогает делать производительные UI-анимации, не нагружая Main Thread.
📖 Детали реализации на Хабре: https://habr.com/ru/articles/171015/
👉 @frontendInterview
Классический разбор того, как знание спецификации заменяет скрипты. Автор воссоздал реалистичные часы, используя только возможности CSS3.
Адаптивность через em: Один font-size родителя масштабирует все часы пропорционально (включая тени и засечки).
Реалистичный хром: Многослойные box-shadow (внешние и inset) создают объем и металлический блеск без картинок.
Вложенные transform: rotate(): Умная расстановка минутных делений по кругу с помощью всего нескольких тегов <i>.
Тиканье стрелки: Анимация с animation-timing-function: steps(60) вместо плавного вращения.
Понимание вложенных трансформаций и оптимизации рендеринга помогает делать производительные UI-анимации, не нагружая Main Thread.
📖 Детали реализации на Хабре: https://habr.com/ru/articles/171015/
👉 @frontendInterview
❤1👍1👎1
Кастомизация списков: от
Современный CSS позволяет гибко управлять списками, не перегружая HTML лишними элементами.
Разбираем три основных подхода.
✅ Псевдоэлемент
Самый быстрый способ изменить стандартную точку или цифру.
Что можно: менять color, font-size и font-family.
Ограничение: нельзя задать фон или произвольное позиционирование.
Нюанс: маркер выравнивается по базовой линии текста. При большом font-size он сместится вверх относительно строки.
✅ Директива
Инструмент для создания собственных систем нумерации (Baseline 2023).
system: cyclic — позволяет зациклить любые символы или эмодзи (например, фазы луны 🌑🌓🌕).
system: extends — модифицирует стандартные стили (например, заменяет точку после цифры на скобку: 1) вместо 1.).
✅ Полный контроль через
Когда возможностей ::marker не хватает для сложного дизайна.
Доступность: при list-style: none обязательно добавляйте role="list" в HTML, иначе Safari перестанет озвучивать список корректно.
Механика: используйте функции counter(list-item) для простых списков или counters(list-item, ".") для вложенной нумерации (1.1, 1.2).
Верстка: через position: absolute маркеру можно задать любые размеры, фон и точное положение относительно текста.
Источник: https://piccalil.li/blog/an-in-depth-guide-to-customising-lists-with-css/
👉 @frontendInterview
::marker до @counter-styleСовременный CSS позволяет гибко управлять списками, не перегружая HTML лишними элементами.
Разбираем три основных подхода.
::markerСамый быстрый способ изменить стандартную точку или цифру.
Что можно: менять color, font-size и font-family.
Ограничение: нельзя задать фон или произвольное позиционирование.
Нюанс: маркер выравнивается по базовой линии текста. При большом font-size он сместится вверх относительно строки.
@counter-styleИнструмент для создания собственных систем нумерации (Baseline 2023).
system: cyclic — позволяет зациклить любые символы или эмодзи (например, фазы луны 🌑🌓🌕).
system: extends — модифицирует стандартные стили (например, заменяет точку после цифры на скобку: 1) вместо 1.).
::beforeКогда возможностей ::marker не хватает для сложного дизайна.
Доступность: при list-style: none обязательно добавляйте role="list" в HTML, иначе Safari перестанет озвучивать список корректно.
Механика: используйте функции counter(list-item) для простых списков или counters(list-item, ".") для вложенной нумерации (1.1, 1.2).
Верстка: через position: absolute маркеру можно задать любые размеры, фон и точное положение относительно текста.
Источник: https://piccalil.li/blog/an-in-depth-guide-to-customising-lists-with-css/
👉 @frontendInterview
Please open Telegram to view this post
VIEW IN TELEGRAM
Piccalilli
An in-depth guide to customising lists with CSS
Richard Rutter helps you to make sense of list-style, list-item, ::marker, counters(), counter(), @counter-style, symbolic, symbols(), symbols and more to push your HTML and CSS lists to the next level.
«Летающий» фокус на View Transitions API
Анимация перемещения фокуса между элементами (focus ring) делает интерфейс «живее» и помогает пользователю не терять активный элемент при навигации с клавиатуры. Раньше для этого высчитывали координаты через getBoundingClientRect, теперь всё делает браузер.
Вместо анимации самой кнопки мы анимируем только рамку фокуса. Для этого каждому интерактивному элементу добавляется вспомогательный <span>.
1️⃣ CSS: Рамка фокуса получает уникальное view-transition-name только в тот момент, когда родительский элемент находится в состоянии :focus-visible.
2️⃣ JS: Переключаем фокус программно внутри startViewTransition. Браузер увидит, что элемент с именем focus-ring переместился и изменил размер, и сам создаст плавный переход.
👉 @frontendInterview
Анимация перемещения фокуса между элементами (focus ring) делает интерфейс «живее» и помогает пользователю не терять активный элемент при навигации с клавиатуры. Раньше для этого высчитывали координаты через getBoundingClientRect, теперь всё делает браузер.
Вместо анимации самой кнопки мы анимируем только рамку фокуса. Для этого каждому интерактивному элементу добавляется вспомогательный <span>.
1️⃣ CSS: Рамка фокуса получает уникальное view-transition-name только в тот момент, когда родительский элемент находится в состоянии :focus-visible.
2️⃣ JS: Переключаем фокус программно внутри startViewTransition. Браузер увидит, что элемент с именем focus-ring переместился и изменил размер, и сам создаст плавный переход.
👉 @frontendInterview
❤1👍1
TanStack Form: новый стандарт для работы с формами в JS
Все знают TanStack Query (бывший React Query), который перевернул работу с запросами. Теперь команда разработчиков выпустила TanStack Form - библиотеку для управления формами, которая решает старые боли фронтендеров.
Главные фишки:
🟢 Агностицизм: работает не только с React, но и с Vue, Angular, Solid, Svelte и даже Vanilla JS.
🟢 100% Type-Safe: глубокая интеграция с TypeScript. Ошибки в названиях полей или типах данных подсвечиваются прямо при написании кода.
🟢 Валидация без привязки: можно использовать любую привычную библиотеку (Zod, Valibot, Yup) или писать кастомные функции.
🟢 Производительность: библиотека обновляет состояние точечно, поэтому даже огромные формы с сотнями полей не будут тормозить интерфейс.
Если вам надоело мучиться с настройкой сложных форм, TanStack Form - отличный кандидат на замену старым инструментам.
👉 @frontendInterview
Все знают TanStack Query (бывший React Query), который перевернул работу с запросами. Теперь команда разработчиков выпустила TanStack Form - библиотеку для управления формами, которая решает старые боли фронтендеров.
Главные фишки:
Если вам надоело мучиться с настройкой сложных форм, TanStack Form - отличный кандидат на замену старым инструментам.
👉 @frontendInterview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
3 сентября(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM
Как убрать «висячие» строки во Flexbox: flex-wrap: balance и flex-line-count
Каждый фронтендер сталкивался с проблемой: настраиваешь flex-wrap: wrap, но при сужении экрана на последнюю строку перескакивает ровно один элемент. Раньше это костылили через медиазапросы. Теперь в Chrome есть нативные свойства flex-wrap: balance и flex-line-count.
Автобалансировка: flex-wrap: balance
Свойство распределяет элементы по строкам равномерно, убирая одиноких «сирот» в конце:
CSS
.channels {
display: flex;
flex-wrap: balance;
justify-content: center;
gap: 1rem;
}
Никаких сложных вычислений или JS — браузер всё делает сам.
Контроль строк через flex-line-count
Оно задает минимальное количество строк. Даже если места хватает для одного ряда, элементы принудительно распределятся по заданному числу:
CSS
.nav-list {
display: flex;
flex-wrap: balance;
flex-line-count: 2; /* Минимум 2 строки */
gap: 0.5rem;
}
Подробнее в статье👇
👉 @frontendInterview
Каждый фронтендер сталкивался с проблемой: настраиваешь flex-wrap: wrap, но при сужении экрана на последнюю строку перескакивает ровно один элемент. Раньше это костылили через медиазапросы. Теперь в Chrome есть нативные свойства flex-wrap: balance и flex-line-count.
Автобалансировка: flex-wrap: balance
Свойство распределяет элементы по строкам равномерно, убирая одиноких «сирот» в конце:
CSS
.channels {
display: flex;
flex-wrap: balance;
justify-content: center;
gap: 1rem;
}
Никаких сложных вычислений или JS — браузер всё делает сам.
Контроль строк через flex-line-count
Оно задает минимальное количество строк. Даже если места хватает для одного ряда, элементы принудительно распределятся по заданному числу:
CSS
.nav-list {
display: flex;
flex-wrap: balance;
flex-line-count: 2; /* Минимум 2 строки */
gap: 0.5rem;
}
Подробнее в статье👇
👉 @frontendInterview
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Оффер 427 000₽ на руки в Сбер и отказались
Оффер 380 000₽ на руки в банк
Оффер 6 800$ net с релокацией на Кипр
Оффер 4 500$ в американскую компанию
👆Это недавние результаты участников нашего комьюнити.
В нашем канале много ценного для разработчиков по подготовке к собесам👇
Полные разборы реальных собеседований: Сбер, VK, OZON, M-Video, Evrone, еще раз OZON, IT One, Trading View, МТС, Лантан, ДОМ.РФ
Сборники вопросов по темам:
Кибербезопасность на собеседовании
Все вопросы по React на собеседовании
Все вопросы по TypeScript на собеседовании
Как решать задачи двумя указателями
Вопросы с Vue собеседований
Вопросы по сетям и методологиям с 200 собесов
Вопросы по JS с 200 собесов
Какие задачи спрашивают на livecoding чаще
Полезные посты:
Job-борды для поиска работы
Запись нашего самого кринжового собеса
Новый HTTP метод QUERY
Как я прохожу собесы:
Оффер 260к на Go в Empoycity
Оффер 300к на Go в "Системная интеграция"
Отжал 390 gross + 25% премии в Иннотех
Оффер на лида 415 gross + 20% премии в ПСБ
🏆Статистика по рынку:
Июль, Июнь, Май, Апрель, Март
А еще каждый четверг у нас проходят полезные стримы с решениями задач и разборами резюме)
Подписывайся 👇
frontend_punks
Реклама, erid: 2W5zFGy3wrZ ИП Галактионов Тихон Витальевич, ИНН 771618975809
Оффер 380 000₽ на руки в банк
Оффер 6 800$ net с релокацией на Кипр
Оффер 4 500$ в американскую компанию
👆Это недавние результаты участников нашего комьюнити.
Меня зовут Тихон - я действующий разработчик и ментор. Уже 2 года я развиваю комьюнити, где 300+ разработчиков, и вместе мы выжимаем из рынка максимум!
В нашем канале много ценного для разработчиков по подготовке к собесам👇
Полные разборы реальных собеседований: Сбер, VK, OZON, M-Video, Evrone, еще раз OZON, IT One, Trading View, МТС, Лантан, ДОМ.РФ
Сборники вопросов по темам:
Кибербезопасность на собеседовании
Все вопросы по React на собеседовании
Все вопросы по TypeScript на собеседовании
Как решать задачи двумя указателями
Вопросы с Vue собеседований
Вопросы по сетям и методологиям с 200 собесов
Вопросы по JS с 200 собесов
Какие задачи спрашивают на livecoding чаще
Полезные посты:
Job-борды для поиска работы
Запись нашего самого кринжового собеса
Новый HTTP метод QUERY
Как я прохожу собесы:
Оффер 260к на Go в Empoycity
Оффер 300к на Go в "Системная интеграция"
Отжал 390 gross + 25% премии в Иннотех
Оффер на лида 415 gross + 20% премии в ПСБ
🏆Статистика по рынку:
Июль, Июнь, Май, Апрель, Март
А еще каждый четверг у нас проходят полезные стримы с решениями задач и разборами резюме)
Подписывайся 👇
frontend_punks
Реклама, erid: 2W5zFGy3wrZ ИП Галактионов Тихон Витальевич, ИНН 771618975809
❤1👍1👎1
🔴 Тестовый собес на Frontend-разработчика со старшим разработчиком ex. Сбер в этот четверг!
[+ разбор 50 сложных вопросов в подарок ]
17 сентября (в этот четверг!) в 19:00 по мск приходи онлайн, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика!
Собеседование проведёт Даниил Дмитриев - старший разработчик в R-Vision, ex. Сбер,
Как это будет:
📂 Даниил задаст разработчику вопросы и задачи, которые могут спросить на реальном собесе
📂 После каждого ответа респондента ты услышишь подробный комментарий от ментора и поймёшь, чего на самом деле ожидает собеседующий на интервью
📂 В конце сможешь задать любой вопрос Даниилу и получить на него развёрнутый ответ
Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы
И ты можешь посмотреть его бесплатно 🔥
Только завтра, в прямом эфире!
🎁 Подарок для всех, кто зарегается на веб — файл с ОТВЕТАМИ НА 50 СЛОЖНЫХ ВОПРОСОВ с Frontend-собеседований 🔥
Переходи в бот, чтобы попасть на эфир и забрать подарок 👉 @shortcut_front_bot
Реклама.
О рекламодателе.
[+ разбор 50 сложных вопросов в подарок ]
17 сентября (в этот четверг!) в 19:00 по мск приходи онлайн, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика!
Собеседование проведёт Даниил Дмитриев - старший разработчик в R-Vision, ex. Сбер,
Как это будет:
📂 Даниил задаст разработчику вопросы и задачи, которые могут спросить на реальном собесе
📂 После каждого ответа респондента ты услышишь подробный комментарий от ментора и поймёшь, чего на самом деле ожидает собеседующий на интервью
📂 В конце сможешь задать любой вопрос Даниилу и получить на него развёрнутый ответ
Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы
И ты можешь посмотреть его бесплатно 🔥
Только завтра, в прямом эфире!
🎁 Подарок для всех, кто зарегается на веб — файл с ОТВЕТАМИ НА 50 СЛОЖНЫХ ВОПРОСОВ с Frontend-собеседований 🔥
Переходи в бот, чтобы попасть на эфир и забрать подарок 👉 @shortcut_front_bot
Реклама.
О рекламодателе.
👎1