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

Докажи теорему CAP

Теорема CAP утверждает, что в распределённой системе можно гарантировать только два из трёх свойств:

  1. Согласованность (Consistency) – все узлы видят одни и те же данные в один момент времени.
  2. Доступность (Availability) – система всегда отвечает на запросы.
  3. Устойчивость к разделению (Partition tolerance) – система работает даже при потере связи между узлами.

Доказательство (на примере):
Допустим, есть два узла (A и B) с реплицированными данными.

  • Если сеть разделилась (Partition), узел A не может синхронизироваться с B.
  • Если мы хотим Consistency, A должен отказать в записи, пока не восстановится связь (теряем Availability).
  • Если хотим Availability, A разрешит запись, но данные станут несогласованными (теряем Consistency).

Вывод: при Partition нельзя одновременно обеспечить и Consistency, и Availability.

java
// Пример: Cassandra (AP) vs ZooKeeper (CP)
// Cassandra жертвует Consistency ради Availability при сетевых сбоях.
// ZooKeeper блокирует запись при Partition, сохраняя Consistency.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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