Можешь ли ты привести примеры методов, обладающих идемпотентностью?

Идемпотентность означает, что многократное выполнение метода с одинаковыми входными данными не изменит состояние системы после первого вызова.

Короткий ответ

Что ответить на собеседовании

Идемпотентность означает, что многократное выполнение метода с одинаковыми входными данными не изменит состояние системы после первого вызова.

Подробный разбор

Ответ с пояснениями

Идемпотентность означает, что многократное выполнение метода с одинаковыми входными данными не изменит состояние системы после первого вызова.

Примеры идемпотентных методов в Node.js:

  • HTTP методы GET, PUT, DELETE по стандарту считаются идемпотентными.
  • Метод обновления записи в базе данных, который устанавливает конкретное значение, например:
app.put('/user/:id', (req, res) => {
  // Обновляем пользователя с id
  User.updateOne({ _id: req.params.id }, { name: req.body.name })
    .then(() => res.send('Updated'));
});
  • Метод удаления ресурса:
app.delete('/item/:id', (req, res) => {
  Item.deleteOne({ _id: req.params.id })
    .then(() => res.send('Deleted'));
});

Повторные вызовы PUT или DELETE с теми же параметрами не изменят состояние после первого успешного вызова, что и есть идемпотентность.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее