Встречается на собеседованиях • сегодня

Какие знаешь принципы проектирования

SOLID — основные принципы ООП:

  1. Single Responsibility — класс должен иметь одну причину для изменения.
  2. Open/Closed — классы должны быть открыты для расширения, но закрыты для модификации.
  3. Liskov Substitution — подклассы должны заменять базовые классы без ошибок.
  4. Interface Segregation — много специализированных интерфейсов лучше одного общего.
  5. Dependency Inversion — зависимости должны строиться на абстракциях, а не на деталях.

DRY (Don’t Repeat Yourself) — избегай дублирования кода.

KISS (Keep It Simple, Stupid) — простота важнее избыточной сложности.

YAGNI (You Aren’t Gonna Need It) — не добавляй функциональность «на будущее».

Пример SOLID (TypeScript):

typescript
// Принцип открытости/закрытости
interface Shape {
  area(): number;
}

class Circle implements Shape {
  constructor(private radius: number) {}
  area() { return Math.PI * this.radius ** 2; }
}

class Square implements Shape {
  constructor(private side: number) {}
  area() { return this.side ** 2; }
}

// Новые фигуры можно добавлять, не меняя существующий код
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы