Специализация
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 в телеграм
Как управление потоком осуществляется в TCP?
В TCP управление потоком осуществляется с помощью протокола скользящего окна, где принимающая сторона указывает размер окна, который показывает количество байт, которые она может принять.
Расскажите про принципы SOLID: SRP, OCP, LSP, ISP, DIP и примеры их применения на практике.
SOLID объединяет пять принципов:
SRP (Single Responsibility) — класс отвечает за одну задачу (например, разделить логику валидации от сохранения).
OCP (Open/Closed) — расширять поведение через наследование или композицию без изменения существующего кода (добавить новый тип обработки, не правя базовый класс).
LSP (Liskov Substitution) — подкласс должен заменять базовый без нарушений (метод Rectangle.SetWidthHeight не должен ломать Square).
ISP (Interface Segregation) — маленькие интерфейсы, клиенты не должны зависеть от ненужных методов (IReadable, IWritable вместо IReadWrite).
DIP (Dependency Inversion) — зависеть от абстракций, а не от конкретных реализаций (внедрять ILogger, а не FileLogger).
В чём разница между многопоточностью (CPU-bound) и асинхронностью (IO-bound) в .NET и как работают async/await?
CPU-bound задачи используют потоки и Parallel/Tasks для распределения вычислений между ядрами и могут потребовать lock/SemaphoreSlim. IO-bound операции (await httpClient.GetAsync) не блокируют поток — метод возвращает Task, освобождая поток для других задач, а по завершении I/O продолжает выполнение в пуле. async/await трансформирует метод в state machine, которая при встрече await регистрирует продолжение и возвращает Task без блокировки текущего потока.
В чём принципиальное отличие TCP и UDP?
TCP — надёжный протокол с установлением соединения и гарантией доставки, а UDP — простой и быстрый, но без гарантии доставки и порядка. TCP используют, где важна надёжность, а UDP — где важна скорость.
Какие сетевые (TCP/UDP) и веб-протоколы (HTTP, gRPC) ты знаешь?
TCP и UDP — это основные транспортные протоколы: TCP надежный, а UDP быстрый. HTTP — протокол для веб-запросов, а gRPC — современный RPC-фреймворк, работающий поверх HTTP/2.
Какие уровни включает модель TCP/IP и за что отвечает каждый из них?
Какой класс в asyncio используется для CPU-bound задач?
Чем TCP отличается от UDP?
В чём суть трехстороннего рукопожатия в TCP?
Чем отличается TCP от UDP протоколы? Для чего каждый используется?
Рейтинг:
2
Сложность:
6
Модель TCP/IP включает 4 уровня: Прикладной, Транспортный, Сетевой и Канальный. Каждый уровень отвечает за свой этап передачи данных — от приложения до физической сети. Эта модель помогает описывать, как устройства обмениваются данными в интернете.
Рейтинг:
1
Сложность:
4
Для CPU-bound задач используйте loop.run_in_executor() с ThreadPoolExecutor или ProcessPoolExecutor. Сам asyncio не подходит для тяжёлых вычислений.
Рейтинг:
1
Сложность:
7
TCP — это надежный протокол с установкой соединения, гарантирующий доставку и порядок данных, но более медленный. UDP — это простой протокол без установки соединения, быстрый, но без гарантий доставки и порядка пакетов.
Рейтинг:
4
Сложность:
5
Трехстороннее рукопожатие в TCP — это процесс установления соединения между клиентом и сервером, включающий три шага: SYN, SYN-ACK, ACK.
Рейтинг:
2
Сложность:
8
TCP - надежный, с установкой соединения и контролем ошибок. UDP - простой, без гарантий доставки. TCP для веба, UDP для видео/голоса.
Рейтинг:
1
Сложность:
4
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6