Если речь об useCallback с зависимостями [user] и [user, roles], изменение ссылки roles пересоздаст только вторую callback-функцию при прежнем user.
Есть две функции: одна зависит от user, а вторая от user и roles. Что будет происходить, когда roles будет меняться?
Если речь об useCallback с зависимостями [user] и [user, roles], изменение ссылки roles пересоздаст только вторую callback-функцию при прежнем user.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если речь об useCallback с зависимостями [user] и [user, roles], изменение ссылки roles пересоздаст только вторую callback-функцию при прежнем user.
Сама useCallback функцию не выполняет: изменяется возвращаемая ссылка. Если её использует effect как зависимость, effect может перезапуститься. Мутация roles без новой ссылки может не быть обнаружена сравнением зависимостей. Для обычных функций без memo-hooks поведение другое, поэтому точный вывод требует кода; здесь оговорён типичный React-сценарий.