Задачи На Собеседовании Junior / Middle Frontend Developer. Массивы в JavaScript.

Поделиться
HTML-код
  • Опубликовано: 14 июн 2024
  • Разбираем задачи которые часто спрашивают на собеседовании Junior и Middle Frontend Developer. В этом ролике решаем часто задаваемые задачи по массивам в JavaScript. Разбираем разные способы решения задач + некоторые фишки в JavaScript. Напишите в комментариях какие еще вопросы вам задавали на Frontend собеседованиях и как вы с ними справились!
    Таймкоды:
    00:00 - Сумма элементов массива. №1.
    00:51 - Сумма элементов массива. №2.
    01:36 - Сумма элементов массива. №3.
    02:12 - Максимальный / минимальный элемент массива. №1.
    03:10 - Максимальный / минимальный элемент массива. Вариации первого способа.
    03:50 - Максимальный / минимальный элемент массива. №2.
    04:20 - Максимальный / минимальный элемент массива. №3.
    04:46 - Максимальный / минимальный элемент массива. №4.
    05:32 - Сортировка массива.
    06:52 - Сортировка массива с объектами по их полям (по алфавиту и по возрастанию).
    09:50 - Развернуть массив без .reverse().
    11:29 -💡Сможешь понять этот код?
    12:10 - Отфильтровать falsy значения
    Приятного просмотра! Буду благодарен за поддержку в виде комментария и лайка!
    👉 Исходный код, чат, воркшопы и поддержка канала: / wisejs
    ✔️ Если хочешь изучать программирование со мной, не забудь подписаться :)
    ruclips.net/channel/UCOxq...
    ✔️ Мой телеграм канал: t.me/joinchat/RVq-cmt6n1SJRS7Z
    #собесесдованиеjavascript #собеседованиеfrontend #массивы #javascript #frontend #array #juniorjavascript #middlejavascript #вопросынасобеседовании

