Frontend | Готовимся к собесам
991 subscribers
87 photos
129 links
Вопросы с собеседований для позиций Frontend-разработчиков, тесты, практика от синьора. Читай, чтобы прокачаться перед встречей

Подготовка к собесам для Python https://t.me/+zwHb6xqpCyMyMzYy

Ссылка для друга на канал https://t.me/+XKrmpFxXdjE3ZmVi
Download Telegram
👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript

Функции


Избегайте отрицательных условных конструкций

Не усложняйте условные конструкции и не создавайте негативных сценариев проверок

Держите в голове простое правило:

Не создавайте условия с НЕ

🔩 Элемент не присутствует на странице ➡️ Элемент присутствует на странице

🔩 Запрос не ушел на сервер ➡️ Запрос ушел на сервер

🔩 Не получен статус 503 ➡️ Получен статус 503

Иначе позитивные сценарии будут звучать как комбинация двух НЕ

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Чем фреймворк отличается от библиотеки?

Ответ:
Фреймворк и библиотека – это два разных подхода к организации кода, которые используются для упрощения разработки программного обеспечения.

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

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

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


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯9🔥1
Какие способы клонирования объектов существуют в JavaScript?

Клонирование объектов можно сделать несколькими способами:
Использование Object.assign()
Использование оператора spread (...)
Использование JSON.parse() и JSON.stringify() (для глубокого клонирования, но с ограничениями).


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤯3
👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript

Функции


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

⚠️ Так же это одно из правил иммутабельности, которое важно соблюдать при работе с продвинутыми инструментами

Если у вас есть необходимость изменить объект, то почти всегда надежнее будет создать его копию, и уже в ней проводить мутации

Сейчас это можно делать за счет object spread operator (...obj) или по старинке через Object.assign()

➡️Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Что такое “IIFE” (Immediately Invoked Function Expression)?

IIFE — это функция, которая немедленно выполняется после её объявления. Она часто используется для создания замкнутого контекста и предотвращения загрязнения глобального пространства имен.

function() {
console.log('This function runs immediately');
})();


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
👩‍💻👩‍💻 Как выглядит алгоритм сортировки подсчетом на JavaScript?

Сортировка подсчетом — это алгоритм сортировки коллекции объектов по ключам, представляющим собой небольшие целые числа



const countingSort = (inputArr: number[], min: number, max: number) => {
const sortedArr = []

const count = new Array(max - min + 1).fill(0)

for (const element of inputArr) count[element - min]++

count[0] -= 1

for (let i = 1; i < count.length; i++) count[i] += count[i - 1]

for (let i = inputArr.length - 1; i >= 0; i--) {
sortedArr[count[inputArr[i] - min]] = inputArr[i]
count[inputArr[i] - min]--
}

return sortedArr
}


➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Что должен знать современный Middle Frontend

Вы и сами знаете, как тяжело обстоят дела с трудоустройством в 2025 году. Откликов на джунов больше, чем вакансий, и даже опытные вроде бы мидлы долго ищут работу.

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


👉 Смотреть видео

➡️ Подготовка Frontend | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Что такое “modules” в JavaScript?

Ответ:
Модули в JavaScript — это способ организации и изоляции кода. Модули позволяют импортировать и экспортировать функции, объекты и данные между различными файлами, обеспечивая лучшую структуру и повторное использование кода.

Пример:
/ module.js
export const greet = (name) => `Hello, ${name}`;

// main.js
import { greet } from './module.js';
console.log(greet('Alice'));


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🤯1
Максимально простые в создании контактные формы на ваши сайты 🙃

➡️ Бесплатного тарифа многим хватит за глаза

➡️ Не нужно создавать бэкенд и базы данных, данные сразу приходят вам на почту

➡️ Можете создавать любой дизайн на ваше усмотрение

➡️ Соответствие GDPR

Интегрировать можно в большинcтво современных инструментов: 👩‍💻👩‍💻👩‍💻👩‍💻

👉 Сайт с формами

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
Что такое мемоизация и когда её стоит использовать?

Ответ:
Мемоизация — это техника оптимизации, при которой результаты функции кэшируются, чтобы избежать повторных вычислений с одинаковыми входными данными. Это особенно полезно для функций, которые выполняют дорогие вычисления и часто вызываются с одинаковыми аргументами.

Пример реализации мемоизации:

function memoize(fn) {
const cache = {};
return function (...args) {
const key = args.join(',');
if (!cache[key]) {
cache[key] = fn(...args);
}
return cache[key];
};
}

const slowFunction = (a, b) => a + b; // пример функции
const fastFunction = memoize(slowFunction);

console.log(fastFunction(1, 2)); // 3
console.log(fastFunction(1, 2)); // 3 (из кэша)


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯6🔥1
Что такое Shadow DOM?

Ответ:
Shadow DOM — это механизм инкапсуляции, который позволяет скрыть часть DOM от основного дерева. Это полезно для создания компонентов с независимым стилем и поведением, предотвращая влияние на другие части страницы.

Пример:

<my-element></my-element>

<script>
class MyElement extends HTMLElement {
constructor() {
super();
const shadowRoot = this.attachShadow({ mode: 'open' });
shadowRoot.innerHTML = `<p>Hello from Shadow DOM</p>`;
}
}

customElements.define('my-element', MyElement);
</script>


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯3🔥1
Что такое “service workers” в JavaScript?

Ответ:
Service Workers — это скрипты, которые работают в фоновом режиме и могут использоваться для реализации функционала, такого как кэширование данных для работы в оффлайн-режиме, push-уведомления и фоновые синхронизации.

Пример регистрации service worker:

if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(registration) {
console.log('Service Worker зарегистрирован:', registration);
})
.catch(function(error) {
console.log


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Redux?

Ответ:
Redux — это библиотека для управления состоянием в JavaScript-приложениях. Он использует принцип единого хранилища (store), которое содержит все состояние приложения, и позволяет изменять его через действия (actions) и редьюсеры (reducers).


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое React Router и как он работает?

Ответ:
React Router — это библиотека для маршрутизации в React-приложениях. Она позволяет управлять навигацией между страницами, используя компоненты Route, Link и BrowserRouter.

<BrowserRouter>
<Link to="/home">Home</Link>
<Route path="/home" component={Home} />
</BrowserRouter>

Эти вопросы покрывают основные концепции React и соответствующие технологии. Готовность отвечать на них уверенно поможет вам показать свои знания и навыки на собеседовании для позиции React-разработчика.


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤯21
Сервис-генератор фона с градиентом

Хороший сервис, который способен генерить фоны из нескольких цветов, чтобы всё выглядело хорошо (вместо обычных 2-3 цветов)

➡️Открыть сервис

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что такое серверный рендеринг (SSR) в React?

Ответ:
Серверный рендеринг (SSR) — это процесс рендеринга React-компонентов на сервере перед отправкой HTML-кода на клиент. Это улучшает SEO и ускоряет первоначальную загрузку приложения.


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤯1
Как работает Suspense в React?

Ответ:
Suspense — это компонент, который позволяет отложить рендеринг части интерфейса до тех пор, пока не будут загружены необходимые ресурсы (например, компоненты или данные). Это часто используется в сочетании с React.lazy.


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Что такое “pure” компоненты?

Ответ:
Pure компоненты в React — это компоненты, которые не изменяют свои props и state, и всегда возвращают одинаковый результат при одинаковых входных данных. Они могут быть реализованы с помощью React.PureComponent или функциональных компонентов с использованием React.memo.


Ставь 🔥если знаешь ответ
Если нет — ставь 🤯

➡️ Подготовка Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯2