и посмотреть медиа
Frontend | Interview questions
и посмотреть медиа
Interview questions frontend randomly.
Interview questions frontend randomly.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Collection of frontend questions: JavaScript, frameworks, performance, accessibility. Detailed answers will help confidently pass interviews.
🤔 Как оптимизировать страницы для печати? Если пользователи захотят распечатать вашу веб-страницу, важно, чтобы она выглядела чисто и профессионально. Для этого используется CSS-медиа-правило @media print, которое позволяет задать специальные стили для печати. 🟠Использование `@media print` Вы можете задать стили, которые будут применяться только при печати @media print { body { font-size: 12pt; /* Оптимальный размер шрифта */ color: black; /* Убираем цветной текст для экономии чернил */ background: none !important; /* Убираем фон */ } } 🟠Убираем ненужные элементы (меню, рекламу, анимации) Некоторые элементы (например, навигация, футер, кнопки) не нужны при печати, их можно скрыть @media print { nav, .sidebar, .ads, .button { display: none; /* Скрываем ненужное */ } } 🟠Изменяем ширину страницы и текст Обычно страницы шире, чем лист бумаги. Можно задать max-width для удобства @media print { body { width: 100%; max-width: 800px; /* Уменьшаем ширину */ margin: auto; /* Центрируем */ } } Заменяем цвета на чёрно-белые (экономия чернил) @media print { a { color: black !important; /* Делаем ссылки чёрными */ text-decoration: underline; /* Добавляем подчёркивание */ } } 🟠Добавляем URL ссылок в текст При печати гиперссылки не работают, поэтому можно показать их адрес @media print { a::after { content: " (" attr(href) ")"; /* Добавляем URL рядом со ссылкой */ font-size: 10pt; color: gray; } } Избегаем разрывов страниц в неудобных местах @media print { h1, h2, h3 { page-break-after: avoid; /* Не разрываем страницу после заголовка */ } p { page-break-inside: avoid; /* Не разрываем абзац на две страницы */ } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие есть способы фокусировки на элементе? - element.focus() - autofocus в HTML. - ref + useEffect в React. - Навигация через tabindex. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 С помощью чего можно рассчитать идентификатор в js? В JavaScript есть несколько способов сгенерировать уникальный идентификатор (ID), в зависимости от требований: 🟠 Генерация UUID UUID (универсально уникальный идентификатор) – это 128-битное число, представленное строкой в формате xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. Генерация с помощью crypto.randomUUID() (современный способ) const id = crypto.randomUUID(); console.log(id); // Например: "3d593c8e-7a34-45f7-9a14-2f5f5788d4ec" Использование библиотеки uuid import { v4 as uuidv4 } from 'uuid'; const id = uuidv4(); console.log(id); // "f47ac10b-58cc-4372-a567-0e02b2c3d479" 🟠Хеш-функции (SHA, MD5) Если нужно вычислить уникальный идентификатор на основе входных данных (например, строки или объекта), можно использовать хеш-функции. SHA-256 через crypto.subtle async function generateHash(input) { const encoder = new TextEncoder(); const data = encoder.encode(input); const hashBuffer = await crypto.subtle.digest('SHA-256', data); return [...new Uint8Array(hashBuffer)].map(b => b.toString(16).padStart(2, '0')).join(''); } generateHash("hello").then(console.log); // Например: "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824" 🟠Генерация случайного идентификатора Если нужна просто случайная строка, можно использовать Math.random(). Базовая генерация ID const id = Math.random().toString(36).substring(2, 10); console.log(id); // Например: "5g7f8a1z" Более безопасный вариант с crypto.getRandomValues() function generateRandomId(length = 16) { const array = new Uint8Array(length); crypto.getRandomValues(array); return [...array].map(b => b.toString(16).padStart(2, '0')).join(''); } console.log(generateRandomId(8)); // Например: "a3f9b8c7" 🟠Инкрементальные ID Если нужно просто увеличивающееся число (например, ID для записей в массиве), можно использовать счётчик let counter = 0; function generateIncrementalId() { return ++counter; } console.log(generateIncrementalId()); // 1 console.log(generateIncrementalId()); // 2 console.log(generateIncrementalId()); // 3 🟠Хеширование строки (например, объекта) Можно создать ID, основываясь на JSON-объекте. function hashObject(obj) { return JSON.stringify(obj) .split("") .reduce((hash, char) => { return ((hash
Открыть канал и посмотреть медиа🤔 Как работают плавающие элементы (floats)? При установке float: left или float: right: - элемент вырывается из нормального потока документа; - соседние элементы (особенно текст) обтекают его; - родитель может "не заметить" плавающий элемент, если не применить очистку (clearing). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как работают плавающие элементы (floats)? float – это CSS-свойство, которое позволяет "выплывать" элементу из обычного потока документа и обтекаться другими элементами (например, текстом). Основные значения float Это текст, который будет обтекать картинку. .float-img { float: left; margin-right: 10px; } 🟠Почему родитель "схлопывается" при `float`? Когда внутри div есть только float-элементы, браузер считает, что он пустой, потому что float убирает элемент из потока. Текст обтекает картинку. .container { background: lightgray; } .float-img { float: left; } Решение 1: overflow: hidden; .container { overflow: hidden; /* Контейнер теперь учитывает float-элементы */ } Решение 2: clearfix (старый способ) .container::after { content: ""; display: block; clear: both; } 🟠Как остановить обтекание (`clear`)? Чтобы отменить обтекание, используется clear. Этот текст обтекает картинку. Этот текст пойдёт на новую строку. .float-img { float: left; margin-right: 10px; } .clear { clear: both; } 🚩Почему `float` устарел и что использовать вместо него? Раньше float использовали для создания колонок и сеток, но сегодня его заменили: Flexbox (display: flex;) – лучше для адаптивных макетов. CSS Grid (display: grid;) – мощный инструмент для сложных сеток. .container { display: flex; align-items: center; } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как делим контракт из 4 методов? Контракт — это API-интерфейс. Делим по действиям: - /price — GET, POST, PATCH, DELETE. Или разбиваем на: - /price/get, /price/set, /price/subscribe, /price/history. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Когда используются теги div и span? и — это самые универсальные HTML-теги, но у них разные роли: — блочный контейнер (для структуры). — строчный контейнер (для оформления текста). 🚩Примеры использования `` Разметка секций страницы Навигация Основной контент Подвал Группировка элементов Заголовок Текст внутри карточки 🚩Когда использовать ``? используется для выделения части текста или небольших элементов. Это строчный элемент, который не переносится на новую строку. 🚩Примеры использования `` Выделение части текста Сегодня солнечная погода. Иконки, кнопки и маленькие элементы 🔍 Поиск Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как настраивать собственную кастомизацию форм? Можно использовать стили для стандартных элементов формы, применять псевдоэлементы, использовать кастомные компоненты на основе div и JavaScript. Также часто подключают библиотеки или UI-фреймворки. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!