Frontend Interview - собеседования по Javascript / Html / Css
Канал для подготовки к собеседованиям по фронтенду Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/frontendinterview Канал в реестре РКН: https://rknn.link/su
Mostrar más📈 Análisis del canal de Telegram Frontend Interview - собеседования по Javascript / Html / Css
El canal Frontend Interview - собеседования по Javascript / Html / Css (@frontendinterview) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 771 suscriptores, ocupando la posición 11 425 en la categoría Tecnologías y Aplicaciones y el puesto 60 327 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 771 suscriptores.
Según los últimos datos del 02 julio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -93, y en las últimas 24 horas de -10, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 7.89%. Durante las primeras 24 horas tras publicar, el contenido suele obtener N/A% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 850 visualizaciones. En el primer día suele acumular 0 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 2.
- Intereses temáticos: El contenido se centra en temas clave como javascript, браузер, html, css, видимость.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Канал для подготовки к собеседованиям по фронтенду
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Купить рекламу: https://telega.in/c/frontendinterview
Канал в реестре РКН:
https://rknn.link/su”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 03 julio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
String.prototype.indexOf(searchString [, position]): number
Где:
- searchString — строка в которой нужно искать.
- position — индекс элемента, с которого начинается поиск.
Чтобы реализовать такой поиск воспользуемся скользящим окном, а точнее его частной реализацией, алгоритмом Рабина-Карпа.
Скользящее окно — это алгоритм, который использует область фиксированной длины внутри массива. Двигая эту область, можно получать данные о группе рядом стоящих элементов массива. В нашем случае длина окна будет равна длине подстроки, по которой производится поиск.
// string - строка по которой ведем поиск
// substr - подстрока, которую ищем
// pos - стартовая позиция
function myIndexOf(string, substr, pos = 0) {
// запускаем цикл, от pos до (конца_строки - длина_окна)
for (let i = pos; i < string.length - substr.length + 1; i++) {
// если наша подстрока === содержимому окна, то заканчиваем работу и возвращаем index
if (substr === string.substr(i, substr.length)) {
return i;
}
}
// Если ничего не найдено, то возвращаем -1
return -1;
}
👉 @frontendInterview"_" в логине. Поэтому вам необходимо написать функцию, которая примет на вход массив из данных пользователей и вернет только те данные, логин в которых имеет символ "_".
Пример:
Исходные данные:
[ [ "foo", "foo@foo.com" ], [ "bar_", "bar@bar.com" ] ]
Результат:
[ [ "bar_", "bar@bar.com" ] ]
👉 @frontendInterview let cat = {
name: 'Tom',
isHunter: true
}
let mouse = {
name: 'Jerry',
isHunter: false
}
mouse = cat;
cat.isHunter = false;
mouse.isHunter = undefined;
console.log(mouse.isHunter);
Разберёмся, как выполняется этот код.
1. В начале переменные mouse и cat указывают на собственные объекты.
2. В строке mouse = cat мы присваиваем переменной mouse ссылку на объект cat. Можно рассматривать это как "связывание" переменных. Теперь обе переменные указывают на один и тот же объект { name: 'Tom', isHunter: true}.
3. Теперь mouse.name и cat.name будут менять значения свойства одного и того же объекта.
4. Последнее изменение в этом объекте происходит присваиванием значения undefined ключу isHunter.
5. Выводя в консоль значение ключа isHunter, получим последнее его обновление — undefined.
👉 @frontendInterviewcompose(f, g, ...)(x) == f(g(...(x))).
Композиция – основа функционального подхода. Операция композиции в теории категорий определяется для разных сущностей. Но сейчас мы обратим внимание именно на композицию функций.
Нам нужно создать функцию, которая принимает массив других функций и возвращает новую функцию.
Используем правило «Не думай, просто пиши» 🙂
const compose = (...fns) => x => // функция которую нам надо реализоватьВ условии нам подсказали как это сделать — compose(f,g, ...) = f(g(...(x))). Если сходу решение в голову не приходит, давайте попробуем посмотреть на примерах. Композиция для одной функции — это сама функция:
compose(f) = fКомпозиция для двух функций:
compose(f,g) = x => {
const prevResult = g(x) // выполнили g
return f(prevResult) // выполнили f
}
Тогда общее решение выглядит так:
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x)Для каждой предыдущей функции из массива вызовите её на результате выполнения следующей. Тут важно что функции выполняются справа налево. 👉 @frontendInterview
const multipleTwo = (n) => n * 2;Функция может быть передаваемым аргументом другой функции:
async function loadData(func) {
loading = true;
// другой код относящийся к инициализации статусов загрузки
await func();
loading = false;
// другой код относящийся к обработке статуса загрузки
}
function getData() {
// код получения данных с сервера
}
loadData(getData);
Функции могут быть возвращаемым значением другой функции:
function makeAdder(x) {
return function(y) {
return x + y;
};
};
👉 @frontendInterview
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
