Frontend Interview - собеседования по Javascript / Html / Css
12K subscribers
2.05K photos
108 videos
310 files
502 links
Канал для подготовки к собеседованиям по фронтенду

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/frontendinterview

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Break camelCase

Создайте функцию, которая разобьет строку в camelCase на несколько слов, разделенных пробелом

Пример
"camelCasing"  =>  "camel Casing"
"identifier" => "identifier"
"" => ""


👉 @frontendInterview
Какие методы http запросов знаешь ?

HTTP (HyperText Transfer Protocol) поддерживает множество методов запросов, каждый из которых предназначен для выполнения определенных действий на сервере. Вот основные методы HTTP-запросов, которые широко используются:

GET
Запрашивает данные с сервера.
- Не изменяет состояние сервера (идемпотентный).
- Параметры запроса передаются в URL.
- Кэшируется.
- Можно сохранить в закладках браузера.
GET /api/users?id=123 HTTP/1.1
Host: www.example.com


POST
Отправляет данные на сервер для создания ресурса или выполнения действия.
- Изменяет состояние сервера.
- Данные передаются в теле запроса.
- Не кэшируется по умолчанию.
POST /api/users HTTP/1.1
Host: www.example.com
Content-Type: application/json

{
"name": "John Doe",
"email": "[email protected]"
}


PUT
Отправляет данные на сервер для создания или замены ресурса.
- Идемпотентный.
- Данные передаются в теле запроса.
PUT /api/users/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json

{
"name": "John Doe",
"email": "[email protected]"
}


DELETE
Удаляет ресурс на сервере.
- Идемпотентный.
DELETE /api/users/123 HTTP/1.1
Host: www.example.com


PATCH
Частично обновляет ресурс на сервере.
- Не является идемпотентным, хотя в некоторых случаях может быть.
- Данные передаются в теле запроса.
PATCH /api/users/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json

{
"email": "[email protected]"
}


HEAD
Запрашивает только заголовки ресурса, без тела.
- Идемпотентный.
- Используется для проверки наличия ресурса, размера, даты последнего изменения и т.д.
HEAD /api/users/123 HTTP/1.1
Host: www.example.com


OPTIONS
Запрашивает поддерживаемые сервером методы для указанного ресурса.
- Идемпотентный.
- Используется для CORS-запросов, чтобы определить разрешенные методы и заголовки.
OPTIONS /api/users HTTP/1.1
Host: www.example.com


CONNECT
Устанавливает туннель к серверу, обычно используется для прокси-серверов.
- Не используется в обычных RESTful API.
CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com


👉 @frontendInterview
👍3🔥1
Какое значение примет result?
Anonymous Quiz
54%
true
46%
false
👍6
Как задать начальные стили для элемента в момент его появления на странице?

При вёрстке сайтов бывает нужно привлечь внимание пользователя к появлению элемента на странице. Например, плавно сменить цвет фона блока в момент загрузки сайта. Или сделать открытие диалога плавным и аккуратным. То есть необходимо осуществить переход из начального состояния элемента в основное. При этом сделать это нужно один раз и именно в момент появления элемента на экране.

Чтобы сообщить браузеру, какие должны быть стили у элемента в его начальном состоянии, используется директива @starting-style.

Пример
.promo-block {
transition: opacity 0.4s ease-in;
opacity: 1;
}

@starting-style {
.promo-block {
opacity: 0;
}
}


В момент загрузки страницы .promo-block будет не виден, так как в начальном состоянии opacity равен нулю. После загрузки страницы применятся стили из основного состояния: opacity будет равен единице и .promo-block отобразится на экране.

👉 @frontendInterview
👍61
Бесплатный практический вебинар: Веб-разработчик: с нуля до мини-игры за 2 часа.

Когда: 30 января в 19:00 по мск.

Погрузитесь в решение реальной задачи и напишите небольшую игру на HTML, JS и CSS, которая работает прямо в браузере 🎮

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

Какие JS фреймворки учить: Vue, React, а может, Angular?

Задайте вопросы опытному спикеру, сделайте первый шаг в направлении новой профессии.

