Подборка объединяет вопросы, отмеченные на этапах интервью в Т-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, backend, api.
Да: изменение value обновляет Parent, а немемоизированный Child обычно рендерится вместе с ним. Кроме того, handleChange получает новую ссылку при каждом рендере.
UseClass создаёт зависимость выбранного класса, useExisting делает токен псевдонимом существующей зависимости, useValue задаёт готовое значение, useFactory вычисляет его.
Сначала разделите аутентификацию — кто пользователь — и авторизацию — что ему разрешено. Конкретную схему выбирают по клиентам, ролям и требованиям продукта.
Для нескольких аргументов можно строить дерево Map/WeakMap по каждому аргументу, использовать пользовательский ключ или ограниченный кеш последнего набора аргументов.
Для чата удобно получать списки и историю через HTTP, а новые события доставлять через WebSocket. Отправка сообщения может работать по любому из этих каналов.
Оставьте каждое состояние у его владельца и мемоизируйте независимые компоненты со стабильными props. Не передавайте новый объект или callback без необходимости.