Подборка объединяет вопросы, отмеченные на этапах интервью в Т-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, backend, api.
Сообщению нужны серверный ID, ID чата и отправителя, тип, содержимое, время создания и версия изменения. client_message_id связывает повторный запрос с тем же результатом.
Разделите постоянное хранение истории, доставку событий и локальное состояние клиента. Используйте устойчивые ID сообщений, идемпотентную отправку и восстановление по серверному курсору.
Достаточно хранить высоты двух колонок. Вертикальная фигура увеличивает свою высоту на 3, горизонтальная устанавливает обе высоты в max(left, right) + 1.