Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Объясните разницу между последовательным и параллельным выполнением асинхронных функций. Как работают Promise.all() и Promise.allSettled()?
Последовательное выполнение асинхронных функций означает, что каждая следующая функция начинается только после завершения предыдущей, тогда как параллельное выполнение позволяет нескольким функциям выполняться одновременно.
Метод Promise.all() запускает несколько промисов параллельно и возвращает результат, когда все они успешно завершатся, а Promise.allSettled() возвращает результат независимо от того, завершился ли каждый промис успехом или ошибкой.
Что такое Globals?
Globals — это глобальные объекты и функции, доступные во всем приложении.
Например:
__dirname — путь к текущей директории.
__filename — путь к текущему файлу.
process — информация о процессе Node.js.
В чем разница между == и equals()?
Оператор == сравнивает ссылки на объекты, то есть проверяет, указывают ли две переменные на один и тот же объект в памяти.
Метод equals() сравнивает содержимое объектов, что важно, если нужно проверить равенство значений объектов.
Для чего нужны Protocols в Swift? Приведите пример.
Протоколы в Swift определяют набор требований, которым должны соответствовать типы (классы, структуры, перечисления). Протоколы не содержат реализации, а лишь описывают методы и свойства, которые должен реализовать тип. Это позволяет создавать гибкие и переиспользуемые компоненты.
Что такое функция "also" в Kotlin?
Функция also выполняет дополнительные действия с объектом внутри лямбда-выражения, но возвращает сам объект без изменений. Это полезно, когда нужно выполнить побочные эффекты, такие как логирование или проверку состояния, но оставить объект неизменным.
Расскажите о CLS.
Как защитить данные в LocalStorage от стороннего JS?
Расскажите про принципы SOLID: SRP, OCP, LSP, ISP, DIP и примеры их применения на практике.
Для чего переопределяют методы GetHashCode и Equals и как они используются в Dictionary<TKey, TValue>?
Как связаны точки (points) и пиксели (pixels) на экране? Как рассчитать масштаб (scale) устройства?
Рейтинг:
2
Сложность:
6
CLS (Common Language Specification) — это подмножество CTS, которое определяет набор правил для обеспечения совместимости между языками .NET. CLS гарантирует, что компоненты, написанные на разных языках, могут взаимодействовать друг с другом.
Рейтинг:
4
Сложность:
7
Полностью защитить LocalStorage от чтения/изменения сторонним JS нельзя, так как он доступен в том же контексте. Можно уменьшить риски: хранить только нечувствительные данные, использовать шифрование или HttpOnly-куки для критичной информации.
Рейтинг:
2
Сложность:
5
SOLID объединяет пять принципов:
SRP (Single Responsibility) — класс отвечает за одну задачу (например, разделить логику валидации от сохранения).
OCP (Open/Closed) — расширять поведение через наследование или композицию без изменения существующего кода (добавить новый тип обработки, не правя базовый класс).
LSP (Liskov Substitution) — подкласс должен заменять базовый без нарушений (метод Rectangle.SetWidthHeight не должен ломать Square).
ISP (Interface Segregation) — маленькие интерфейсы, клиенты не должны зависеть от ненужных методов (IReadable, IWritable вместо IReadWrite).
DIP (Dependency Inversion) — зависеть от абстракций, а не от конкретных реализаций (внедрять ILogger, а не FileLogger).
Рейтинг:
2
Сложность:
7
Equals определяет, считаются ли два объекта равными по содержанию, а GetHashCode возвращает целочисленный хеш-код, используемый для распределения в бакеты Dictionary. При вставке Dictionary вычисляет hash = key.GetHashCode(), находит бакет по hash % buckets.Length, а затем в цепочке вызывает Equals для обнаружения точного совпадения ключа. Некорректная реализация может привести к потере или дублированию элементов.
Рейтинг:
2
Сложность:
6
Points — логические единицы интерфейса, а pixels — физические точки на экране. Масштаб (scale) определяет, сколько пикселей приходится на один point. Получить его можно через UIScreen.main.scale, обычно 1×, 2× или 3×.
Рейтинг:
3
Сложность:
7
Рейтинг:
4
Сложность:
3
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6