Чтобы защититься от атак вида DoS
видимо у меня не хватает компетенции, не понимаю как связаны атаки DoS и стабильность HashSet?
правильно подобранные аргументы при поиске/добавлении элементов в HashSet могут вызвать не логарифмическую сложность, а линейную. Тем самым сделать плохо 🙂
как создается сет и какие элементы?
Так, что если бы он не подмешивал рандом, можно было бы сделать запрос, который соберёт на сервере очень неудачный HashSet, в котором всё будет лежать в одной цепочке, со скоростью доступа O(n)
можешь еще почитать про quick sort и как собрать такой массив, который будет за квадратную сложность сортироваться. это одна из причин почему quick sort сейчас не используют в серьезных продакшенах.
Это вопрос часто задают на собеседованиях. Почему так, есть много материала
Обсуждают сегодня