浏览代码

Добавить 'Лекции/Arkhitektura_Sovremennogo_STAKa/questions.md'

u23novikov 1 月之前
父节点
当前提交
f3560954d3
共有 1 个文件被更改,包括 61 次插入0 次删除
  1. 61 0
      Лекции/Arkhitektura_Sovremennogo_STAKa/questions.md

+ 61 - 0
Лекции/Arkhitektura_Sovremennogo_STAKa/questions.md

@@ -0,0 +1,61 @@
+**Лекция 1: Декларативный рендеринг**
+
+В чем заключается ключевой инженерный вызов при реализации декларативного рендеринга?
+Эффективный расчет разницы (diffing) между состояниями пользовательского интерфейса для минимального обновления DOM.
+
+Какую парадигму описывает декларативный рендеринг в отличие от императивного?
+Парадигму, при которой разработчик описывает, *каким должен быть интерфейс* в зависимости от состояния, а не предписывает пошаговые команды для его изменения.
+
+Как декларативный подход влияет на архитектуру приложения с точки зрения разделения ответственности?
+Он позволяет четко разделить бизнес-логику (управление состоянием) и логику представления (отображение), упрощая тестирование и проектирование.
+
+Какие основные стратегии реализации декларативного рендеринга существуют в современных фреймворках?
+Стратегия Virtual DOM (React), компиляция в императивный код (Svelte) и тонкая реактивность на основе Proxy (Vue 3).
+
+---
+
+**Лекция 2: Согласованность в распределенных системах**
+
+Какое фундаментальное ограничение описывает теорема Consistency Availability Partition Tolerance для распределенных систем?
+В условиях сетевого раздела система может гарантировать либо Согласованность (Consistency), либо Доступность (Availability), но не оба свойства одновременно.
+
+Какую модель согласованности чаще всего применяют на практике и почему?
+Модель согласованности в конечном счете (Eventual Consistency), так как она обеспечивает доступность и отказоустойчивость, что критично для многих современных масштабируемых систем.
+
+Какой механизм используют системы вроде DynamoDB для обеспечения актуальности данных при чтении и записи?
+Механизм кворумов (Read/Write Quorum), где запись и чтение считаются успешными при подтверждении от заданного числа узлов.
+
+Что лежит в основе достижения согласованности в конечном счете?
+Асинхронная репликация данных между узлами и использование механизмов разрешения конфликтов, таких как векторные часы или CRDT.
+
+---
+
+**Лекция 3: Принципы тестопригодного дизайна**
+
+Какие два фактора являются главными препятствиями для тестируемости кода?
+Высокая связанность (tight coupling) компонентов и наличие скрытых зависимостей.
+
+Какой принцип и механизм являются основой для создания тестируемого дизайна?
+Принцип инверсии зависимостей (DIP), реализуемый через механизм внедрения зависимостей (Dependency Injection).
+
+Какую основную цель преследует модульное (unit) тестирование?
+Проверку корректности логики отдельного класса или функции в полной изоляции от внешних зависимостей.
+
+Какие архитектурные паттерны формализуют разделение бизнес-логики и инфраструктурного кода для улучшения тестируемости?
+Гексагональная архитектура (Hexagonal Architecture) и Чистая архитектура (Clean Architecture).
+
+---
+
+**Лекция 4: Оркестрация контейнеров**
+
+Какую основную задачу решает оркестрация контейнеров?
+Автоматизацию развертывания, масштабирования, управления сетью и обеспечения отказоустойчивости контейнеризированных приложений в кластере.
+
+Какие низкоуровневые механизмы ядра Linux обеспечивают изоляцию контейнеров?
+Cgroups (control groups) для ограничения ресурсов и namespaces для изоляции сетевого стека, процессов и файловой системы.
+
+Что является минимальной и неделимой единицей развертывания (deployable unit) в Kubernetes?
+Pod (Под) — абстракция, которая может содержать один или несколько тесно связанных контейнеров.
+
+Какой ключевой принцип управления лежит в основе работы Kubernetes?
+Принцип декларативного управления состоянием через управляющие циклы (control loops), где система автоматически приводит реальное состояние к описанному желаемому.