TGViewer
Руслан Куянец | Reactify Руслан Куянец | Reactify @reactify_it · 6.44K subscribers
Post #1605 3.63K
🖥 Задачи с собеседования в ВК

А вот и задачи подъехали

Какой порядок вывода будет?
requestAnimationFrame(() => {
console.log(0);
});
setTimeout(
() => console.log(1),
0
);
Promise.resolve().then(
() => console.log(2)
);
new Promise((resolve, reject) => {
console.log(3);

resolve();
reject();
}).then(
() => {
console.log(4);
throw 5;
}
).then(() => {
console.log(6);
}, () => {
console.log(7);
}).catch(() => {
console.log(8);
}).then(() => {
console.log(9);
});
Promise.resolve().then(
() => console.log(10)
);
console.log(11);


Отрефактори код:
function App({ userId }) {
const [user, setUser] = useState(null);

const processUser = (user) => {
return {
...user,
friendIds: user.friends.reduce((acc, friend) => [...acc, friend.id])
};
};

useEffect(() => {
fetch(`https://api.vk.com/method/users.get?userId=${userId}`).then((response) => {
setUser(processUser(response));

if (user.status === "inactive") {
const { toast } = useToast();

toast("Пользователь неактивен.");
}
});
}, [userId, processUser, setUser]);

if (user?.status === "active") {
const userIsOnline = useUserOnline(userId);
if (userIsOnline) {
const { toast } = useToast();

toast("Пользователь в сети");
}
}

return (
<div>
{user.friendIds.map((friendId) => {
return <li>{friendId}</li>;
})}
</div>
);
}

Доп. вопросы:
• Что делает этот код?
• Какие проблемы в нём есть?
• Какие ошибки возможны?
• Что не так с массивом зависимостей useEffect?
• Какая cleanup-функция должна быть?
• Почему processUser может работать некорректно?
• Что будет без response.json()?
• Что произойдёт, если user === null?
• Какая ошибка возникнет, если вместо массива придёт null?
• Поможет ли значение по умолчанию [] избежать падения приложения?

🚀 База собесов — 💪 Frontend Элита — 📚 Менторство — 📹 YouTube
  • ❤ 16
  • 👍 6
  • 🔥 3
  • 😢 1
More from @reactify_it
  1. Oct 2, 2026Что вообще для меня значит ИТ-АДАПТАЦИЯ? Это — РАБОТА ЛЮБОЙ ЦЕНОЙ. Сейчас такое время, ког…
  2. Oct 1, 2026А тем временем цены растут. Бесплатный ChatGPT, во-первых, как будто отупел, во-вторых, ли…
  3. Sep 30, 2026Ребята, если у вас уже есть опыт, но вы чувствуете, что он выглядит «непродающим» в резюме…
  4. Sep 29, 2026👩‍💻 ВСЯ инфраструктура за 30 минут: Kubernetes, ArgoCD, Grafana, CI/CD https://www.youtu…
  5. Sep 28, 2026В общем, что-то такое получилось 😁 Превью сделано нейронкой, но буду переделывать с помощ…
  6. Sep 25, 2026Делал видео-схему по инфраструктуре, а в итоге получилось по кубернетису 😁 До чего же я д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →