Frontend
Расскажи про промисы: состояния, методы, async/await
Расскажи про директивы во Vue.js: самые используемые
Реализовать функцию sumPromises, которая принимает в качестве аргументов промисы и возвращает сумму результатов их выполнения. Функция может принимать любое количество аргументов. Можно использовать любые API промисов.
Зачем может понадобиться метод apply в реализации runOnce?
Реализовать функцию-обертку runOnce, которая принимает функцию и возвращает новую функцию. Новая функция может быть вызвана только один раз, все последующие вызовы возвращают undefined. Оборачиваемая функция может принимать аргументы и возвращать результат.
Какие методы работы с контекстом (this) существуют? Какова сигнатура вызова метода call? Чем call отличается от apply?
const LiveSearch = () => { const [inputValue, setInputValue] = useState('') const onInputChange = (e) => { setInputValue(e.target.value) search(e.target.value) } return ( <div> <input value={inputValue} onChange={onInputChange} type="text" /> </div> ) } <span> Searching for: <LiveSearch /> </span>
/** * Реализовать функцию-обертку runOnce, которая принимает * функцию и возвращает новую функцию. Новая функция * может быть вызвана только один раз, все последующие * вызовы возвращают undefined. * * Оборачиваемая функция может принимать аргументы * и возвращать результат. */ function runOnce(fn) { // your code } const logHello = (name) => { console.log(`hello, ${name}!`) }; const logHelloOnce = runOnce(logHello); console.clear(); logHelloOnce('Oleg'); // 'hello, Oleg!' logHelloOnce('Olga'); // undefined
Зачем может понадобиться метод apply в решении runOnce?
/** * Реализовать функцию sumPromises, которая принимает * в качестве аргументов промисы и возвращает сумму * результатов их выполнения. * * Функция может принимать любое количество аргументов. * Можно использовать любые API промисов. */ // Code here // Пример использования const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
Реализовать функцию withTimeout, которая принимает функцию и время (миллисекунды) и возвращает новую функцию. Если исходная функция не выполнится за заданное время, промис должен быть отклонён.
Реализовать метод Array.prototype.groupBy, который возвращает структурированную версию массива объектов, где каждый ключ является результатом вызова переданной функции, а значение — массивом элементов, соответствующих этому ключу.
Какие тесты писали, для чего, что тестировали?
Знаком ли ты с Feature-Sliced Design (FSD)?
[имя] спросил: Чем сейчас занимается команда? Какой roadmap на испытательный срок?
let obj = { a: 1 }; let array = [obj]; obj = null; console.log(obj); // console.log(array); //
// К массиву применяется метод findUnique, который возвращает новый массив из уникальных элементов, // то есть тех, которые в исходном массиве присутствуют всего один раз, расположенных в том же порядке. // Необходимо реализовать метод findUnique так, что бы он работал как обычный метод массива [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
Какие сложности возникают при работе с микрофронтовой архитектурой и Module Federation в вашем проекте?
Чем отличается Set от обычного массива? Какова сложность операции has() у Set?
Из-за useEffect происходит моргание интерфейса. Как его предотвратить?