Интенсивный вопрос для собеседования по NodeJs и JavaScript (мой опыт).

Проведя 5 хороших лет в Reliance Jio. Я решил переключиться. За эти 5 лет я ни разу не был на собеседовании.

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

Немного статистики после активности в LinkedIn и на платформе Naukri за последние несколько месяцев.

Я получил более 120 звонков и сообщений с интервью [Мумбаи, Пуна, Бангалор, Хайдарабад, Нойда, Гургаон, Ченнаи, США, Германия, Дубай, Саудовская Аравия, Малайзия]

Присутствовали на собеседовании: 21+

Неудачное интервью: 10+. (продуктовый, сервисный, стартап, средний, США, Франция)

[Finicity — компания MasterCard, Crisil, WebMD, IORTA, Deloitte, LnT, Accenture, HCL, группа Publicis, InkinCaps, geeksinvention, захват и т. д.]

Не удалось взломать: 11+

(Сон 11, Нагарро и т.д.).

Уважаемые читатели,

В этом посте я постарался задокументировать все вопросы, которые мне задавали в интервью. Поверьте мне, ребята, если вы работаете с серверной частью Nodejs (‹= 6 лет опыта), просто попрактикуйтесь в этих вопросах. Этого достаточно для того, чтобы кто-нибудь взломал интервью согласно моему опыту до сих пор.

Эти вопросы для интервью были разработаны специально для того, чтобы познакомить вас с характером вопросов, с которыми вы можете столкнуться во время собеседования для Nodejs Technology.

