Руслан Куянец | Reactify: post #1635 — TG.ME

Задания с собеса

Задание 1 (код с Promise):
let counter = 0;
const increment = new Promise(resolve => {
counter++;
resolve(0);
});
await increment;
await increment;
console.log(counter);


Вопрос: Чему будет равен counter?

Задание 2 (React-компонент с Counter A и Counter B):

import React, { useState } from "react";
import "./styles.css";

console.log = (...args) => {
const node = document.createElement("div");
node.innerHTML = args.join(" ");
document.getElementById("log").appendChild(node);
};

const Counter = (props) => {
console.log(`Counter ${props.name} rendered`);
return (
<div>
Counter {props.name} : {props.count}
</div>
);
};

export default function App() {
const [countB] = useState(0);
const [countA, setCountA] = useState(0);
const handleCountA = () => {
setCountA(countA + 1);
};

return (
<div className="App">
<Counter name="A" count={countA} />
<Counter name="B" count={countB} />
<button onClick={handleCountA}>Count A</button>
</div>
);
}


Задача: Counter A и Counter B рендерятся вместе, нужно чтобы Counter B не ре-рендерился при клике на Counter A. Оптимизировать компонент.

Задание 3 (сравнение функций):

const test = 0 => test()
const test1 = async 0 => await test1()
const test2 = async 0 => await Promise.resolve(0).then(test2)
const test3 = 0 => setTimeout(test3, 1)


Вопрос (по контексту собеса): С чем можно столкнуться (например, переполнение стека, бесконечный цикл, таймаут и т.д.)? Вопрос про переполнение стека вызовов и разницу между синхронной/асинхронной рекурсией.

🚀 База собесов💪 Frontend Элита📚 Менторство📹 YouTube
👍8❤4🔥4
August 17, 2026 1.4K 2 25