Специализация
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 в телеграм
Почему интерфейсы чаще рекомендуют использовать по умолчанию?
Интерфейсы удобны для описания формы объектов и хорошо масштабируются. Они поддерживают расширение и слияние объявлений. Это делает их удобными для публичных контрактов и библиотек. В большинстве случаев интерфейсы читаемее. Поэтому их часто рекомендуют использовать по умолчанию.
Можно ли расширять interface и type, и в чём разница?
interface можно расширять с помощью extends и declaration merging. type расширяется через пересечения (&). interface лучше подходит для публичных контрактов и API. type более гибок, но не поддерживает автоматическое объединение объявлений. Эти различия важны при проектировании типов.
В каких случаях удобнее использовать interface, а в каких type?
interface удобнее использовать для описания объектов и публичных контрактов. type более универсален и подходит для объединений, примитивов и сложных типов. interface легко расширять, type — комбинировать. В большинстве случаев выбор зависит от задачи и стиля проекта. Оба инструмента часто используются вместе.
В чем разница между интерфейсом (interface) и типом (type) в TypeScript?
Интерфейсы и типы в TypeScript очень похожи, оба используются для описания структуры объектов, но у них есть различия. Интерфейсы лучше подходят для описания объектов и классов и могут расширяться (унаследовать) друг от друга. Типы более универсальны — они могут объединять примитивные типы, объединять (Union) или пересекать (Intersection) другие типы, но не могут быть расширены, как интерфейсы.
Связь Single Responsibility и Interface Segregation — почему нарушение одного ведёт к нарушению другого?
Нарушение SRP приводит к нарушению ISP потому что большие классы с множеством ответственностей требуют таких же больших интерфейсов. Клиенты вынуждены зависеть от методов, которые они не используют. Когда класс делает слишком много, его интерфейс становится раздутым, заставляя клиентов реализовывать ненужные методы, что прямо нарушает принцип разделения интерфейсов.
Сравнение верстки интерфейса через код и через Interface Builder
Что такое CNI (Container Networking Interface) в Kubernetes?
В чём идея принципа Interface Segregation?
Рейтинг:
3
Сложность:
6
Код: Гибкость, удобство для командной работы, но больше boilerplate.
Interface Builder: Визуальное проектирование, быстрый прототипинг, но сложность слияния изменений.
Рейтинг:
2
Сложность:
4
CNI – это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
Рейтинг:
4
Сложность:
5
Принцип Interface Segregation говорит о том, что клиенты не должны зависеть от методов, которые они не используют. Вместо одного большого интерфейса лучше иметь несколько маленьких и специализированных. Это упрощает реализацию и снижает связанность между компонентами. Классы реализуют только те протоколы, которые им действительно нужны. Такой подход делает код более гибким и понятным.
Рейтинг:
4
Сложность:
6
Рейтинг:
5
Сложность:
8
Рейтинг:
5
Сложность:
7
Рейтинг:
5
Сложность:
2
Рейтинг:
3
Сложность:
4