🎁 Всем, кто зарегистрировался - гайд «Как заговорить на сленге IT-специалистов», а каждому участнику -  карта компетенций начинающего Frontend-разработчика и гайд «Как опубликовать страницу в интернете при помощи GitHub Pages»
Хочешь найти работу? Продай себя!

Я написала трилогию из статей по поиску работы, в которых покажу, что надо делать, чтобы компании наняли именно тебя. В этой статье я дам тебе новый взгляд на найм и обучу инструментам, с которыми ты выделишься среди конкурентов. Во второй укажу на ошибки в твоём резюме и мы вместе их исправим, чтобы игнорировать и фильтровать тебя компаниям стало невозможно. В третьей расскажу всё, что знаю про продающую самопрезентацию, благодаря которой ты сможешь получить работу с хорошей зарплатой.

План понятен? Хорошо. Осталась всего одна деталь!

Чтобы моя статья действительно дала тебе пользу, представь: ты заплатил мне за неё 100 тысяч рублей и она написана специально по твоему заказу.

Представил? Отлично, тогда продолжай читать внимательно, ведь деньги ты уже перевел.

👉 @frontendInterview
👍2👎1
Каким образом можно безопасно добавить текстовый контент в DOM?
Anonymous Quiz
22%
Используя innerHTML
47%
Используя textContent или createTextNode
28%
Используя innerText
2%
Используя outerHTML
👍2
Что думаешь про SSR?

Server-Side Rendering (SSR) — это метод рендеринга веб-страниц на сервере перед их отправкой в браузер клиента. В отличие от Client-Side Rendering (CSR), где основная работа по рендерингу выполняется на стороне клиента, SSR позволяет создать HTML-код страницы на сервере и отправить его уже готовым для отображения в браузере.

Преимущества

Улучшение SEO:
- Поисковые системы могут более эффективно индексировать страницы, так как они получают полностью рендеренный HTML-код.
- SSR обеспечивает лучшую видимость для поисковых роботов, что важно для сайтов, ориентированных на SEO.

Быстрое время до первого отрисовки (First Paint):

- Пользователи быстрее видят начальное содержимое страницы, так как браузер получает готовый HTML.
- Это может улучшить восприятие производительности и снизить показатель отказов.

Социальные сети и предварительный просмотр:
- SSR упрощает создание мета-тегов и содержимого для социальных сетей, что позволяет правильно отображать предварительный просмотр страниц при их шаринге.

Лучший пользовательский опыт на медленных устройствах:
- Так как большая часть вычислений выполняется на сервере, клиентские устройства с низкой производительностью быстрее отображают контент.

Недостатки

Увеличение нагрузки на сервер:
- Сервер должен обрабатывать и рендерить каждую страницу, что может требовать больше ресурсов по сравнению с CSR.
- Это может потребовать более мощного серверного оборудования или масштабирования для обработки большого трафика.

Увеличение времени отклика сервера:
- Рендеринг страниц на сервере может занять дополнительное время, особенно для сложных страниц с большим количеством данных.
- Это может привести к увеличению времени ответа сервера.

Сложность настройки и поддержки:

- Настройка SSR требует дополнительных знаний и усилий по сравнению с CSR.
- Поддержка и отладка SSR-приложений может быть более сложной из-за необходимости управлять состоянием на сервере и клиенте.

Гибридные решения могут быть сложными:
- Комбинирование SSR с CSR для достижения оптимальной производительности и функциональности (например, использованием технологии Hydration) может усложнить архитектуру приложения.

Примеры

Next.js для React:
- Популярный фреймворк, который облегчает создание SSR-приложений на основе React.
- Поддерживает гибридные приложения с SSR для начальной загрузки и CSR для последующего взаимодействия.

Nuxt.js для Vue.js:
- Фреймворк, предоставляющий мощные возможности для SSR с использованием Vue.js.
- Упрощает создание универсальных приложений с возможностью переключения между SSR и CSR.

👉 @frontendInterview
👍5
Устойчивый веб-дизайн

Без сомнения, "Устойчивый веб-дизайн" является обязательным чтением для веб-дизайнеров и front-end разработчиков во всем мире. Тут собрана история и философия веба. Раскрыты идеи веб-разработки.

👉 @frontendInterview
👍1
Binary Addition

