На собеседовании всегда нервничаешь, но мой интервьюер облегчил мне задачу. Он задал мне много вопросов. Здесь я упоминаю десятку самых важных вопросов:

  1. Обратить строку без библиотечной функции и с библиотечной функцией.

Код:

С функцией библиотеки:

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, в то время как другие части могут оставаться нетронутыми без каких-либо условий.