На собеседовании
«keyof даёт union ключей типа; typeof в type position поднимает runtime-значение — это type query, отдельно от JS-оператора typeof, который возвращает string. Постоянный паттерн: keyof typeof someConst — union ключей из реального объекта без дрейфа; с as const можно вытащить union значений через typeof OBJ[keyof typeof OBJ]. Подводный камень: keyof на index signature — string | number, потому что JS приводит числовые ключи. Всё стирается — описывает форму, не проверяет; недоверенный ввод требует runtime check.»
Итог
Два typeof, keyof typeof pattern, index signature width, runtime validation.