Реализуйте функцию, которая складывает два числа и возвращает их сумму в двоичном виде. Преобразование может быть выполнено до или после сложения

Возвращаемое двоичное число должно быть строкой

Пример:
1, 1  //  "10" (1 + 1 = 2 in decimal or 10 in binary)
5, 9 // "1110" (5 + 9 = 14 in decimal or 1110 in binary)


👉 @frontendInterview
Что такое merge и rebase, в чем отличие друг от друга?

Это два способа интеграции изменений из одной ветки в другую в системе контроля версий Git. Оба метода имеют свои особенности и подходят для разных сценариев.

Merge (слияние)

Объединяет изменения из одной ветки в другую, создавая новый коммит слияния (merge commit). Этот метод сохраняет историю всех коммитов, включая все ветвления и слияния.
Предположим, у вас есть две ветки: main и feature.
В ветке feature вы сделали несколько коммитов.
Вы хотите объединить изменения из feature в main.
git checkout main
git merge feature


Rebase (перебазирование)

Перемещает или переписывает базу текущей ветки на указанную базу другой ветки. Это переписывает историю коммитов, создавая новые коммиты для каждого из оригинальных коммитов.
Предположим, у вас есть две ветки: main и feature.
В ветке feature вы сделали несколько коммитов.
Вы хотите перенести изменения из feature на текущий конец main.
git checkout feature
git rebase main


Основные отличия

История коммитов

Merge: Сохраняет всю историю, включая коммиты слияния. История показывает, когда и как происходили слияния веток.
Rebase: Переписывает историю, делая её линейной. История показывает, как если бы все изменения были сделаны последовательно, без ветвлений.

Коммиты слияния
Merge: Создает новый коммит слияния, который объединяет изменения из двух веток.
Rebase: Не создает коммит слияния. Перебазирование "переносит" коммиты одной ветки на другую.

Конфликты
Merge: Конфликты решаются один раз при слиянии.
Rebase: Конфликты могут возникнуть на каждом коммите, и их нужно решать поэтапно.

Применение
Merge: Хорош для сохранения полного контекста истории разработки, особенно в командной работе.
Rebase: Хорош для поддержания чистой, линейной истории, особенно перед слиянием ветки в основную ветку, например, main или master.

👉 @frontendInterview
👍8
🔥Podlodka React Crew – онлайн-конференция для React-разработчиков.

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

Что в программе:

💬 Говорим на одном языке с пользователями: i18n в React-приложениях Виталий Баев, контрибьютор Next.js и Vite 🌍 Как выбрать инструменты и сделать интерфейс удобным для всех?

📡 OpenTelemetry для фронтенд-разработчика Валерий Катцин, frontend-разработчик в Точке 📊 Как собирать данные о работе приложения и использовать их для улучшения продукта?

🔥 "Долгожданный" React 19 – Алекс Рассудихин, разработчик с опытом во Vue, React, Next и Astro 🚀 Какие фичи вышли в продакшен, а какие – нет?

🤖 AI Integrated Developer Experience – Марк Байдебура, Senior Full-stack Engineer в Influencer 🧠 Где AI реально помогает, а где пока его лучше не использовать?

📅 Конференция пройдет 10-14 февраля.

Ты не просто узнаешь по новые фичи и подходы, но и определишься, какие из них включить в свой roadmap и как расти дальше.

🔗 Регистрируйтесь: podlodka.io/reactcrew

Промокод сообщества
react_crew_2_oMGfq4 даёт скидку в 500 руб 🥳
1
Какое значение примет result?
Anonymous Quiz
20%
000123
32%
123000
26%
456456
21%
123123
Как обработать ситуацию, когда код выбрасывает ошибку, и не сломать приложение?

Конструкция try...catch позволяет выполнить произвольный код, но если в нем произошла ошибка, то программа не остановит своё выполнение, а перейдёт в блок catch, где ошибку можно обработать. В этой статье описаны принципы работы с этой конструкцией.

👉 @frontendInterview
👍7
UI/UX тренды в 2025: угрожает ли ИИ будущему дизайнеров и какие визуальные тренды нас удивят?

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

👉 @frontendInterview