Базовый способ
function reverse(str) {
return [...str].reverse().join('');
}
[...str] / Array.from(str) корректнее для символов вне BMP, чем split('').
Без массива
Двумя указателями на массиве кодпоинтов или reduceRight.
Unicode
Для эмодзи из нескольких code points нужен Intl.Segmenter (grapheme clusters). На собеседовании упомяните ограничение «наивного» reverse.