Решение в JavaScript
Классика — includes, indexOf или search с RegExp.
function isSubstring(haystack, needle) {
if (needle === '') return true;
return haystack.includes(needle);
}
isSubstring('interview', 'view');
isSubstring('interview', 'Vue');
Без методов строки — два вложенных цикла (наивный поиск) или KMP для теории алгоритмов.
Детали
includes — регистрозависим; для ignore case: haystack.toLowerCase().includes(needle.toLowerCase()).
- Unicode / surrogate pairs — учитывайте при ручном индексировании.
Итог
В продакшене — String.prototype.includes; на алгоритмическом раунде опишите naive O(n·m) и упомяните KMP.