На собеседовании всегда нервничаешь, но мой интервьюер облегчил мне задачу. Он задал мне много вопросов. Здесь я упоминаю десятку самых важных вопросов:
- Обратить строку без библиотечной функции и с библиотечной функцией.
Код:
С функцией библиотеки:
function reverseString(str) {
return str.split("").reverse().join("");
}
reverseString("hello");
Без функции библиотеки:
function reverseString(str) {
var newString = "";
for (var i = str.length - 1; i >= 0; i--) {
newString += str[i];
}
return newString;
}
reverseString('hello');
2. Перевернуть каждое слово в строке.
Код:
3. Вызов FizzBuzz. Напишите функцию, которая делает следующее:
- консоль записывает числа от 1 до n, где n — целое число, которое функция принимает в качестве параметра
- регистрирует fizz вместо числа, кратного 3
- регистрирует buzz вместо числа, кратного 5
- регистрирует fizzbuzz для чисел, кратных как 3, так и 5
Код:
4. Распечатайте уникальные элементы массива.
Код:
var myArray = [1, 1, 'a', 2, 2, 2]; let unique = [...new Set(myArray)]; console.log(unique);
5. Напишите функцию «суммирования», которая будет выполняться правильно.
console.log(sum(2)(3)(4)); // output : 9
Код:
const sum = a => b => c => a + b + c; console.log(sum(2)(3)(4));
6. Проверьте, является ли строка палиндромом или нет.
Код:
function palindrome(str) { let res = ''; res = str.split('').reverse().join(''); return res === str; } let str = "aaa"; let res = palindrome(str); if (res) { console.log("Palindrome"); } else { console.log("Not Palindrome"); }
7. Что такое React и Virtual DOM?
Реакция:
React — это популярная библиотека JavaScript, разработанная и поддерживаемая Facebook. ReactJS помогает создавать пользовательские интерфейсы для веб-приложений и мобильных приложений. Сегодня ReactJS стал очень популярным из-за его дополнительной простоты и гибкости. Многие даже называют его будущим веб-разработки.
Виртуальный DOM:
HTML DOM имеет древовидную структуру. Он предоставляет интерфейс для обхода и изменения узлов. Если длина кода увеличивается, манипуляции с DOM становятся трудоемкими и неэффективными.
Вот тут-то и появляется виртуальный DOM.
Виртуальный DOM — это облегченная копия HTML DOM. В простом HTML, где React не используется, если вы вносите изменения, то обновляется весь DOM. Если длина кода большая, операция обновления DOM становится медленнее. Но когда вы вносите изменения и визуализируете элемент в React, обновляется только виртуальный DOM, а не реальный DOM. Сравнивая новый виртуальный DOM с более ранней версией, React определяет, какие именно объекты виртуального DOM изменились. Теперь React обновляет только те объекты в реальном HTML DOM. Это означает, что если вы дважды визуализируете одно и то же в приложении React, второй рендер ничего не сделает, потому что ничего не изменится.
8. В чем разница между компонентом React и элементом? Как передать данные из одного компонента в другой?
React Element
— это простой объект, описывающий узел DOM и его атрибуты или свойства, которые вы можете назвать. Это неизменяемый объект описания, и вы не можете применять к нему какие-либо методы.
React Component
— это функция или класс, который принимает ввод и возвращает элемент React. Он должен хранить ссылки на свои узлы DOM и на экземпляры дочерних компонентов.
Мы можем использовать свойства, пользовательский хук для передачи данных между компонентами.
9. Что такое useState()?
useState
— это один из встроенных хуков реагирования. useState
— это способ, если нам нужно внутреннее состояние и не нужно реализовывать более сложную логику, такую как методы жизненного цикла.
const [state, setState] = useState(initialState);
Возвращает значение с сохранением состояния и функцию для его обновления.
Во время начального рендеринга возвращаемое состояние (состояние) совпадает со значением, переданным в качестве первого аргумента (initialState).
Функция setState используется для обновления состояния. Он принимает новое значение состояния и ставит в очередь повторную визуализацию компонента.
10. Почему мы предпочитаем использовать тернарный оператор вместо if/else?
Мы можем использовать JavaScript в JSX, но это становится затруднительным при использовании таких операторов, как if, else и switch case в JSX. Нет никакого реального способа встроить его. Другой способ выразить оператор if-else в JavaScript — тернарный оператор . Тернарная операция делает условный рендеринг в React не только более кратким, но и дает вам простой способ встроить условный рендеринг в ваш возврат. Таким образом, условно визуализируется только одна часть вашего JSX, в то время как другие части могут оставаться нетронутыми без каких-либо условий.