Комментарии • 183

  • @wisejs
    @wisejs  2 года назад +14

    Домашнее задание: Найти дубликаты (повторяющиеся элементы) в массиве. Решение присылайте в комментарии 👇

    • @imthebest8000
      @imthebest8000 2 года назад +1

      uniqueNumbers = new Set(array)

    • @9mikaela
      @9mikaela 2 года назад +1

      @@imthebest8000 это не найдёт дубликаты

    • @imthebest8000
      @imthebest8000 2 года назад +1

      @@9mikaela да, я просто не правильно прочёл задание

    • @eugenedoroshenko7366
      @eugenedoroshenko7366 2 года назад

      Для числового массива: arrayWithDublicates.sort((x1, x2) => x1 - x2).reduce((acc, next, index, arr) => next === arr[index + 1] ? [...acc, next] : acc, []). Для других типов данных меняем сортировку, которая была подробно рассмотрена в ролике👆

    • @ArtyomSamsonchik
      @ArtyomSamsonchik Год назад +2

      array.filter( (el, i) => i !== array.lastIndexOf(el) )

  • @romanpohribniak8471
    @romanpohribniak8471 2 года назад +7

    Спасибо,Максим,что продолжаете радовать нас отличным контентом,очень крутое видео!

  • @user-xe7sp3pr7t
    @user-xe7sp3pr7t 2 года назад +9

    Как раз прохожу собесы сейчас. То, что нужно как раз👌 . Спасибо 😉

  • @cult2839
    @cult2839 Год назад +2

    Контент богов! Наконец-то я нашел то, что искал. Сколько не гуглил задачи на массивы, выдаются сразу довольно сложные примеры, на которых разобраться в теме очень сложно. А тут как раз базовые задачи, да еще и с несколькими вариантами решений. Спасибо огромное!

    • @user-jl8kc2xi5g
      @user-jl8kc2xi5g 5 дней назад

      покажика эти сложные задачи)попробую их на зубок чтоб отскакивала как таблица умножения

  • @konstantin-lysenko
    @konstantin-lysenko 2 года назад +2

    Дружище, ты просто машина, я бы сказал - живой калькулятор)
    Подписка и лайк однозначно!

  • @samolevich
    @samolevich Год назад

    Классное видео. Интересные примеры. Спасибо

  • @slapiinf518
    @slapiinf518 2 года назад +3

    Классный видосик. Гоу теперь про объекты :)

  • @GrandAlexandr
    @GrandAlexandr 2 года назад +2

    благодарю за момент с сортировкой, на прошлом собесе не смог внятно ответить, а тут вот оно как))

  • @mykhailostepanishchev6472
    @mykhailostepanishchev6472 2 года назад +1

    Классный выпуск,большое спасибо! js, reduce, map, filter, sort, pop.

    • @wisejs
      @wisejs  2 года назад +2

      Спасибо за ключевые слова!

  • @Veremey
    @Veremey 2 года назад

    Great job 🔥 Keep on going!

  • @dmitriystoyanov933
    @dmitriystoyanov933 2 года назад +26

    Сейчас готовлюсь к собесам на новую работу, ставил на паузу и решил всё, НО некоторые твои варианты взорвали мозг) реально круто!

    • @Yupitrer
      @Yupitrer Год назад

      Как новая работа?

    • @dmitriystoyanov933
      @dmitriystoyanov933 Год назад +2

      @@Yupitrerда жестко бывает т.к. компания небольшая и должность размыта.. я типа фронтенд, но так же и бекенд писать приходится, и на AWS колупаться постоянно.. такое..но, бабки платят и хорошо;)

    • @adamarturov6361
      @adamarturov6361 Год назад

      Какие задачи по алгоритмам пригодились для собеса
      ?

    • @dmitriystoyanov933
      @dmitriystoyanov933 Год назад

      @@adamarturov6361 это год назад уже было, не помню, но может быть что угодно из них.

  • @kitaimanit6000
    @kitaimanit6000 Год назад +1

    спасибо, контент огонь

  • @robbyandreasian
    @robbyandreasian Год назад

    Полезно ! спасибо !

  • @assetdev1859
    @assetdev1859 Год назад

    ты крутой! я подписался) нажал лайк, надеюсь у вас будут выходить такие позновательные видео

  • @dmaberlin
    @dmaberlin 2 года назад

    спасибо , продолжай!

  • @theoty-js-react
    @theoty-js-react 2 года назад +1

    👌 буду решать

  • @mxrquez7692
    @mxrquez7692 Год назад +16

    Для разворачивания массива можно воспользоваться методом массива reduceRight, который работает как обычный, но итерируется с конца массива
    const reversedArray = array.reduceRight((accum, elem) => {
    accum.push(elem);
    return accum;
    }, []);

    • @SuperPirks
      @SuperPirks Год назад +3

      array.reduceRight((acc, item) => {
      return [
      ...acc, item
      ]
      },
      [])
      Пушить в аккумулятор плохая практика

    • @BOCbMOU
      @BOCbMOU Год назад +3

      @@SuperPirks в каком месте это плохая практика? Вот клонировать массив на каждой итерации - это действительно плохая практика.

    • @vjachet
      @vjachet Год назад

      ​@@SuperPirks лучше acc.concat(item)

  • @max_mgtow
    @max_mgtow 2 года назад +2

    Привет ✌️
    Спасибо 🔥👍

  • @user-mh2fz7tx3j
    @user-mh2fz7tx3j 2 года назад +6

    Класс! Сделай еще задачки с циклами))

    • @wisejs
      @wisejs  2 года назад +2

      Хорошая идея)

  • @ArtcticUFO
    @ArtcticUFO Год назад

    Отличный видос)

  • @haibova_irisha
    @haibova_irisha 11 месяцев назад

    привет . спасибо за видео

  • @andreykrav3274
    @andreykrav3274 2 года назад

    it's most popular information! thanks

  • @valeriathor1597
    @valeriathor1597 Год назад +2

    12:00: вторым аргументом назначаем this = наш array. первым аргументом, т.е. в качестве вызываемого колбэка передаем метод массива pop(), который внутри обращается к this т.е. к массиву, у которого вызывается. если я правильно поняла, когда что-то передается в качестве аргумента оно теряет контекст, потому что это вроде как эквивалентно присвоению переменной. поэтому нам нужно передать контекст вторым аргументом

  • @user-yj4ln8mi6b
    @user-yj4ln8mi6b 2 года назад +8

    Делюсь опытом, была задача на собеседовании написать функцию для проверки слова на палиндром, там работа и с массивом, и с строкой. Кто не знает, что это такое и как ее решать, советую глянуть.

    • @zizu2499
      @zizu2499 9 месяцев назад

      А где найти видео не смог найти видео с решением задачи

    • @user-on4di6lb3j
      @user-on4di6lb3j 7 месяцев назад

      А чего там решать? Слово в массив, массив развернуть и склеить в слово, результат сравнить с первоначальный словом. Можно с циклом заморочится или рекурсией. Для зарядки ума.

  • @volshebniyfonar
    @volshebniyfonar Год назад +6

    Перевернуть массив можно и нужно за O(n) и без доппамяти.
    Нужно в цикле от 0 до length/2 менять местами i-ый элемент с length - 1 - i

  • @raff_m_d6971
    @raff_m_d6971 Год назад

    От души

  • @loadmore
    @loadmore 2 года назад +1

    Обычно в продакшене готовые апи юзаешь, Бек уже все отфильтровал )

  • @whiteguards43
    @whiteguards43 Год назад

    не понял про array.filter(boolean) почему работает? Если весь массив передается, почему он возвращает все те что тру ведь boolean === true равно фолс

  • @getshou
    @getshou 2 месяца назад

    а почему, если не использовать деструктуризацию в выражении array.map(array.pop, array), вернет [6,6,5,4,,,] ?

  • @user-yv4ou3jl8y
    @user-yv4ou3jl8y 2 года назад

    Привет, найти самое редковстречающееся значение в числовом массиве, или сгенерировать n массив, заполненный рандомными числами от min до max)

    • @wisejs
      @wisejs  2 года назад +1

      Тоже попадалось с рандомными числами

  • @lambdius
    @lambdius 2 года назад +1

    В версиях node до 12, можно обмануть систему, т.к. сорт на малых объемах массива использует сортировку слиянием, мы можем произвести следующиее, a.sort(e=>1), еденицу можно заменить на любое положительное число, оно будет выполнять роль положительного резульятата сравнения элементов слева на право. Если уж идти по тропе шизокода, стоит писать все в круглых скобках, дабы избавиться от ключевых слов, методы вызывать следующим образом - a=[3,4,5,1,2,6], [j,o,i,n]=`join`, eval(a[j+o+i+n]`+`) и многое другое )))))
    И решение - a.map(a.pop,[...a]), взято из задачи 3 kyu на CW )))))
    У тебя хороший контент по технологиям, но задачки, это совсем другое, все тонкости JS врядли выйдет разобрать, да это и не нужно обычным людям.
    Ставлю этому видику 7kyu ))))

    • @wisejs
      @wisejs  2 года назад

      Интересно 🧐

    • @lambdius
      @lambdius 2 года назад

      @@wisejs Если человек хочет впечатлить собеседующего, рекомендую провести тутор - как писать код столбиком, по 1 символу в строке ))))

    • @wisejs
      @wisejs  2 года назад

      @@lambdius 😂

  • @denmccormik7654
    @denmccormik7654 2 года назад +1

    Дз: создать объект где ключом будут значения элементов массива, а значением - количество их повторений и в зависимости от задачи перебрать объект.

    • @wisejs
      @wisejs  2 года назад +1

      Все так, но вместо объекта лучше Map 😆

  • @senyashtyak
    @senyashtyak 9 месяцев назад +1

    Найти максимальный элемент массива через сортировку это гениально

    • @LuNa-om8ci
      @LuNa-om8ci 4 месяца назад

      Это был сарказм? Просто я новичок и немогу пока точно понять хорошо это или плохо.

    • @senyashtyak
      @senyashtyak 3 месяца назад

      @@LuNa-om8ci объясню проще: вместо линейной сложности мы используем квадратичную

  • @thecatwrites9731
    @thecatwrites9731 2 года назад

    прикольный канал, не помню откуда я тебя взял

  • @notIdeal78
    @notIdeal78 5 месяцев назад

    09:50
    const arrow = [1,2,3,4,5,6,7,9,12]
    console.log(arrow.sort(() => {return -1}));
    тоже идеально будет работать

    • @klash1401
      @klash1401 4 месяца назад

      отлично решение, вот его упрощенная запись (без return и фигурных скобок):
      arrow.sort(() => -1)

  • @asifabbasov3801
    @asifabbasov3801 10 месяцев назад

    Можно больше задач по JS c собеседований

  • @user-ni4oh6rs3e
    @user-ni4oh6rs3e Год назад

    В последней задаче зачем в иф делать !! если все что в условии и так приведется в бул значение

  • @mathiaswei8715
    @mathiaswei8715 2 года назад +1

    Спасибо, array.filter(item => item) тоже сработает

  • @lolphdundgren4328
    @lolphdundgren4328 Год назад

    8:38 ошибка в строке 23, в if-е должен стоять ===.

  • @velikorossnationalist4259
    @velikorossnationalist4259 Год назад +3

    В предпоследней задаче можно было бы воспользоваться методом sort:
    const arr = [1, 2, 3, 4, 5, 6, 88];
    const reversed = arr.sort((a, b) => {
    return b - a;
    });
    console.log(reversed);

    • @PlaymoreDev
      @PlaymoreDev Год назад +4

      не можно, потому что задача развернуть а не отсортировать. вот с таким массивом не будет работать верно: const arr = [1, 22, 3, 4, 5, 6, 88]

  • @kirushaa
    @kirushaa 2 года назад

    Привет ) Скажи пожалуйста что за шрифт у тебя в web-storm ? Заранее спасибо )

    • @wisejs
      @wisejs  2 года назад

      Дефолтный, не менял

    • @kirushaa
      @kirushaa 2 года назад

      @@wisejs спасибо )

    • @user-zd6yk9pi1y
      @user-zd6yk9pi1y 2 года назад

      jetbrains mono

  • @granmini
    @granmini 2 года назад

    Есть еще функция Есть еще функция getMaxOfArray ([1, 2, 3])

  • @Max_Ineos
    @Max_Ineos 10 месяцев назад +1

    Решение второй задачи, зачем мудрить?))
    const max = Math.max(...array);
    const min = Math.min(...array);

  • @BobbyBob21
    @BobbyBob21 4 месяца назад +1

    За eval по рукам надо бить))

  • @hyannikolas697
    @hyannikolas697 2 года назад

    Задача. Есть четыре массива по 4 цифры, цифры разбросаны, найти максимальное число , и вывести новый массив максимальных чисел.

    • @wisejs
      @wisejs  2 года назад

      Сводится к поиску максимального числа в матрице (насколько я понимаю)

  • @user-sy7cn6vc1m
    @user-sy7cn6vc1m 4 месяца назад

    лайк за localeCompare

  • @senyashtyak
    @senyashtyak 9 месяцев назад

    Никто не пишет вручную алгоритмы, вместо этого используют lodash, в котором они реализованы

  • @Witcher-simple-YouTube
    @Witcher-simple-YouTube 8 месяцев назад

    Это websrorm ?

  • @andrTaylor
    @andrTaylor Год назад +1

    Альтернатива для reverse)
    array.reduceRight((acc, item) => [...acc, item], [])
    Это когда лень писать for с обратным циклом))

    • @SerzhNesteruk
      @SerzhNesteruk 3 месяца назад

      Спасибо, что поделились решением! Способ вполне работающий, но у него всё же квадратичная сложность по времени из-за пепесоздания массива на каждой итерации. Можно переписать примерно так: array.reduceRight((acc, item) => (acc.push(item), acc), [])
      ...или даже решить через map:
      array.map((_, i, arr) => arr.at(~i))

    • @andrTaylor
      @andrTaylor 3 месяца назад +1

      @@SerzhNesteruk с первым вашим решением согласен, да, но второе читается сложновато)) заставляет залезть в доку и чекнуть инфу про тильду и at

  • @yuriiyurii6656
    @yuriiyurii6656 2 года назад

    map(callbackFn, thisArg)
    Array(array.length).fill(null).map([].pop, [...array]);
    де:
    Array(array.length).fill(null) - масив будь-яких значень аналогічної довжини
    [].pop - потрібна сама функція
    [...array] - масив, з якого на кожному кроці буде забиратися останнє значення. Якщо без ... (деструктиризації), тоді очистить попередній масив array

    • @vjachet
      @vjachet Год назад +2

      array.map([].pop, [...array])

  • @Shperung
    @Shperung 7 месяцев назад

    const max = arr.toSorted((a, b) => b - a)[0];

  • @JohnDoe-hw1sm
    @JohnDoe-hw1sm 2 года назад +1

    Касательно варианта с разворотом массива, можно еще воспользоваться reduceRight. =)
    arr.reduceRight((p, c) => [...p, c], []);

  • @kittycat5403
    @kittycat5403 2 года назад +1

    а разве нельзя развернуть массив тем же методом sort, только возвращать x2 - x1 вместо x1 - x2?

    • @kittycat5403
      @kittycat5403 2 года назад +1

      и в filter просто использовать сам текущий item без boolean

    • @wisejs
      @wisejs  2 года назад

      x2 - x1 - отсортирует по убыванию

    • @wisejs
      @wisejs  2 года назад

      да, так можно, но не особо очевидно как по мне

    • @user-vu6hn4ul2i
      @user-vu6hn4ul2i Год назад

      Нет, нельзя. Если массив изначально не сортирован, то такой "разворот" вернёт сортированный.

  • @pasha2927
    @pasha2927 2 года назад

    Домашнее задание: Можно использовать new Set... [...new Set(someArray)]

    • @wisejs
      @wisejs  2 года назад

      Не убрать их, а найти :)

  • @user-jf3uf2ur4e
    @user-jf3uf2ur4e 17 дней назад

    eval это прикол конечно, думаю лучше так не делать на собеседовании 😅

  • @user-sz7pu7qj3z
    @user-sz7pu7qj3z 2 года назад +1

    Стосовно розвертання масиву через map(array.pop, array) функція видаляє останній елемент масиву і повертає його, який в свою чергу записується в результат функції map. А в якості this для метода pop передається array, який скорочується.

  • @b1sh855
    @b1sh855 8 месяцев назад

    const arrey = [1, 2, 3, 4]
    const xw = arrey.reduce((x, y) => x + y);
    console.log(xw)
    это по короче

  • @user-rj6ro3mp1p
    @user-rj6ro3mp1p 2 года назад +1

    Стало интересно и пошел разбираться. С некоторым успехом вроде что-то вышло.😁
    Для данной записи: [...ourArr].map(array.pop, ourArr)
    - array.pop - это мы просто передаем метод массива, аналогично и этой записи: [].pop
    Метод array.pop удаляет последний элемент массива и возвращает его.
    Второй агрумент "ourArr" для метода map нужен для того, чтобы именно было что возвращать в новый массив, который создает метод map. Значение для нового элемента массива возвращается на каждой итерации из ourArr, который мы передали для метода [].pop в качестве this.
    Новый массив [...ourArr] нужен только для того, чтобы было по чему нам итерироваться. Будет аналогично и работать так же для записи:
    [undefined, undefined, undefined, undefined, undefined].map(array.pop, ourArray)
    Кажется, что я только запутал.😂

    • @wisejs
      @wisejs  2 года назад +1

      Ход мыслей верный 🙂

    • @user-rj6ro3mp1p
      @user-rj6ro3mp1p 2 года назад

      @@wisejs Ну и хорошо значит.😁

    • @Kaorichvagon
      @Kaorichvagon 2 года назад +1

      Array.from( new Array(arr.length) , () => arr.pop() ) в пустой массив той же длины накидываются попнутые значения. Так это выглядит в читаемой реализации, хотя всё равно способ идиотский, так как происходит мутация исходного массива. Еще при этом зачем-то усложнил получением ссылки на метод массива и прокинутым в неё this. Любителей всё усложнять везде же любят)

    • @SerzhNesteruk
      @SerzhNesteruk 3 месяца назад

      ​@@Kaorichvagon Здесь, кстати, тоже можно поумничать с Array.prototype.pop и thisArg, но хотя бы сохранив иммутабельность исходного массива:
      Array.from(arr, [].pop, [...arr])
      А учитывая, что вторым аргументом Array.from является mapFn, то можно просто использовать сам метод map:
      arr.map([].pop, [...arr])
      Но можно решить и рациональнее:
      arr.map((_, i, arr) => arr.at(~i))

  • @oldiBerezkoo
    @oldiBerezkoo 4 месяца назад

    3:11 через sort было бы легче и быстрее сделать как мне кажется

  • @kosmodemyan_sugar
    @kosmodemyan_sugar 9 месяцев назад

    ну не знаю не знаю, мне и на джуна задачи сложнее попадались

  • @GagikHarutyunyan_dev
    @GagikHarutyunyan_dev 2 года назад +2

    Последний пример мутирует предыдущий массив, это плохо)

    • @wisejs
      @wisejs  2 года назад

      Последний пример какой задачи?

    • @GagikHarutyunyan_dev
      @GagikHarutyunyan_dev 2 года назад

      Развернуть массив

    • @wisejs
      @wisejs  2 года назад

      не всегда плохо, зависит от требований

    • @vjachet
      @vjachet Год назад +1

      @@wisejs но сначала-то все примеры без мутации
      что мешало array.map([].pop, [...array]) ?
      если мутировать оригинальный массив - надо было и с двумя указателями дать пример

  • @azizoid
    @azizoid 2 года назад +1

    просили найти второе и третье максимальное значение массива перебрав его всего один раз

    • @wisejs
      @wisejs  2 года назад

      Как решали? Сортировкой?

    • @azizoid
      @azizoid 2 года назад

      @@wisejs сортировкой делать было нельзя. Поэтому прошелся обычным for-ом. Но и это их не устроило. Сказали мой алгоритм слишком затратный. Это было тюлет 3 назад

    • @wisejs
      @wisejs  2 года назад

      @@azizoid O(n2 если 2 раза перебирал. Хотели, наверное, быстрее.

    • @plart2006
      @plart2006 2 года назад

      @@wisejs простой сортировкой эту задачу не решить, потому что могут быть дубликаты, придется set еще городить, это не рационально
      upd: зато читабельно, и чаще всего на фронте глубоко пофиг, сколько займет операция с массивом - 3мс или 10мс, а вот разбираться с кодом из кучи циклов нахрен никому не упало

    • @plart2006
      @plart2006 2 года назад

      let max = -Infinity,
      second = -Infinity,
      third = -Infinity
      for (const value of arr) {
      if (value > max) {
      [second, max] = [max, value] // save previous max
      } else if (value < max && value > second) {
      second = value // new second biggest
      third = second // new third biggest
      } else if (value < second && value > third) {
      third = value // new third biggest
      }
      }
      return [second, third]

  • @deantek
    @deantek Год назад

    а нельзя в максимальном или минимальном элементе массива сделать так?
    const arr = [3, 2, 4, 5, 1]
    const min = arr.sort()[0]
    const max = arr.sort()[arr.length - 1]

    • @user-ui1fe2bd9w
      @user-ui1fe2bd9w Год назад +1

      да кнчн

    • @kindaart7451
      @kindaart7451 Год назад +2

      Если в массиве будет 100, то max у Вас будет равна 5, что будет ошибкой.

  • @user-yh6jq7iz2u
    @user-yh6jq7iz2u 11 месяцев назад

    каким каким оператором? тренарным? 😂 может тернарным?

  • @dogfrogfog
    @dogfrogfog 2 года назад +1

    тернарным, а не тренарным

  • @chinzano
    @chinzano 2 года назад +1

    Вопросы на уровне стажёра, на Джуна уж посложнее задачи спрашивают, как минимум, средний уровень с leetcode

    • @wisejs
      @wisejs  2 года назад

      Собеседование довольно стрессовый процесс. И даже, порой простые вопросы и задачи вызывают трудности. Даже на 1 задачу среднего уровня нужно выделять все собеседование, а ведь спросить хочется не только 1 задачу.

  • @user-mn3ic2ct8d
    @user-mn3ic2ct8d 2 года назад

    Сделать плоский массив, нельзя использовать flat

    • @pinkiseven659
      @pinkiseven659 2 года назад

      А также нельзя использовать рекурсию

    • @wisejs
      @wisejs  2 года назад +1

      А так же, нельзя использовать массив 😆

    • @pinkiseven659
      @pinkiseven659 2 года назад

      @@wisejs будет тогда сложно

  • @ruslantsarenko3036
    @ruslantsarenko3036 2 года назад +2

    Сомнительно чтобы давали настолько простые задачи на собесе

    • @plart2006
      @plart2006 2 года назад +6

      Если просят крутить деревья, лучше сразу уйти. Потом такие особи крутят тебе мозги

    • @McNeelone
      @McNeelone 2 года назад

      @@plart2006 по подробней можно?

    • @KrivovNikolay
      @KrivovNikolay Год назад

      @@McNeelone я думаю он имел ввиду работу с DOM элементами , если сразу просят работать с ними ,то лучше сразу покинуть собеседование...
      Я так его понял

    • @Snezh88k
      @Snezh88k Год назад

      @@KrivovNikolay бинарные деревья поиска

    • @user-vu6hn4ul2i
      @user-vu6hn4ul2i Год назад

      @@plart2006 ну такой себе совет. Если ты умеешь крутить деревья, то почему бы и не покрутить? Если не умеешь, то да, можно сразу уходить: у тебя и у компании разные взгляды на то, что ты должен знать и уметь на той позиции, куда тебя собеседуют. И консенсус вряд-ли получится.

  • @n0rison
    @n0rison 9 месяцев назад

    ну middle вряд ли

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z Год назад +1

    Почему этот парень не моргает а я сразу не понял че не так🤔

  • @user-xn2cr5oe4p
    @user-xn2cr5oe4p 11 месяцев назад +4

    Почему ты таким устаревшим циклом пользуешься? И ещё вводишь в заблуждение новичков! А также тут многие пишут что таких задач нет на собесах! Зря потерянное время …

  • @phat80
    @phat80 16 дней назад

    Такой легкотни на собеседовании быть просто не может. Это даже не уровень джуна. Да, задачи тоже на массивы могут быть, но они будут куда сложнее и не такими очевидными, да еще и с особыми требованиями, типа сделать то-то, не используя что-то (например, какие-то стандартные методы) или не используя дополнительную память, либо показать алгоритм с заданной сложностью. В общем, такие задачи могут быть лишь на собеседовании в какой-то сказочной компании. А таковых давно не существует.

  • @plart2006
    @plart2006 2 года назад

    Чаще задвигают всякую теоретическую хрень типа прототипов и принципов ооп. Как говорится, особый js для собесов, который в реальной работе никогда не используется

    • @wisejs
      @wisejs  2 года назад

      Принципы ООП не связаны с js и их у любого программиста могут спросить

  • @alexandroppolus
    @alexandroppolus 2 года назад

    Искать максимум в массиве через сортировку - это дичь. Хуже неё только последний способ Math.max(...arr), приводящий к переполнению стека на длинном массиве. Автор, не учи джунов всякому плохому )

    • @carry-on-chaos4032
      @carry-on-chaos4032 Год назад

      а как правильно? я делал через reduce

    • @alexandroppolus
      @alexandroppolus Год назад +1

      @@carry-on-chaos4032 через reduce вполне норм. Ну или обычным циклом.

  • @pkorneev5226
    @pkorneev5226 11 месяцев назад

    junior еще бы поверил для первой легкой задачки на собеседовании, но точно не мидл, это уровень интерна, не более

  • @user-ms5vu1zp9d
    @user-ms5vu1zp9d Год назад +2

    На собесе такое не просят решать. Это детсадовские задачи.

    • @benchik100
      @benchik100 Год назад +3

      😵😵😵 не лишайте меня мотивации.

  • @DreamMaster_ru
    @DreamMaster_ru 10 месяцев назад

    array.reduce((acc:number, next:number) - Почему у меня аккумуляторы не работают? Все примеры из видео с аккумулятормаи у меня не пашут.
    Хотя reduce вот так работает:
    const array = [1, 2, 2, 4, 5, 6, 6, 100];
    let sum = array.reduce(function (currentSum, currentNumber) {
    return currentSum + currentNumber
    } , 0)

  • @oleksandr_h
    @oleksandr_h 2 года назад

    const A = [1, 2, 3, 4, 5, 2, 1];
    console.log([...new Set(A.filter((a) => A.length - A.filter((f) => f != a).length > 1))]);

  • @bjdsn
    @bjdsn 2 года назад +1

    function duplicate(nums) {
    return new Set(nums.filter(n => nums.indexOf(n) !== nums.lastIndexOf(n)))
    }

    • @wisejs
      @wisejs  2 года назад

      Крутое решение 👍

    • @Ushakov.M
      @Ushakov.M 2 года назад

      Только Big O у решения большая

  • @user-xn2cr5oe4p
    @user-xn2cr5oe4p Месяц назад

    Зашёл увидел старющий как мир цикл и сразу закрыл видео 🤮