Пост-интервьюшное

Oct 17, 2009 22:21

Несколько мыслей за результаты.

О распределённости.
Всё-таки распределённость имеет свои естественные границы: например, в торговой системе обычно всё упирается в невозможность параллельного логина под теми же credentials - для того чтобы не говорили потом, что откуда-эта-позиция-я-её-не-открывал. А вот поток рыночных данных очень легко и бесконечно масштабируется - например, использованием broadcast`а (и даже одно такое решение я знаю).

О базах данных.
Надо четко представлять, зачем нужен ключ который просто индекс, и когда без него можно обойтись. В поставленной задаче поиска анаграмм по словарю я вроде бы правильно выделил критерий поиска (отсортированные по алфавиту буквы слова), но хорошего применения для индексного ключа не нашел. А мог бы сказать, что по диапазону значений этого ключа выбираем поднабор слов одной длины. Вопрос: почему это лучше варианта держать отдельную индексированную колонку с длиной?

О контейнерах С++.
Та же задача о поиске анаграмм по словарю на плюсах имеет очевидное решение map >. Почему я не вспомнил о векторе, а рассказал о set`е? Вектор здесь очевидно лучше - кроме случая расширения словаря во время работы. Но и в этом случае надо было бы задуматься о hashset`е. И да, где-то я слышал, что использование контейнеров внутри контейнеров есть не очень хорошее решение. Потому что может происходить произвольное копирование внутренних контейнеров при безобидных с первого взгляда операциях внешнего контейнера. Но где это было?..
Previous post Next post
Up