Подборка объединяет вопросы, отмеченные на этапах интервью в Рамблер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: kafka, http, postgresql.
Когда аккаунты при переводах попадали на разные шарды, возникала проблема обеспечения атомарности и консистентности транзакций. Для обхода этой ситуации я использовал несколько подходов:
Индексы в базах данных нужны для ускорения поиска и выборки данных. Они позволяют быстро находить записи без полного перебора таблицы, используя структуры данных (например, B-деревья).
Селективность в контексте баз данных — это мера того, насколько эффективно условие фильтрации (например, в WHERE) уменьшает количество строк, которые нужно обработать.
Если несколько горутин одновременно инкрементируют общий счётчик без синхронизации, то возникают гонки данных — результат может быть непредсказуемым из-за одновременного чтения и записи.
HTTP/3 — это новая версия протокола HTTP, которая использует транспортный протокол QUIC вместо TCP, применяемого в HTTP/1.1 и HTTP/2. Ключевые отличия: