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

Sdílet
Vložit
  • čas přidán 24. 07. 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
    ✔️ Если хочешь изучать программирование со мной, не забудь подписаться :)
    czcams.com/channels/Oxq.html...
    ✔️ Мой телеграм канал: t.me/joinchat/RVq-cmt6n1SJRS7Z
    #собесесдованиеjavascript #собеседованиеfrontend #массивы #javascript #frontend #array #juniorjavascript #middlejavascript #вопросынасобеседовании

Komentáře • 186

  • @wisejs
    @wisejs  Před 2 lety +14

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

    • @imthebest8000
      @imthebest8000 Před 2 lety +1

      uniqueNumbers = new Set(array)

    • @9mikaela
      @9mikaela Před 2 lety +1

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

    • @imthebest8000
      @imthebest8000 Před 2 lety +1

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

    • @eugenedoroshenko7366
      @eugenedoroshenko7366 Před 2 lety

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

    • @ArtyomSamsonchik
      @ArtyomSamsonchik Před 2 lety +2

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

  • @romanpohribniak8471
    @romanpohribniak8471 Před 2 lety +7

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

  • @user-xe7sp3pr7t
    @user-xe7sp3pr7t Před 2 lety +9

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

  • @cult2839
    @cult2839 Před 2 lety +2

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

    • @user-jl8kc2xi5g
      @user-jl8kc2xi5g Před měsícem

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

  • @konstantin-lysenko
    @konstantin-lysenko Před 2 lety +2

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

  • @samolevich
    @samolevich Před rokem

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

  • @mykhailostepanishchev6472

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

    • @wisejs
      @wisejs  Před 2 lety +2

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

  • @slapiinf518
    @slapiinf518 Před 2 lety +3

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

  • @GrandAlexandr
    @GrandAlexandr Před 2 lety +3

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

  • @Veremey
    @Veremey Před 2 lety

    Great job 🔥 Keep on going!

  • @assetdev1859
    @assetdev1859 Před rokem

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

  • @podpalmoi
    @podpalmoi Před 6 dny

    Классное видео, благодарю автора за освежение памяти! Надеюсь вы живы. Говорят, в этом году всё кончится.

  • @robbyandreasian
    @robbyandreasian Před rokem

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

  • @dmitriystoyanov933
    @dmitriystoyanov933 Před 2 lety +26

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

    • @Yupitrer
      @Yupitrer Před rokem

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

    • @dmitriystoyanov933
      @dmitriystoyanov933 Před rokem +2

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

    • @adamarturov6361
      @adamarturov6361 Před rokem

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

    • @dmitriystoyanov933
      @dmitriystoyanov933 Před rokem

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

  • @kitaimanit6000
    @kitaimanit6000 Před rokem +1

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

  • @dmaberlin
    @dmaberlin Před 2 lety

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

  • @theoty-js
    @theoty-js Před 2 lety +1

    👌 буду решать

  • @user-mh2fz7tx3j
    @user-mh2fz7tx3j Před 2 lety +6

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

    • @wisejs
      @wisejs  Před 2 lety +2

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

  • @ArtcticUFO
    @ArtcticUFO Před 2 lety

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

  • @max_mgtow
    @max_mgtow Před 2 lety +2

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

  • @andreykrav3274
    @andreykrav3274 Před 2 lety

    it's most popular information! thanks

  • @mxrquez7692
    @mxrquez7692 Před 2 lety +16

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

    • @SuperPirks
      @SuperPirks Před rokem +3

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

    • @BOCbMOU
      @BOCbMOU Před rokem +3

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

    • @vjachet
      @vjachet Před rokem

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

  • @haibova_irisha
    @haibova_irisha Před rokem

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

  • @valeriathor1597
    @valeriathor1597 Před rokem +2

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

  • @volshebniyfonar
    @volshebniyfonar Před rokem +7

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

  • @user-yj4ln8mi6b
    @user-yj4ln8mi6b Před 2 lety +9

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

    • @zizu2499
      @zizu2499 Před 10 měsíci

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

    • @user-on4di6lb3j
      @user-on4di6lb3j Před 8 měsíci

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

  • @raff_m_d6971
    @raff_m_d6971 Před rokem

    От души

  • @user-yv4ou3jl8y
    @user-yv4ou3jl8y Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety +1

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

  • @loadmore
    @loadmore Před 2 lety +1

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

  • @lambdius
    @lambdius Před 2 lety +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  Před 2 lety

      Интересно 🧐

    • @lambdius
      @lambdius Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

      @@lambdius 😂

  • @mathiaswei8715
    @mathiaswei8715 Před 2 lety +1

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

  • @whiteguards43
    @whiteguards43 Před rokem

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

  • @Max_Ineos
    @Max_Ineos Před rokem +2

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

  • @denmccormik7654
    @denmccormik7654 Před 2 lety +1

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

    • @wisejs
      @wisejs  Před 2 lety +1

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

  • @firewatermoonsun
    @firewatermoonsun Před 9 dny

    7:02 Как вы открыли увеличитель, которая типа лупы?

  • @notIdeal78
    @notIdeal78 Před 6 měsíci

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

    • @klash1401
      @klash1401 Před 5 měsíci

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

  • @getshou
    @getshou Před 3 měsíci

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

  • @thecatwrites9731
    @thecatwrites9731 Před 2 lety

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

  • @user-sy7cn6vc1m
    @user-sy7cn6vc1m Před 6 měsíci

    лайк за localeCompare

  • @senyashtyak
    @senyashtyak Před 10 měsíci +1

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

    • @LuNa-om8ci
      @LuNa-om8ci Před 5 měsíci

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

    • @senyashtyak
      @senyashtyak Před 4 měsíci

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

  • @velikorossnationalist4259

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

    • @PlaymoreDev
      @PlaymoreDev Před rokem +4

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

  • @lolphdundgren4328
    @lolphdundgren4328 Před rokem

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

  • @user-ni4oh6rs3e
    @user-ni4oh6rs3e Před rokem

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

  • @granmini
    @granmini Před 2 lety

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

  • @asifabbasov3801
    @asifabbasov3801 Před 11 měsíci

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

  • @yuriiyurii6656
    @yuriiyurii6656 Před 2 lety

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

    • @vjachet
      @vjachet Před rokem +2

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

  • @BobbyBob21
    @BobbyBob21 Před 5 měsíci +1

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

  • @kirushaa
    @kirushaa Před 2 lety

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

  • @senyashtyak
    @senyashtyak Před 10 měsíci

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

  • @hyannikolas697
    @hyannikolas697 Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

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

  • @andrTaylor
    @andrTaylor Před rokem +1

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

    • @SerzhNesteruk
      @SerzhNesteruk Před 5 měsíci

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

    • @andrTaylor
      @andrTaylor Před 5 měsíci +1

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

  • @JohnDoe-hw1sm
    @JohnDoe-hw1sm Před 2 lety +1

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

  • @Shperung
    @Shperung Před 9 měsíci

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

  • @Witcher-simple-YouTube
    @Witcher-simple-YouTube Před 9 měsíci

    Это websrorm ?

  • @kittycat5403
    @kittycat5403 Před 2 lety +1

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

    • @kittycat5403
      @kittycat5403 Před 2 lety +1

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @user-vu6hn4ul2i
      @user-vu6hn4ul2i Před rokem

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

  • @user-sz7pu7qj3z
    @user-sz7pu7qj3z Před 2 lety +1

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

  • @pasha2927
    @pasha2927 Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

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

  • @b1sh855
    @b1sh855 Před 9 měsíci

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

  • @user-rj6ro3mp1p
    @user-rj6ro3mp1p Před 2 lety +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  Před 2 lety +1

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

    • @user-rj6ro3mp1p
      @user-rj6ro3mp1p Před 2 lety

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

    • @Kaorichvagon
      @Kaorichvagon Před 2 lety +1

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

    • @SerzhNesteruk
      @SerzhNesteruk Před 5 měsíci

      ​@@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 Před 6 měsíci

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

  • @user-jf3uf2ur4e
    @user-jf3uf2ur4e Před měsícem

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

  • @kosmodemyan_sugar
    @kosmodemyan_sugar Před 10 měsíci

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

  • @azizoid
    @azizoid Před 2 lety +1

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @azizoid
      @azizoid Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @plart2006
      @plart2006 Před 2 lety

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

    • @plart2006
      @plart2006 Před 2 lety

      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]

  • @GagikHarutyunyan_dev
    @GagikHarutyunyan_dev Před 2 lety +2

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @GagikHarutyunyan_dev
      @GagikHarutyunyan_dev Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @vjachet
      @vjachet Před rokem +1

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

  • @dogfrogfog
    @dogfrogfog Před 2 lety +1

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

  • @deantek
    @deantek Před rokem

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

    • @user-ui1fe2bd9w
      @user-ui1fe2bd9w Před rokem +1

      да кнчн

    • @kindaart7451
      @kindaart7451 Před rokem +2

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

  • @n0rison
    @n0rison Před 10 měsíci

    ну middle вряд ли

  • @user-yh6jq7iz2u
    @user-yh6jq7iz2u Před rokem

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

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z Před rokem +1

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

  • @user-mn3ic2ct8d
    @user-mn3ic2ct8d Před 2 lety

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

    • @pinkiseven659
      @pinkiseven659 Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety +1

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

    • @pinkiseven659
      @pinkiseven659 Před 2 lety

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

  • @DreamingDolphing
    @DreamingDolphing Před 28 dny

    Смотрящим через 2 года: нет, настолько простые задачи вас на собеседовании решать не попросят.

  • @ruslantsarenko3036
    @ruslantsarenko3036 Před 2 lety +2

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

    • @plart2006
      @plart2006 Před 2 lety +6

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

    • @McNeelone
      @McNeelone Před 2 lety

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

    • @KrivovNikolay
      @KrivovNikolay Před rokem

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

    • @Snezh88k
      @Snezh88k Před rokem

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

    • @user-vu6hn4ul2i
      @user-vu6hn4ul2i Před rokem

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

  • @chinzano
    @chinzano Před 2 lety +1

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

    • @wisejs
      @wisejs  Před 2 lety

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

  • @user-xn2cr5oe4p
    @user-xn2cr5oe4p Před rokem +4

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

  • @phat80
    @phat80 Před měsícem

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

  • @plart2006
    @plart2006 Před 2 lety

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

    • @wisejs
      @wisejs  Před 2 lety

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

  • @alexandroppolus
    @alexandroppolus Před 2 lety

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

    • @carry-on-chaos4032
      @carry-on-chaos4032 Před rokem

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

    • @alexandroppolus
      @alexandroppolus Před rokem +1

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

  • @pkorneev5226
    @pkorneev5226 Před rokem

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

  • @user-ms5vu1zp9d
    @user-ms5vu1zp9d Před rokem +2

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

    • @benchik100
      @benchik100 Před rokem +3

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

  • @DreamMaster_ru
    @DreamMaster_ru Před 11 měsíci

    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 Před 2 lety

    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 Před 2 lety +1

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

    • @wisejs
      @wisejs  Před 2 lety

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

    • @Ushakov.M
      @Ushakov.M Před 2 lety

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

  • @user-xn2cr5oe4p
    @user-xn2cr5oe4p Před 3 měsíci

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