Часть 1. Теоретический вопрос:

  • Рекомендуемые темы:
  1. У вас должно быть хорошее понимание всех вещей, которые вы упомянули в своем резюме, и хорошее понимание вашего текущего проекта, который включает следующие вопросы.
  2. Какие модули вы использовали для создания сервера и почему?
  3. Как вы использовали промежуточное ПО в проекте?
  4. Как вы справлялись с подключениями и вызовами базы данных?
  5. Как вы оптимизировали запросы к базе данных?
  6. О тестовых примерах и покрытии кода
  7. Реализация регистратора
  8. Как вы обрабатываете ошибки и исключения в проекте?
  9. Производственная архитектура (оперативная память, ЦП, дисковое пространство) от LB до приложения и базы данных и т. д.
  10. О базовой команде git
  11. Как вы храните пароли в базе данных (хэш или обычный текст? имя модуля? имя алгоритма?)
  12. Как вы обрабатываете данные конфиденциальной среды?
  13. О жизненном цикле развертывания и тестирования.
  14. Несколько проблем, с которыми вы столкнулись в производстве.
  • Вопросы для интервью:
  1. Объясните ад обратного вызова и обратного вызова
  2. Разница между обратным вызовом, обещанием и асинхронным ожиданием
  3. Что такое промежуточное ПО, когда его использовать и как вы использовали его в своем проекте?
  4. Объясните цикл событий со всеми фазами.
  5. Можете ли вы объяснить async-await и его преимущества?
  6. Как работал цикл событий, и объясните его фазы на примере, используя установленный тайм-аут, установленный немедленный, process.nextTick
  7. Объясните привязку, позвоните и подайте заявку.
  8. Объясните Clauser в javaScript.
  9. Объясните карри в javaScript.
  10. Объясните утечку памяти в JavaScript.
  11. Внутренний рабочий механизм для Nodejs.
  12. О проекте и его масштабируемости.
  13. Как вы пишете тестовые примеры и какие модули используете?
  14. Как вы масштабировали сервисы Nodejs в своих проектах.
  15. Что такое закрытие?
  16. Что такое подъем?
  17. Что такое лексический объем?
  18. Объясните различные методы обещания, а также объясните, когда их использовать. (promise.all, promise.allSettled и т. д.)
  19. Различные способы создания объектов в JavaScript. (есть 4 способа)
  20. Объяснили шаблон проектирования и как вы его реализовали в своем проекте?
  21. Что такое Rest API и когда их использовать?
  22. Разница между Rest и SOAP Apis.
  23. Почему вы использовали Cassandra DB вместо MongoDB.
  24. Что такое рабочий поток в Nodejs
  25. Что такое GRPC (альтернатива отдыху)
  26. Вы работали над GraphQL и, пожалуйста, объясните это. когда их использовать и зачем их использовать?
  27. Вы когда-нибудь сталкивались с утечками памяти в своем проекте? Если да, то как вы справляетесь с этими сценариями.
  28. Объясните типы методов, которые есть у модулей fs!
  29. Каков пул потоков по умолчанию в Nodejs и насколько мы можем увеличить количество пулов потоков?
  30. Что такое детский процесс?
  31. Что такое функция высшего порядка?
  32. Что такое источник событий, как создавать и прослушивать события?
  33. Что такое прототип в JavaScript?
  34. Что вы получите прототип объекта?
  35. Объясните корс?
  36. Каково возвращаемое значение сокращения?
  37. Есть ли в javaScript тип данных карты?
  38. Как получить количество таблиц в Cassandra, когда в таблице более миллиарда записей?
  39. Как удалить массив данных в Cassandra DB.
  40. Вы используете OOPS в javaScript?
  41. Что такое функциональное программирование?
  42. Сколько типов потоков присутствует в Nodejs?
  43. Вы работали на socket.io?
  44. Как происходят развертывания внутри ваших команд?
  45. Используете ли вы какой-либо LB?
  46. Как вы развертываете службы Nodejs?
  47. Конвейеры CI/CD — как вы их обрабатываете и управляете.
  48. Объясните разницу между циклом for и array.map, когда их использовать.
  49. У вас есть опыт работы с облачным сервисом AWS?
  50. Что такое поток и процесс, в чем разница между ними?
  51. Объясните поток выполнения движка javaScript, взяв следующий пример: setTimeout(console.log()) и setImmeditae(console.log());
  52. Как и почему появились nodeJ?
  53. Что такое цикл событий?
  54. Объясните очередь обратного вызова.?
  55. параллельный и параллельный, в чем их смысл? Является ли Nodejs параллельным или параллельным?
  56. Обсуждение кэш-бд. что это такое, зачем оно нам нужно?
  57. Разница между Hazelcast DB и Cassandra DB.
  58. -Почему вы использовали Cassandra DB вместо других NoSQL.
  59. Почему писать лучше в Cassandra DB.
  60. Используете ли вы автоматическое масштабирование для приложений Nodejs, как это происходит в AWS?
  61. Используете ли вы Kubernetes для развертывания? Если да, объясните архитектуру k8s!
  62. Что касается стека ELK, сколько раз нужен такой эксперт, как вы, для разработки решения ELK для моей команды?
  63. Описать стек выполнения JavaScript и функциональные возможности цикла обработки событий.
  64. Разница между JavaScript и nodeJs.
  65. Как вы можете вызывать HTTP-вызовы с самого сервера (расширенные модули)?
  66. Используете ли вы подход TDD в разработке?
  67. как вы справляетесь с инъекциями зависимостей?
  68. Можете ли вы объяснить жизненные циклы HTTP?
  69. Что такое промежуточное ПО и где вы его использовали в своем проекте? любой пример?
  70. Одна служба nodeJs занимает 1 ядро, тогда как вы можете правильно использовать 10 ядер ЦП, поскольку 1 используется из 10, а 9 недоиспользуется.
  71. Почему однопоточность хороша (поскольку nodeJs - это отдельные объявления), когда это хорошо, а когда плохо?
  72. Почему вы предпочитаете nodeJ любым другим языкам?
  73. Что такое обратный вызов, зачем он нужен?
  74. Какие модули вы используете на протяжении всего проекта?
  75. Как вы внедрили API входа в систему и как вы храните конфиденциальные данные в базе данных?
  76. Какие проекты вы использовали для MongoDB.
  77. Как вы масштабируете API-интерфейсы nodeJs.
  78. Почему вы еще не переходите в облако?
  79. Что дальше в экспресс(req, res, next)? Следующий считается обратным вызовом? Можем ли мы реализовать обратный вызов в промежуточном программном обеспечении без использования next?
  80. Как обрабатывать (означает чтение больших данных) большие данные в экспресс-API?
  81. Вы используете машинописный текст или JavaScript и почему?
  82. Почему машинописный текст лучше, чем JavaScript?
  83. Объясните несколько методов массивов?
  84. Что такое операторы деструктурирования и распространения и их преимущества от их использования.
  85. Как работает многопоточность в nodeJs?
  86. Как оптимизировать запросы в БД?
  87. Как вы обрабатываете ошибки в проекте?
  88. Что лучше написать в коде, callback или промисы? Почему?
  89. Как вы проводите тестирование в своей команде?
  90. Почему вы выбрали apache JMeter вместо других инструментов тестирования?
  91. Как мы можем использовать наследование в JavaScript?
  92. Зачем нам нужен JavaScript?
  93. Разница между требованием и импортом.
  94. Поскольку nodeJs является однопоточным, как использовать все ядро ​​ЦП сервера без использования pm2 в мире докеров и контейнеров?
  95. Что такое микросервисы и как вызывать одни микросервисы из других микросервисов?
  96. Что такое шлюз API?
  97. Используете ли вы модульные тесты?
  98. Что такое заглушка?
  99. Что такое промежуточное ПО и что произойдет, если вы не вернетесь в промежуточное ПО?
  100. Что такое some и every в javaScript?
  101. Что такое всплытие и захват событий?
  102. Как вы отлаживаете, если вызовы БД занимают время, и как улучшить его также в хранимой процедуре SQL? -
  103. Используете ли вы какой-либо шаблон проектирования? Если да, пожалуйста, объясните.
  104. Что такое obj.freeze и obj.seal и разница между ними?
  105. Каковы наилучшие способы создания объектов?
  106. Преимущества создания объекта с помощью Object.create
  107. Каково состояние обещания?
  108. Какой последний стандарт ECMA заменяет обещание?
  109. Как обрабатывать перехват в асинхронном ожидании?
  110. Как обрабатывать catch в асинхронном ожидании без использования try-catch?
  111. Какой инструмент вы используете для кодирования и почему?
  112. Как вы отлаживаете код?
  113. Как вы изучаете новые вещи и новый стек?
  114. Какие модули вы используете для создания HTTP-сервисов и почему?
  115. Разница между process.nextick, setTimeout и setImmedite.
  116. Использует ли nodeJs многопоточность? Если да, то когда они используют многопоточность?
  117. Когда не использовать nodeJs?
  118. В чем разница между undefined и null?
  119. Что такое интерполяции в JavaScript?
  120. Почему nodeJs был создан как однопоточный язык?
  121. Что такое всплывающее окно событий в javaScript?
  122. Что такое поверхностное клонирование и глубокое клонирование и разница между ними?
  123. Каково второе значение в parseInt, например, parseInt(10, ___second_value__)
  124. Объясните тип потока fs.
  125. Что такое генераторы и диспетчеры событий?
  126. app.get(‘/get’,auth, process, dbOps, sendResponse){} . Что такое промежуточное ПО в данном коде?
  127. Оцените себя в нижеприведенной технологии и также обоснуйте свою оценку. (Nodejs =›, reactjs =›, elk =›, CI/CD =› и Javascript =›)
  128. Каков ответ на заданный вопрос, почему? [] == [];
  129. Разница между const, Object.freeze() и Object.seal()
  130. Как вы вызываете API из внешнего интерфейса.
  131. Что такое эластичная БД и как и почему вы ее использовали?
  132. Как происходило развертывание в ваших командах.
  133. Как вы проводите нагрузочное тестирование?
  134. Как вы проводите нагрузочное тестирование и как вы создаете предварительные или расширенные данные?
  135. Представьте, что у вас есть несколько ведомостей о заработной плате, скажем, ведомости 1, 2 и 3….n. вы хотите выполнить нагрузочное тестирование с заданными данными, то как вы можете выполнить тестирование? еще одно условие здесь, если аутентификация пользователя успешна, то выполняются вызовы API квитанций о заработной плате, в противном случае они не выполняются.
  136. Как лучше скопировать объект и почему?
  137. Как глубоко клонировать?
  138. Встроенные методы клонирования объекта vs loadash_clone? какой из них лучше и почему?
  139. Каков оптимизированный способ сортировки массива?
  140. Объясните различные типы алгоритмов сортировки?
  141. Лучше встроенные методы сортировки JS или пользовательская сортировка? объясните почему также?
  142. Что такое промежуточное ПО и зачем оно нам нужно?
  143. Что такое 0Auth?
  144. Каков наилучший способ создать объект в данной опции Object.create по сравнению с созданием объекта из нового.
  145. Вы работали над модулями аутентификации паспорта?
  146. Использовали ли вы какой-либо другой фреймворк для создания API, кроме Express? Если да, то объясните, пожалуйста.
  147. Каковы преимущества использования экспресс?
  148. Можем ли мы добавить поле в объект const
  149. Можем ли мы добавить значения в массив const
  150. Как вы реализовали (на уровне кода) одноэлементные шаблоны проектирования?
  151. Можете поделиться кодом вызова и привязки?
  152. В чем разница между bind и call?
  153. В чем разница между стрелкой и обычной функцией?
  154. Что такое операторы спреда?
  155. Объясните особенность ES6.
  156. Почему вы выбрали nodeJs вместо java (поскольку java также имеет асинхронное поведение)
  157. Каковы некоторые преимущества традиционных конструкций цикла for по сравнению с for each?
  158. Что такое это ключевое слово?
  159. В чем разница между этим в функции стрелки и традиционной функцией?
  160. Чем опасны закрытия?
  161. Каковы плюсы и минусы монолитной архитектуры?
  162. В чем разница между горизонтальным и вертикальным масштабированием?
  163. Что такое архитектура без сохранения состояния и как она упрощает масштабирование?
  164. Объясните потоки и буферы в Node.js
  165. Вопросы по Docker и Kubernetes.
  166. Каков ваш опыт работы с CI/CD?
  167. git pull против git fetch. Объясните разницу и когда их использовать.
  168. API ставлю и патчю. Объясните разницу и когда их использовать.
  169. Каков ответ на приведенные ниже вопросы, а также объясните причину.
    for (var i = 0; i ‹ 5; i++) {
    setTimeout(function() {
    console.log(i );
    }, я * 1000);
    }
  170. Можете ли вы объяснить, как nodeJ выполняет код за кулисами, используя приведенный ниже код?
    console -> 1
    setTimeoutn->
    process.nextTick()
    console -> 2
    setTimeout()
    process.nextTick()
    setImmediate()
  171. зачем нам app.use в экспрессе? также объясните, кто является промежуточным программным обеспечением в данном коде.
    app.get(/api/getUser, isAuthenticated, isAdminUser,)

