2,147,483,647
В 32 битном числе ~4 млрд значений, а не ~2
Массив выделяется под кол-во данных, в разных системах по разному, например в питоне когда массив заполнен на ~70%, тогда выделяется больший массив под эти данные.
Результирующий хеш подстраивается под размер массива, например под 500 элементов, может быть выделен массив в 1024 элементов, в итоге результирующая позиция может быть вычислена так = hash_value %mod table_length, пример: 55555 % 1024 -> 259, итого значение будет записано в 259 ячейку (если нет коллизии)