Это был один из вопросов Google Interview.
Какова возможная проблема, если Hash Table вырастет более чем на 30 Гб (игнорируйте проблемы, такие как плохая хеш-функция)
Я этого не знал. Что может быть удовлетворительным ответом?
Спасибо
Это был один из вопросов Google Interview.
Какова возможная проблема, если Hash Table вырастет более чем на 30 Гб (игнорируйте проблемы, такие как плохая хеш-функция)
Я этого не знал. Что может быть удовлетворительным ответом?
Спасибо
Некоторые проблемы:
Ответ частично зависит от того, говорят ли они об классической реализации хэш-таблицы (например, HashTable/HashMap в Java) или о чем-то более сложном. В конце концов, 30 ГБ памяти по-прежнему достаточно велики для одной машины /VM по сегодняшним стандартам.
Так подумайте о том, что происходит внизу:
Это приводит к следующим проблемам:
Я согласен с другими плакатами, которые Google ищет в качестве решения. Но я думаю, что в основе всего, простая хеш-таблица перестает масштабироваться за пределами точки. В приведенном выше примере
Я думаю, что интервьюер ожидал что-то в строках Распределенная таблица хешей, так как хэш-таблица 30 Гбайт не может храниться на одной машине ( по крайней мере, в текущем 64-битном мире); По моему личному опыту, довольно много QQ Google вращаются вокруг распределенных вычислений, уменьшения карт и т.д.,