Несколько ресурсов для начала:

1. Посмотрите Namaste Javascript от Akshay Saini на YouTube.

2. изучение цикла событий и его фаз.

3. setTimeout и set сразу и process.nextTick, что это такое и как они выполняются, и в чем разница между ними.

4. Посмотрите буткемп Hitesh Chaudry MERN.

5. пройтись по всем методам массива и подготовить по нему документ вроде array.map, array.filter, array.reduce

Часть 2. Вопрос по кодированию!

  1. Постановка задачи: отсортировать массив объектов по значению имени.
    Входные данные:
    let employee = [
    { name: «Carry », возраст: 35, присоединился: «Среда, 03 февраля 2011 г.» },
    { имя: «Apple», возраст: 28, присоединился: «Пн, 05 февраля 2001 г.» },
    { имя: «Зенит », возраст: 32, присоединился: «Вторник, 22 мая 2012 г.» },
    { имя: «Слон», возраст: 24, присоединился: «Среда, 15 августа 2018 г.» },
    { имя: «Дэвид ", возраст: 33 года, присоединился: "Пн, 27 октября 2008 г." }
    ]
    Ожидаемый o/p:
    [
    { name: 'Apple ', возраст: 28, присоединился: '05 февраля 2001 года' },
    { name: 'Carry', возраст: 35, присоединился: '03 февраля 2011 года' },
    { name: 'David ', возраст: 33, присоединился: 'Пн, 27 октября 2008' },
    { имя: 'Слон', возраст: 24, присоединился: 'Ср, 15 августа 2018' },
    { name: 'Зенит ', возраст: 32 года, присоединился: "Вторник, 22 мая 2012 г." }
    ]
    Объяснение:
    Порядок имени в порядке возрастания на основе его значения.
  2. Постановка задачи: напишите код для следующих вопросов, используя функции async-await и sleep.
    Ожидаемый o/p:
    напечатайте A, затем ждет в течение 3 секунд, затем напечатайте B, затем подождите 3 секунды, затем напечатайте C.
    function sleep(name)
    {
    }
    async function main(){
    // print A
    //Подождите 3 секунды, используя функцию сна, затем напечатайте B
    //Подождите 3 секунды, используя функцию сна, затем напечатайте C
    }
    main()
  3. Постановка задачи:Числа идут подряд, найдите пропущенное число.?
    пусть arr = [1, 2, 3, 4, 5, 6, 7, 8, 10]
    п/п: 9
  4. Постановка задачи:получить уникальный список чисел в массиве без использования каких-либо встроенных методов JS
    Пример 1:
    ввод: [1, 1, 2, 3, 4, 5, 6, 7, 8, 6, 6, 7, 7, 7, 10, 10]
    о/п: [1,2,3,5,6,7,8 ,10]
    Пример 2:
    ввод: [1,2,2,3,3,3,3,3,3]
    o/p: [1,2,3]
  5. Постановка задачи: вернуть только те значения, которые содержат как буквы, так и числа, но не специальный символ.
    Пример 1:
    Ввод: ['rt123', 'rr567', '12356', '%$r32', '7*ytfd']
    o/p: ['rt123', 'rr567']
    Пример 2:
    Ввод: ['123abc',1234334, 'sajid', '2323dsds%$#']
    o/p: ['123abc']
  6. Постановка задачи: вернуть первое повторяющееся число в массиве, иначе вернуть неопределенное значение.
    Пример 1:
    array = [2,5,1,2, 3,5,1,2,4]
    o/p: 2
    Пример 2:
    массив = [2,1,1,2,3,5 ,1,2,4]
    o/p: 1
    Пример 3:
    array = [2,3,4,5]
    o/ р: не определено
  7. Постановка проблемы:если значения ключей имеют более 9 цифр, удалите повторяющиеся числа, иначе ничего не делайте.
    Пример:
    i/p:
    let dataObj = {
    val1: '1#$2$%34567899871',
    val2: '9^&086452',
    val3: ' %AD11',
    }
    o/p:
    let dataObj = {
    val1: '1#$2$%3456789', //здесь мы удалили дублирующийся номер, так как он имеет более 9 чисел во входных данных
    val2: '9^&086452',
    val3: '%AD11',
    }
  8. Постановка проблемы:если открывающие и закрывающие скобки расположены последовательно, вернуть true, иначе false.
    Пример 1:
    входная строка: (([]))
    o/p: true
    Пример 2:
    входная строка: ()
    o/p: true
    Пример 3:
    входная строка: ([)
    o/p: false
    Пример 4:
    входная строка: (]()[[))
    о/п: ложь
  9. Постановка задачи: вычисляет список значений, являющихся пересечением
    всех массивов. Входные данные могут содержать n массивов.
    Пример1:
    входные данные: массив1 = [1,2,3], массив2 = [2]
    o/p: [2]
    Пример2:
    входные данные: массив1 = [1,3], массив2 = [10]
    o/p: []
    Пример3:
    входные данные: array1 = [1,3]
    o/p: [1,3]
    Пример4:
    входы: массив1 = [1,2], массив2 = [1,3], массив3 = [1,4] …. до ‘n’ array
    o/p: вернуть пересечение всего массива.
  10. **Каскадная функция (с использованием ES5)**
    1. Принимает 2 аргумента (массив асинхронных функций и конечная функция обратного вызова)
    2. Передает результат одной функции другой и т. д.
    3. Передать результат последней функции в финальную функцию обратного вызова
    4. Если во время выполнения какой-либо функции возникает ошибка, сразу перейти к финальной функции обратного вызова с параметром error
    > Примечание. Напишите код в vanilla JS, не используя внешние библиотеки, такие как Promise и т. д.
    Шаблон кода:
    функция водопад(arrayOfFunctions, finalCallback ) {}
    const arrayOfFunctions = [
    function (doneCallback) {
    setTimeout(function () {
    console.log('FIRST')
    doneCallback (null, 'b')
    }, 100)
    },
    function (param, doneCallback) {
    setTimeout(function () {
    console.log('SECOND' , param)
    doneCallback(null, 'c', 'd')
    }, 50)
    },
    function (param1, param2, doneCallback) {
    setTimeout(function () {
    console.log('ТРЕТИЙ', param1, param2)
    doneCallback(null, 'e')
    }, 10)
    },
    ]
    const finalCallback = function (ошибка, результат) {
    console.log('ошибка', ошибка)
    console.log('результат', результат)
    }
    водопад(arrayOfFunctions, finalCallback)
    Ожидаемый O/p:
    FIRST
    SECOND b
    THRID c d
    err null
    результат e
  11. https://www.notion.so/Back-end-round-2-0fbc3a99e4864675b78db185571c4668
  12. Постановка проблемы: у вас есть строка, скажем, s = 'apple', переставьте строку в порядке убывания на основе количества встречающихся символов.
    Пример 1:
    i/p: яблоко
    o/p: бледно
    Объяснение : a: 1, p: 2, l: 1, e: 1, поэтому в порядке убывания будет p, a, l, e т.е. бледный
    Пример 2:
    i/p: nouman
    o/p: nouma
  13. Список песен = [1,6,3,89]
    ограничения
    1) воспроизведение песен в случайном порядке (в основном печатается номер песни)
    2) не воспроизведение уже проигранные песни
    3) Пространственная сложность O(1)
    4) вернуть -1, если все песни уже проиграны.
  14. Постановка проблемы: Односвязный список: добавьте 1 в конец значения (ограничение числа 0–9), если последнее число 9, то после добавления оно становится 10, что недопустимо (разрешено 0–9), поэтому 0 будет напечатано, а 1 будет добавлено к предыдущему элементу.
    Пример 1:
    Исходный список: 1 2 4 9:
    O/p: 1 2 5 0
    Пример 2:
    Исходный список: 9 9 9 9:
    O/p: 1 0 0 0 0
    Пример 3:
    Исходный список: 5 5 6 8:
    O/p: 5 5 6 9
  15. Постановка задачи. Запишите логику для этого алгоритма спиральной матрицы:
    Задача о спиральной матрице принимает двумерный массив из N строк и M столбцов в качестве входных данных и выводит элементы эта матрица в порядке спирали.
    Спираль начинается в верхнем левом углу входной матрицы и печатает встречающиеся элементы, зацикливаясь по направлению к центру этой матрицы по часовой стрелке.​
    Спираль Матрица:
    [1, 2, 3
    8, 9, 4
    7, 6, 5]
    Пример 1:
    N = 1
    Вывод: [1]
    Пример 2:
    N = 2
    Вывод:
    [1 2
    4 3]
    Пример 3:
    N = 3
    Вывод:
    [1 2 3
    8 9 4
    7 6 5]
    Пример 4:
    N = 4
    Вывод:
    [1 2 3 4
    12 13 14 5
    11 16 15 6
    10 9 8 7]
  16. Постановка задачи.Что выводит следующий фрагмент кода:
    var a = [1, 2, 'три']
    var b = 'hello'
    console.log(a.concat(b)) ?
  17. Постановка задачи: пусть a = [1, 2, 3]. Преобразуйте это в строковый тип данных.
  18. Постановка проблемы: каков ответ на приведенные ниже вопросы, а также укажите причину.
    for(let i=0; i‹ 3; i++){
    setTimeout(console .log(i),1000)
    }
  19. Постановка проблемы:Каков ответ этого фрагмента кода и объяснение
    console.log('3' + 3)
    console.log(3 + 3 + '3')
    console.log(3 + '3' + 3)
    console.log('3' + 3 + 3)
  20. Постановка задачи:Каков ответ этого фрагмента кода
    var myvar = 'my value'
    ;(function () {
    alert(myvar)
    var myvar = 'локальное значение'
    })()
  21. Постановка проблемы:Для приведенного ниже кода, пожалуйста, сгладьте массив.
    Пример 1:
    i/p: [10, 20, [30, 40, [50, 60]]]
    o/p: [10, 20, 30, 40, 50, 60]
    Пример 2:
    i/ p: [10, 20, 30, 'значение1', {0: 10}, [100, 200]]
    o/p: [10, 20, 30, 'значение1', {0: 10}, 100, 200]
    шаблон кода:
    функция flattenArray(arr) {
    }
    flattenArray(arr)
  22. Постановка задачи: что выводит этот код и почему?
    let a = [1, 2]
    a.length = 5
    console.log(a )
  23. Постановка задачи:какой результат выводит следующий код и почему:
    function abc() {
    console.log(“abc”, this)
    function pqr () {
    console.log («pqr», это)
    let test = () =› console.log («тест», это)
    test()
    }
    pqr()
    }
    abc()
  24. Постановка задачи. Для массива целых чисел nums найти непрерывный подмассив (содержащий хотя бы одно число), который имеет наибольшую сумму, и вернуть его сумму.
    Подмассив – это непрерывная часть массива. .
    Пример 1:
    Ввод: nums = [-2,1,-3,4,-1,2,1,-5,4]
    Вывод: 6
    Объяснение: [4,-1,2,1] имеет наибольшую сумму = 6.
    Пример 2:
    Ввод: nums = [1 ]
    Вывод: 1
    Пример 3:
    Ввод: nums = [5,4,-1,7,8]
    Вывод: 23
  25. Постановка задачи. Напишите код для определения общего количества дней между текущей датой и 25 декабря 2021 года без использования модулей.
    Пример 1:
    Текущая дата : 20 декабря 2021 г.
    всего дней = 5 дней
    Пример 2:
    Текущая дата: 1 декабря 2021 г.
    всего дней = 25 дней
  26. Постановка задачи. Запишите 2 логики для палиндрома и объясните, какая из них лучше.
  27. Постановка задачи. Запишите логику удаления специального символа из имени, например, naya&%$n.
  28. Постановка задачи:запишите вывод следующего фрагмента кода и объясните также причину?
    const temp = {id: 1, name: "Sajid", cars: [{make: " Ауди», модель: «А3»},{марка: «Марути», модель: «Дзире»}]};
    const temp1 = temp;
    temp1.name = «Митхун»;
    temp1.cars.push({марка: «Merc», модель: «E1»});
    что выводит temp & temp1 и почему?
    консоль. log(temp.id, temp.name, temp.cars);
    console.log(temp1.id, temp1.name, temp1.cars);
    Ожидание: напишите код для получения приведенного ниже вывода с использованием указанных выше временных переменных:< br /> 1, Саджид, [{марка: «Ауди», модель: «А3»},{марка: «Марути», модель: «Дзире»}]
    1, Митхун, [{марка: «Ауди », модель: «А3»}, {марка: «Марути», модель: «Дзире»}, {марка: «Мерс», модель: «Е1»}]
  29. Постановка задачи:запишите наиболее оптимизированный вариант палиндрома?
  30. Постановка задачи:Что выводит приведенный ниже фрагмент кода и почему
    1. console.log(a)
    ..
    10. let a = 10;
  31. Постановка задачи.Что выводит приведенный ниже фрагмент кода и почему
    var a = 10;
    {
    a = 2;
    }
    console.log(а)
  32. Постановка проблемы.Что выводит следующий фрагмент кода и почему?
    app.GET('\:customerId', isAuthenticated, {
    console.log('In Get….');
    });
    app.PUT('\:customerId', isAuthenticated, {
    console.log ('В PUT….');
    });
    app.POST('\:customerId', {
    console.log('В POST… .');
    });
    app.DELETE('\:customerId', isAuthenticated, {
    console.log('In DELETE….') ;
    });
    app.use('\:customerId', (req, res, next){
    console.log('Используется…. ');
    if(isAuthenticated()){
    next();
    }
    return res.status(403);
    });
    const isAuthenticated = (req,res, next) =› {
    console.log(“In isAuthenticated…”);
    next();
    }
  33. Учитывая иерархический список штатов, округов и городов в массиве, каждый из которых идентифицируется уникальным идентификатором,
    напишите функцию, которая принимает уникальный идентификатор и удаляет сущность с идентификатором и все подчиненные сущности в любой момент времени. level.

    * В качестве примера при следующей иерархии:
    * если передается 'fulton', то ['fulton', 'atlanta', 'alpharetta'] должны быть удалены
    * если передается 'алабама', то ['алабама', 'бибб', 'брент'] удаляются

Часть 3. Вопросы по проектированию системы.

  1. СИСТЕМА ОТСЛЕЖИВАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ СОБЫТИЙ, я уже написал об этом статью среднего размера, пожалуйста, проверьте это один раз.


2. Дизайн: Модули уведомлений Twitter/Instagram.

3. Как вы разрабатываете приложение для чата, такое как WhatsApp или Facebook Messenger?

4. Как оформить новостную ленту Facebook? Какой алгоритм вы будете использовать

5. Как создать поисковый робот, подобный Google?

Часть 4. Вопросы, основанные на сценариях!

  1. Что будет на выходе для следующего кода и почему, объясните также поток выполнения nodeJ?
    консоль 1
    консоль 2
    for loop -› 20 минут -› io
    db() -> io
    консоль 3
  2. Что будет на выходе для следующего кода и почему, объясните также поток выполнения nodeJ?
    консоль 1
    консоль 2
    for loop -› 20 минут -› io
    Await DB() -> io
    консоль 3
  3. Приложения потребляют данные из 3 источников и получают задержанные ответы для источников, тогда как вы будете отлаживать этот сценарий?
    Ответ:
    1. Вызывается параллельно для всех источников, получает чтобы узнать, какие источники отвечают с задержкой.
    2. Мы можем кэшировать данные, если данные являются статическими.
    3. Сообщить команде серверной части о необходимости масштабирования API, если это возможно.
  4. Вопросы по пулу соединений: Если пул соединений исчерпается, то придет новый запрос, что вы будете делать, будете создавать новые соединения или будете ждать, пока пул соединений освободится?
  5. Представьте, что у вас есть одна коллекция, скажем, сбор данных и каждый документ, хранящийся в нем в указанном ниже поле.
    имя поля документа => id, timestamp, data1, data2
    id уникальный идентификатор документов отчетов, хранящихся в некоторой папке.
    Напишите запрос, чтобы получить все документы между двумя временными метками?
    В чем проблема или узкое место, которое может возникнуть при использовании описанного выше подхода?
  6. Как реализовать приведенный ниже сценарий в nodeJs.
    Случай 1: Запрос A, B и C, затем вам нужно вызвать все 3 запроса параллельно. Как вы можете это сделать?
    Случай 2: Запрос A, B и C, вы должны параллельно вызывать запросы A и B, а затем C. Как вы можете это сделать?
    случай 3: если произошла ошибка в A, выдать ошибку, а если ошибка произошла в B затем выполните следующее обещание C.
  7. Учтите, что есть 2 файла, файл A и файл B, многие методы говорят, что 1,2 и 3 присутствуют в A, и вы хотите использовать это в файле B, тогда как вы можете это использовать?
  8. Представьте, что вам нужно сделать 5 запросов к API, чтобы получить данные, которые нужно отобразить во внешнем интерфейсе. У вас есть массив идентификаторов, которые можно использовать для составления запроса API.
    Ответ на каждый запрос вашему внутреннему серверу потребуется около 2 секунд. Как бы вы построили этот запрос во внешнем интерфейсе, используя промисы, и сколько времени, по вашему мнению, потребуется, чтобы все данные отобразились во внешнем интерфейсе?
  9. Представьте, что вы разрабатываете платформу управления работой. У платформы есть пользователи, и каждому пользователю назначены отдельные задачи.
    Как бы выглядела конечная точка API, если бы вам нужно было добавить новую задачу для конкретного пользователя?
    Как бы выглядела конечная точка API, если бы вам нужно было получить задачу для определенного пользователя?
  10. Сценарий тестирования: представьте, что у вас есть три веб-службы w1, w2, w3 и, w1 и w2 прошли успешно, но w3 не удалось, теперь вы хотите откатить w1 и w2, как вы это сделаете?

Часть 5. Несколько вопросов по внешнему интерфейсу!

  1. Что такое useRef в ReactJS?
  2. Вы использовали привязку в ReactJS, так что это такое?
  3. Что такое виртуальный дом в ReactJS?
  4. Какой второй параметр в setState()?
  5. Только перезагрузите конкретный компонент, как вы можете это сделать?
  6. Что такое Flexbox и как вы справляетесь с отзывчивостью веб-сайтов?
  7. Вы используете редукс?
  8. Компонент класса и функциональный компонент в ReactJS, что лучше и почему?
  9. Что супер в ReactJS?
  10. useEffect(){
    () =› {
    },[]
    }
    Какие это жизненные циклы в ReactJs.
  11. useEffect(){
    () =› {
    },[data]
    }
    Какие это жизненные циклы в ReactJs.
  12. let data = [];
    const [state, setState] — useState(“)
    useEffect(){
    () =› {
    },[data, state]< br /> }
    Отрисовывается ли компонент, если значение данных обновляется?
  13. Объясните жизненные циклы компонентов ReactJs.
  14. Как вы будете делать размонтирование в хуках?
  15. Что такое дом?
  16. Разница между html5 и HTML.
  17. Что такое блочная модель в CSS?
  18. Что произойдет, если тег привязки будет нажат?
  19. Что произойдет, если к тегу привязки прикреплен href и связанный с ним прослушиватель событий.
  20. Знаете ли вы что-нибудь о JSON P и ajax?
  21. Какие у тебя хобби?
  22. Вам удобно работать с бэкэндом, фронтендом или с обоими?
  23. Что такое event.preventDefault();
  24. Что такое тип документа в HTML?
  25. В чем разница между props и state?
  26. Объясните жизненный цикл компонентов ReactJs и то же самое в хуках.
  27. Как передать реквизит от детей родителям?
  28. Как хранить данные в браузере, который лучше?
  29. Как обеспечить аутентификацию в пользовательском интерфейсе.
  30. Как вы оформляете свой реагирующий компонент?

Часть 6. Несколько вопросов по базе данных!

  1. Scylla DB лучше, чем Cassandra, тогда почему вы не используете Scylla DB?
  2. Как вы можете читать данные MongoDB для агрегирования без установки какого-либо агента на сервере MongoDB? Пожалуйста, объясните с 4-5 сценариями
  3. Что такое эластичная БД? Пожалуйста, расскажите мне что-нибудь об этом.
  4. Что такое шардинг?
  5. Что такое профилирование в MongoDB?
  6. Что такое индексация?
  7. Можем ли мы читать и писать из осколков реплик MongoDB?
  8. Что такое проекция в MongoDB?
  9. Учтите, что у вас есть таблица пользователей и адресов, и ниже приведены полные данные.
    1 пользователь -› может иметь несколько адресов
    1 адрес -› может принадлежать нескольким пользователям
    Как создать схему в MongoDB, чтобы иметь указанные выше отношения в нашей базе данных.
  10. Как работает индексация, пожалуйста, объясните?
  11. Если я буду искать по первичному ключу и любому другому полю, для которого я создал индекс, что будет быстрее и почему?
  12. Почему отставание в шарде реплик? это правда? Пожалуйста, объясните причину.
  13. Как работают механизмы блокировки чтения и записи в базе данных?
  14. Преимущества и недостатки индексации.
  15. Как удалить данные из эластичной базы данных и имя ее API.
  16. Что такое сегментирование в эластичной БД?
  17. Что такое термин и агрегация в эластичной БД
  18. напишите SQL-запросы, чтобы вернуть ответ с emp_id, emp_name и manager_name.

19. Напишите запросы для получения итоговой таблицы, используя Entity Tables & Linage Table. Вы дали e_uid таблицы Entity и uid обеих таблиц Linage, вы должны получить итоговую таблицу. Здесь e_associativeLinages имеют массивы uid таблицы Linage.

Часть 7. Общие и поведенческие вопросы:

  1. Как вы поддерживаете себя в курсе новейших технологий и последних версий?
  2. Что вы будете делать, если вы не нашли никаких решений при отладке чего-либо.
  3. Как вы изучаете новый стек, если у вас есть шанс поработать над ним?
  4. Каким был ваш опыт работы в предыдущей организации? Что было хорошего и плохого в вашей предыдущей организации?
  5. Почему вы ищете перемен?
  6. Вы уже получили предложение от одной компании, которая все еще ждет изменений, почему?
  7. Почему вы хотите работать с нами?
  8. Почему вы ищете перемен и хотите присоединиться к стартапу?
  9. Были ли у вас какие-либо проблемы с товарищем по команде в прошлом? Если да, то как вы справляетесь с этим?
  10. Кем вы видите себя в ближайшие 5 лет?
  11. Каковы ваши самые большие достижения в жизни?
  12. Если у вас появится шанс снова начать свою карьеру, на что и где вы будете прикладывать больше усилий?
  13. О каких самых больших сожалениях и ошибках вы допустили в своей профессиональной жизни?
  14. Насколько вам удобно изучать новый стек?
  15. Почему вы не попытались переключиться внутри компании, вместо того, чтобы искать перемены в другой компании?
  16. Перейдете ли вы в другую компанию, если за 4 месяца работы у вас будут хорошие деньги?
  17. Вы до сих пор руководили какими-либо проектами?

Спасибо за чтение статей. Не стесняйтесь делиться своими предложениями и конструктивными отзывами, я буду рад услышать от вас.

Приятного обучения ✌️ ✌️

Вы можете связаться со мной по адресу [email protected] или через Linkedin: https://www.linkedin.com/in/mohd-sajid-shaikh-b69a16146/