Тёмный

Задачи с собеседований на Javascript \ Frontend разработчика 

Ulbi TV
Подписаться 304 тыс.
Просмотров 33 тыс.
50% 1

В этом уроке мы разберем несколько задач с собеседований на javascript frontend разработчика.
Мой курс "Продвинутый Frontend. В production на React" - ulbitv.ru/frontend
Поддержать меня и мой канал вы можете по ссылкам ниже.
Patreon/boosty (доступ к бонусам) - boosty.to/ulbitv
Qiwi кошелек - www.qiwi.com/n/BODYE821
Яндекс деньги - yoomoney.ru/to/4100116193037469

Наука

Опубликовано:

 

8 ноя 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 118   
@ipa_stor
@ipa_stor 3 года назад
Однозначно нужны еще такие видео, из серии "никогда не знаешь когда может пригодиться", но при этом раздвигают границы, спасибо!!!
@UlbiTV
@UlbiTV 3 года назад
Спасибо!) Согласен, для общего развития такая информация очень полезна!)
@likagabrielyan8349
@likagabrielyan8349 3 года назад
Обязательно продолжайте, главное задачки выбирайте интересные, как в этом ролике) Спасибо
@UlbiTV
@UlbiTV 3 года назад
Благодарю! обязательно учту!)
@mini8622
@mini8622 Год назад
Такие видео нужны и важны!) ждём новых👌🏼💪🏼
@wishmaker1443
@wishmaker1443 2 года назад
Интересно и актуально. Спасибо за примеры и разъяснения!
@koreikin
@koreikin Год назад
😊 спасибо большое за интересный материал. Всегда помогает освежить память перед собеседованием.
@sergsergey4251
@sergsergey4251 3 года назад
Спасибо тебе, дальнейших успехов!
@falsetrue7910
@falsetrue7910 3 года назад
Как обычно - быстро и интересно, лайк комент для развития канала =)
@UlbiTV
@UlbiTV 3 года назад
Благодарю!)
@TheWLad1k
@TheWLad1k 2 года назад
Ты крут! Спасибо за твои ролики!
@error-md1sh
@error-md1sh 3 года назад
Спасибо , редко оставляю комменты , ну этот контент того стоит. Нравится формат ,строго все по делу. Буду рад увидеть разбор новых задач , как по внутрянке js так и по алгоритмам. По другим видео на канале тоже все нравится.
@UlbiTV
@UlbiTV 3 года назад
Спасибо большое, очень приятно слышать!)
@user-no7cf8jo1p
@user-no7cf8jo1p 2 года назад
Спасибо за ролик!! И за канал!
@srt2046
@srt2046 3 года назад
Интересны! Особенно тестовые по фреймворкам! Реакт, Вью, Ларавель, Джанго 🔥🔥🔥 с меня стабильно лайк и комментарий под каждым просмотренным видео 😁
@UlbiTV
@UlbiTV 3 года назад
Ахах, а с меня стабильно благодарность!!!!
@user-jh2hl9kg3t
@user-jh2hl9kg3t 2 года назад
отличный формат! спасибо!
@eduardbi7568
@eduardbi7568 3 года назад
кратко и по факту , нравятся такие видео!
@UlbiTV
@UlbiTV 3 года назад
Спасибо, друг!)
@user-ww2iv8pc8i
@user-ww2iv8pc8i 2 года назад
считать сумму всех вершин деревьев с помощью стека - браво - лучший вариант
@ndrewhas
@ndrewhas Год назад
Отличные задачи, спасибо) Уперся в самостоятельное решение со стеком - потратил несколько часов пока пазл сложился, мозг закипел но решил =)
@user-gi3sh6ul2j
@user-gi3sh6ul2j Год назад
Спасибо, полезно, особенно вторая, не знал про такой способ решения
@andrzejsotnikow7494
@andrzejsotnikow7494 2 года назад
Всегда интересно
@user-pd9no5ye5g
@user-pd9no5ye5g 3 года назад
Классный контент, надеюсь с таким задачам я не столкнусь, сверхсложного вроде ничего, но время на то чтоб к решению прийти поднабраться значительно больше
@UlbiTV
@UlbiTV 3 года назад
Дело практики) спасибо!
@user-ff3lc1et3u
@user-ff3lc1et3u 2 года назад
Такие ролики однозначно интересны
@user-rr8gn3ft5b
@user-rr8gn3ft5b 3 года назад
Благодарочка, снова же очень интересно
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@nick.lowkick
@nick.lowkick 2 года назад
Очень хорошие задачи) 🙌
@artem.prydybailo
@artem.prydybailo 3 года назад
Крутой формат!
@UlbiTV
@UlbiTV 3 года назад
Спасибо, друг!)
@aleksandrzelenskiy4000
@aleksandrzelenskiy4000 2 года назад
Интересно! Спасибо
@barbatage5078
@barbatage5078 3 года назад
Круто, интересно ! Продолжай
@UlbiTV
@UlbiTV 3 года назад
Благодарю!)
@serdotsenko
@serdotsenko Год назад
спасибо! супер 👍 в одной задаче все концепции в понимании которых я не сильно уверен
@ashotashirov
@ashotashirov 2 года назад
отличные задачки, благодарю! еще...
@itmodern2386
@itmodern2386 2 года назад
Спасибо за урок
@ivankireev7126
@ivankireev7126 3 года назад
Спасибо за видос🔥
@UlbiTV
@UlbiTV 3 года назад
Спасибо!)
@olgapankina414
@olgapankina414 4 месяца назад
Задачки огонь!
@aisultanbaltabaev2053
@aisultanbaltabaev2053 3 года назад
Очень полезное видео, спасибо
@UlbiTV
@UlbiTV 3 года назад
Спасибо, рад, что полезно!)
@leokorsunsky2395
@leokorsunsky2395 3 года назад
Очень интересно)
@user-nz5dy5kp2l
@user-nz5dy5kp2l 2 года назад
В первой задачке строчку this.apply(this, args) можно записать чуточку проще: this(...args) результат тот же. Мелочь, но приятно... Огромное спасибо и респект автору за эту суперЭнциклопедию. Лучший канал в русскоязычном пространстве!
@msS0NIK
@msS0NIK Год назад
где-то рыдает Минин
@libertariancom
@libertariancom Год назад
@@user-hw1tn8le3k Все функции не будут вызываться через delay, это же отдельный метод для функций.
@libertariancom
@libertariancom Год назад
@@user-hw1tn8le3k это правда, глобальные штуки лучше не трогать без надобности.
@itpro952
@itpro952 3 года назад
Полезный видос, спасибо
@UlbiTV
@UlbiTV 3 года назад
Рад стараться)
@Sergei546
@Sergei546 3 месяца назад
было крут вот бы еще таких
@anton_ivanov52
@anton_ivanov52 3 года назад
пушка!
@uNkind33
@uNkind33 3 года назад
красава, давай еще !
@UlbiTV
@UlbiTV 3 года назад
Обязательно будет!) спасибо!
@Jane-ge7ho
@Jane-ge7ho 3 года назад
Большое спасибо!
@UlbiTV
@UlbiTV 3 года назад
И вам спасибо!
@user-vv6jx8qg4v
@user-vv6jx8qg4v 2 года назад
function delay(ms){ const f = this; return function(){ setTimeout( f.bind(f,...arguments) ,ms) } } Function.prototype.delay = delay
@lexsxebelphegore5677
@lexsxebelphegore5677 3 года назад
Шедевральный контент. Первую задачу почти решил, запутался с контекстами. Вторую рекурсивно осилил, т.к. уже видел такой алгоритм в книгах, а вот итеративный - бомба, оказывается, все гениальное просто. Запиши, пожалуйста, видео, как в развивать алгоритмическое мышление, да и в целом как учиться программировать, решать задачи. А-то в сети только шлак по синтаксису языка и хелловорлды. Все рекомендации сводятся к тому, что для того, чтобы научиться решать задачи - нужно решать задачи, а как к этому правильно подходить, как мыслить и анализировать - никто не говорит. Все задачи, которые я успешно решал на собесах - просто ранее увиденные и заученные алгоритмы.
@UlbiTV
@UlbiTV 3 года назад
Спасибо огромное, приятно слышать) На самом деле сложно дать совет про прокачке алгоритмического мышления, отличающийся от "решать задачи") Но я обязательно подумаю на эту тему, и возможно что то сниму!
@lexsxebelphegore5677
@lexsxebelphegore5677 3 года назад
@@UlbiTV хотя бы описать последовательность действий. Например, вот задача n, ее вижу впервые, не имею понятия, как решать, с чего начинать. Ну и дальше ход действий, приводящий отчаяние в успех.
@user-hd4bq9sy5k
@user-hd4bq9sy5k 3 года назад
То что нужно! :-D
@UlbiTV
@UlbiTV 3 года назад
Ахахах, спасибо!)
@russian2475
@russian2475 3 года назад
Круто!
@UlbiTV
@UlbiTV 3 года назад
Спасибо)
@jsmonstr9638
@jsmonstr9638 3 года назад
Интересны такие видео, особенно на подобии первой задачи, алгоритмы не люблю
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@Andrey-il8rh
@Andrey-il8rh 3 года назад
Алгоритмы тоже надо
@ivan_kobzar
@ivan_kobzar 3 года назад
Спасибо!
@artempavlenko5147
@artempavlenko5147 3 года назад
2:18 Ещё можно было наверное так : const _this = this И через замыкание использовать во возвращаемой функции
@cyberdron
@cyberdron Год назад
Круто! Во второй задаче, при рекурсивном решении, когда мы прописываем базовый случай для выхода из рекурсии (где if (!node.c)) судя по всему можно вместо return node.v просто return написать, потому что нам просто нужно завершить выполнение стрелочной функции для данного элемента и перейти на следующий элемент в цикле forEach, при этом значение этого элемента уже учтено в строчке выше (sum += node.v). Просто при разборе пару минут не мог понять, почему там именно такой возврат из функции и где он вообще используется, потом понял, что он там по сути не нужен. Ну это так, мелочи, просто чтобы код был менее запутанный)
@vladimirlavrenchuk4520
@vladimirlavrenchuk4520 4 месяца назад
а можно вместо проверки на отрицание проверять, что чайлды есть и тогда вообще return не нужен: if(node.c) { sum += recursive(node.c) }
@StepanChuevYT
@StepanChuevYT 2 года назад
Тайм коды: 1 задача на понимание js: 0:21; 2 задача на алгоритмы: 5:16;
@srt2046
@srt2046 3 года назад
Задачи будут интересны в таком формате: задание от работодателя, типа "Вывод из базы данных товаров с ценниками и фото, сделать сортировку по увеличению цены, сортировку по уменьшению цены". Потом эту задачу уже реализовывать на фреймворках. Будет пушшшка
@UlbiTV
@UlbiTV 3 года назад
Учтем, учтём))
@user-jq7pl8ni5f
@user-jq7pl8ni5f 3 года назад
Жесткие задачи) Я их дома на 3 бала из 5 решу , а на собесе когда еще и волнуешься - навряд ли )
@UlbiTV
@UlbiTV 3 года назад
дааа, волнение + мало времени подумать) сильно сбивает)
@mak_whisk
@mak_whisk Год назад
Спасибо
@sdsd-ec8rw
@sdsd-ec8rw 8 месяцев назад
Спс, люблю такие задачки. Только в последней как-то много кода. А если так? function traceWithStack(tree){ let res = 0 for(let i of tree){ res += i.v if(i.c){ tree.push(...i.c) } } return res }
@miklayen_yakim
@miklayen_yakim Год назад
круто
@gabblz480
@gabblz480 3 года назад
Интересное видео, спасибо за ролик) Только во второй задаче, наверное, лучше всего использовать рекурсию, так как тогда нам не важно сколько уровней в дереве, то есть оно более универсально, а в случае со стеком, то нам нужно знать, сколько всего уровней в дереве есть)
@UlbiTV
@UlbiTV 3 года назад
В случае со стеком тоже не надо знать, оба способа хороши по своему)
@stayacid
@stayacid Год назад
Рекурсия значительно медленнее
@CQRay
@CQRay 3 года назад
А как насчёт решения второй через flat( )?
@user-ed8eb6cx7o
@user-ed8eb6cx7o 3 года назад
Интересны, если можно больше
@mariaromanova1442
@mariaromanova1442 3 года назад
еще пару видео и пойду собеседоваться на фронтендера :)
@UlbiTV
@UlbiTV 3 года назад
Дорога в фулстэк)
@vadymmelnychenko9472
@vadymmelnychenko9472 3 года назад
@@UlbiTV тоже так думаю)
@andrewreidn8062
@andrewreidn8062 3 года назад
Позновательно, было бы неплохо если бы вы оставляли ссылку на код под видео
@vitaliiiashchuk1534
@vitaliiiashchuk1534 3 года назад
Да, присоединяюсь)
@UlbiTV
@UlbiTV 3 года назад
Спасибо, учту в дальнейшем)
@artempavlenko5147
@artempavlenko5147 3 года назад
Мне на собесе была попалась интересная задачка: Создать кастомный _ bind без использования apply call .
@user-yy3ox1mp1p
@user-yy3ox1mp1p 3 года назад
ну это так то не сложно, только по-моему это все таки глупость, задачки из серии напиши функцию, которая будет повторять стандартную функцию без использования стандартной функции -)
@vladork3032
@vladork3032 3 года назад
4:15.. Все-таки rest или spread ..? Ведь, если ... стоит в начале (перед массивом и т.д.), то называется spread, или я не правильно понимаю это?
@UlbiTV
@UlbiTV 3 года назад
В данном случае, если я не ошибаюсь rest (оператор остаточных параметров)
@user-wp7ev9zb2r
@user-wp7ev9zb2r Год назад
nice
@user-jc5yr6wz5i
@user-jc5yr6wz5i 3 года назад
Комментарий ради комантария.
@user-zx5kj7im2y
@user-zx5kj7im2y 3 года назад
у тебе є тг канал, де мож задавати питання?
@UlbiTV
@UlbiTV 3 года назад
Пока нет, можешь в вк писать, ссылка на канале есть
@BlindPewRus
@BlindPewRus 2 года назад
коммент поддержки
@Vlad-us9xt
@Vlad-us9xt 3 года назад
top
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@user-yy3ox1mp1p
@user-yy3ox1mp1p 3 года назад
Единственное не понятно, зачем в последней задачи надо было по переменной tree циклом проходиться(59 строка)? и push-тиь в перем stack мы же тоже самое получаем или в этом какой то сакральный смысл есть?
@stayacid
@stayacid Год назад
Переписывать параметры функции - плохая практика. У eslint есть правило - no-param-reassign. Почему? Ну в данном случае мы внутри функции вырезаем элементы из tree и не из пропса tree, а из оригинального массива const tree ( я бы переименовал, чтобы не путаться), тк массивы - ссылочный тип. Поэтому делаем копию и работаем с ней. Можно как в видео, можно через spread - const stack = [...tr]
@libertariancom
@libertariancom Год назад
Походу можно и без bind, call, apply и без прототипов её решить, используя только приколы с args someFn.delay = (ms) => { return function (...args) { setTimeout(() => someFn(...args), ms) } }
@seriousman109
@seriousman109 3 года назад
Спасибо, но я надеюсь это не на джуна задачи?)
@UlbiTV
@UlbiTV 3 года назад
Это задачи для тех, кто хочет проверить и освежить свои знания)
@cyberdron
@cyberdron Год назад
Вообще на джуна мне кажется могут такое спросить, насчет первой конечно не уверен, слишком много сложных тем в одной задаче, в формате собеседования когда у тебя мало времени мало кто ее решит, даже если более менее понимает все затронутые темы, тут сложность именно в том, что все эти темы переплетаются между собой и нужно грамотно их применить. Ну а вторую задачку вполне могут, мне кажется она по уровню как раз на джуна, да и любят на собесах всякие алгоритмы и деревья в частности, что на бэке, что на фронте, уж не знаю с чем это связано, как по мне не всегда это будет отражать уровень кандидата, это будет лишь показывать, что человек изучал алгоритмы (которые в большинстве случаев при работе фронтендером никогда не потребуются)
@nazarshvets7501
@nazarshvets7501 3 года назад
Возможно я просто без опыта , но как по мне резонным было бы спросить : " А такие задачи будут в реальной работе?"
@UlbiTV
@UlbiTV 3 года назад
Конкретно таких, нет, но они показывают понимает человек ту или иную тему, или нет)
@novaksvyatoslav5766
@novaksvyatoslav5766 Год назад
на практике вы будете использовать только сделать запрос, пару методов по массивам, мелочи действиям. Короче в реальной жизни требуется 10% от того что спрашивают в собеседованиях
@user-ge2qk4cm1j
@user-ge2qk4cm1j 3 года назад
+
@ismanovq
@ismanovq 3 года назад
!
@UlbiTV
@UlbiTV 3 года назад
?
@yaron96
@yaron96 Год назад
cnacu6o
@nastyaboiko6292
@nastyaboiko6292 2 года назад
Тяжело смотреть, слишком быстро рассказываешь. Ставить на паузу и пересматривать не очень =\
@anastasiyaboiko8862
@anastasiyaboiko8862 3 года назад
ниче не понятно, слишком быстро. а задачу лучше текстом писать вначале
@xarrikan2xarrikan243
@xarrikan2xarrikan243 10 месяцев назад
Млять я даже условие не понимаю .
@user-zv9iy3lm5n
@user-zv9iy3lm5n Год назад
Спасибо
Далее
His reaction 😳 (via @kaitlyn.b0506/TT) #shorts
00:10
شربت كل الماء؟ 🤣
00:31
Просмотров 16 млн
Я ПОКУПАЮ НОВУЮ ТАЧКУ - МЕЧТУ!
39:05
Battery  low 🔋 🪫
0:10
Просмотров 12 млн