Тёмный

Собеседование JUNIOR FRONTEND REACT разработчика 

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

Наука

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

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 867   
@Davidovich_aka_smoozydrinker
@Davidovich_aka_smoozydrinker 3 года назад
Поддерживаю видосы по оптимальному решению сложных задачек с собеседований. Простых в сети уже навалом.
@Cos6a4oK
@Cos6a4oK 3 года назад
Заходите на литкод и решаете задачи любого уровня и смотрите как можно было решить совсем иначе.
@mikeneikovych3700
@mikeneikovych3700 3 года назад
Отличное, а главное, познавательное собеседование. Я смотрю все собеседования от "Отсобеседование", "Web interview", и ещё много где понемногу, но нигде ни разу не видел, чтобы интервьюер так подробно разжовывал алгоритм действий решения задачи для зрителя и самого собеседуемого. Это было очень полезно, спасибо большое!
@UlbiTV
@UlbiTV 3 года назад
Рад слышать, спасибо!
@HatWriter
@HatWriter 3 года назад
@@UlbiTV были бы почаще такие интервьюеры, чтобы джунам, которые пробуют впервые ходить на собеседования - было понятно, что стоит подучить/подтянуть. Спасибо за видео
@Independent19c
@Independent19c 3 года назад
А я считаю зачем париться просто плейлист создать собеседования и уровни в превью видео с должностью и всё, как бы вопросы не повторялись люди то разные, и смотреть интересно(а интересные уже определять самим время от времени ну или просто кидать в плейлист) думаю каждый вынесет для себя что то полезное, возможно узнаёт себя, не знаю как у всех ,для меня слово собеседование наверное на втором месте после слова очередь и ремонт.
@kvadro_id
@kvadro_id 2 года назад
@@UlbiTV Татьяну в итоге взяли?
@ProSergeant
@ProSergeant 2 года назад
Случайно попался на видос интервью в Блумберг там собеседуемого попросили дополнить алгоритм по поиску в бинарном дереве, там тоже интервьювер помогал и разжёвывал
@-inside4478
@-inside4478 3 года назад
Блин очень крутой формат видео, особенно, когда один на один с книжками и курсами, а тут вдруг слышишь, как решают задачи. Одновременно видишь и слышишь. Вдвойне приятно)) Буд-то с наставником разбираешь задачи.
@UlbiTV
@UlbiTV 3 года назад
Спасибо) Успехов!
@chicken_naggets3561
@chicken_naggets3561 3 года назад
Задачу со скобками можно было решить проще, вместо стека объявить счётчик и если встречаем открывающуюся скобку увеличиваем, если закрывающуюся уменьшаем. В конце счётчик должен быть равным нулю, иначе скобок разное количество
@chicken_naggets3561
@chicken_naggets3561 3 года назад
Ещё можно делить входящию на две части и одновременно их обрабатывать
@Max-mv6gr
@Max-mv6gr 3 года назад
@@chicken_naggets3561 А если будет такой пример: ')(', то счётчик же тоже равен 0
@xenon671games7
@xenon671games7 3 года назад
@@Max-mv6gr каждую итерацию проверяем, что переменная >= 0
@v.k.samurai
@v.k.samurai 3 года назад
@@Max-mv6gr, в общем то да :) но это не противоречит условию задачи. Сказано, что скобки могут быть в произвольном порядке, вопрос тут конкретно стоит в том, что если есть равное количество открывающих скобок и закрывающих, значит вернуть true. В твоем примере у нас одна закрывающая скобка и одна открывающая, собственно, условие соблюдено)) Короче говоря, нужно уточнять условия задачи чтобы 100% понимать какие есть нюансы.
@ivannebyshynets8829
@ivannebyshynets8829 3 года назад
А если ещё и скобки разные, ок да.
@Valeryi07
@Valeryi07 3 года назад
Отличное собеседование,на одном дыхании посмотрел,и конкретно для меня ,оно очень познавательное..спасибо ребят..👍🙂
@UlbiTV
@UlbiTV 3 года назад
Благодарю!
@lordunitaz
@lordunitaz 3 года назад
Спасибо за видео! Нужно больше роликов, готовящих к собесам. Ты одновременно учишь теорию и практикуешься, когда ищешь решение задачки. Очень эффективно и в целом интересно.
@UlbiTV
@UlbiTV 3 года назад
Спасибо за отзыв!)
@МиланаАкопян-ц7м
@МиланаАкопян-ц7м 3 года назад
Очень ёмкое и полезное видео!!! Спасибо за такой качественный контент!👍🏻
@UlbiTV
@UlbiTV 3 года назад
Благодарю!
@victormog
@victormog 3 года назад
Видео по практическим задачам всегда интересны!
@itpro952
@itpro952 3 года назад
Ждал собес, щас активно готовлюсь, вспоминаю теорию, спасибо Тимур.
@UlbiTV
@UlbiTV 3 года назад
Успехов!
@serikabsadykov9260
@serikabsadykov9260 3 года назад
@@UlbiTV Привет, я смотрел твой ролик про firebase и как так сделать авторизацию и при созданий папки, я использовал базовую комплектацию, и у меня нету индекс.нтмл ( 7:16 в том видео ), мне стоит начинать все с начало, или есть другой путь?
@МаксимПучко-ь9э
@МаксимПучко-ь9э 3 года назад
Как успехи с собесом?
@sharover455
@sharover455 2 года назад
@@МаксимПучко-ь9э он забухал и насваем сейчас торгует
@МаксимПучко-ь9э
@МаксимПучко-ь9э 2 года назад
@@sharover455 жесть, коменту уже 10 месяцев
@DmitryDolganov
@DmitryDolganov 3 года назад
Заранее благодарю! Сейчас начну смотреть!))
@UlbiTV
@UlbiTV 3 года назад
Приятного просмотра!
@step_6512
@step_6512 3 года назад
Всё конкретно, понятно и без лишней воды. Спасибо!
@garikmelqonyan6011
@garikmelqonyan6011 2 года назад
Many thanks to you, man. Your lessons are just great. They are very helpful for those who are really interested in learning something new or improving and enhancing one's skills. Learned a lot from your tutorials and interview videos. May you be prosperous in this good job of yours. Thanks a lot.
@powerrampage
@powerrampage 2 года назад
You watched the video with subtitles ?
@garikmelqonyan6011
@garikmelqonyan6011 2 года назад
I understand russian, my friend.
@powerrampage
@powerrampage 2 года назад
@@garikmelqonyan6011 if you know, why you wrote in English
@garikmelqonyan6011
@garikmelqonyan6011 2 года назад
Seems that you are interested in that comment more than in video itself, my friend. I just dont write grammatically correct in russian. Hope this will be the last question.
@powerrampage
@powerrampage 2 года назад
@@garikmelqonyan6011 sorry bro =)
@ipa_stor
@ipa_stor 3 года назад
Пора дисклеймер в название писать:))) как раз к выходным видео, спасибо большое! 2 года изучения, очень интересно, чуть позже гляну обязательно!!! Пс: всем приятного просмотра
@suvar8667
@suvar8667 3 года назад
спасибо за труд! такие интервью отлично подкрепляют изученные темы + позволяют расширить существующие знания.
@met1388
@met1388 3 года назад
Да, интересные задачи было бы круто увидеть как вы их решаете оптимально
@SmirnovVladimir
@SmirnovVladimir 2 года назад
Работаю год фронтом. Забавная вещь - я на теоретические вопросы не на все смог сразу ответить. А на практические - на все кроме одного. Это к вопросу о разнице между собесом на первую работу, когда соискатель знает кучу теории, но как правило имеет очень мало практики, и спустя год работы - когда куча неиспользуемой теории забывается, а мозг заточен под решение практических задач. Друзья, кто ищет первую работу - больше практикуйтесь! Постоянно пишите код )
@OpankiDeLegend
@OpankiDeLegend Год назад
Чтобы на собесе ничего не ответить по теории?) Замкнутый круг
@djdisik
@djdisik Год назад
@@hdfghfhhj2475 если по теории отшили, значит не нужна вам такая работа) на работе вы никому теорию рассказывать не будете
@Семён-ь9ь3в
@Семён-ь9ь3в 5 месяцев назад
@@djdisik подскажите, образование необходимо или нет?
@djdisik
@djdisik 5 месяцев назад
@@Семён-ь9ь3в у каждой компании по разному, где-то возьмут без образования, но зачастую требуют высшее техническое
@programming5944
@programming5944 3 года назад
Вопросов по реакту хотелось бы больше и поглубже рассмотреть какие то моменты
@chcylabrab
@chcylabrab 2 года назад
Спасибо за контент, а так же за то, что смонтировали ролик. Это Ваше конкурентное преимущество среди блогеров которые выкладывают интервью.
@uNkind33
@uNkind33 3 года назад
Ждем видос с оптимальными решениями задач!
@ДмитрийЯковлев-д6э
на самом деле очень интересно) и пусть будут заезженные вопросы! продолжай контент очень интересный.
@nuriddintashpulatov4233
@nuriddintashpulatov4233 3 года назад
Я тоже Джун, начал учить фронт с верстки 4 месяца назад, видео я начал с теоретических вопросов, и расстраивался когда она отвечала раньше меня или более четко чем я (ну типа "блин, вот она тоже Джун, но более смышлёная, а я видимо никогда не научусь программированию такими темпами"). Но когда я досмотрел видео, а потом узнал что оказывается у нее уже есть два года коммерческого опыта, то прям камень с плеч упал, ахахах. Спасибо автору за видео!
@viktord3507
@viktord3507 2 года назад
Тут уже миддл?
@SNSDfOu
@SNSDfOu Год назад
так то у нее опыта для джуна прилично, да и женщина 86 года.
@ОлегПетров-п4у
@ОлегПетров-п4у 3 года назад
Очень полезное видео! Тимур, спасибо за качественный контент! Плюсую за решение задачек.
@UlbiTV
@UlbiTV 3 года назад
Спасибо, Олег! Скоро будет видео!
@moscowtv5767
@moscowtv5767 3 года назад
Автор дает наводки, считаю это очень правильным походом. Татьяна молодец, автор молодец. :)
@UlbiTV
@UlbiTV 3 года назад
Спасибо!)
@dimabashynskyi4984
@dimabashynskyi4984 3 года назад
спасибо большое, очень интересные видосы с заданиями.
@UlbiTV
@UlbiTV 3 года назад
Благодарю!)
@vovayankers8956
@vovayankers8956 2 года назад
Хорошая подача! Поддерживаю видосы по оптимальному решению сложных задачек с собеседований.
@РусланРастегаев-з1э
Спасибо за такой формат видео. Решал задачи параллельно с просмотром. По задаче про уникальные, не дублирующие значение, есть вариант короче, с одним циклом. const num = [1,1,2,4,6,6,5]; function unique(arr) { const unicArr = []; for (const item of arr) { const pos = unicArr.indexOf(item, 0); if (pos === -1) { unicArr.push(item); } else { unicArr.splice(pos, 1); } } return unicArr; } unique(num ) // [2, 4, 5]
@olehsolomka8268
@olehsolomka8268 Месяц назад
indexOf тож цикл, O(n^2) будет
@victorchilari
@victorchilari 3 года назад
Нормальный эксперимент получился, удачи в долнейшем
@UlbiTV
@UlbiTV 3 года назад
Спасибо)
@dimka_shchepa
@dimka_shchepa 3 года назад
Оо-о, видосы решения задачек на js вообще бы зашли идеально)) было бы не плохо, если б автор сделал это
@Wynell
@Wynell 3 года назад
если честно не знал что такая интересная ситуация с try catch finally спасибо за видео
@__online7250
@__online7250 3 года назад
Четко и информативно! Спасибо за такой формат!
@YuriiLutsyk0304
@YuriiLutsyk0304 3 года назад
Отличный видос получился! Ждем новые видео)
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@kostasancez2358
@kostasancez2358 3 года назад
Видео с задачами ждём!)))
@robertarakelyan4629
@robertarakelyan4629 2 года назад
Задачку с массивом можно решить так: function withoutRepeat(arr) { const res = []; arr.forEach(item => { const indx = arr.indexOf(item); const lastIndx = arr.lastIndexOf(item); if (indx === lastIndx) res.push(item); }); return res; }
@Kleo_Wyatt
@Kleo_Wyatt Год назад
У меня еще вот так получилось. Работает только с отсортированным массивом. const withoutRepeat =(array) => { const uniqueValue = [] let count = 0 ; for(let i = 0; i < array.length; i++ ) { if(array[i] !== array[i+1] & count === 0) { uniqueValue.push(array[i]) } else if(array[i] !== array[i+1] & count > 0) { count = 0; } else { count ++; } } return uniqueValue }
@Vlad-yj2ny
@Vlad-yj2ny 3 года назад
Да, интересно, сделай видос по популярным задачкам с собесов, пожалуйста.
@dariabannaya2681
@dariabannaya2681 Год назад
Спасибо большое! Очень интерсный формат. Нравится больше всего у тебя смотреть
@helenit4365
@helenit4365 3 года назад
Собеседование понравилось! Татьяна молодец!
@derw1sz
@derw1sz 3 года назад
Со скобочками можно было без стека обойтись, делать +1 или -1 к сумме и проверять на каждой итерации что не меньше нуля, после всех итераций проверить что сумма равна нулю и всё.
@swaxshow8404
@swaxshow8404 Год назад
Или же взять создать один массив с открытыми скобками а другой с закрытыми,и в конце сравнивать длину массивов. Если равно то правильно если нет то нет.
@goedekoop501
@goedekoop501 3 года назад
Побольше видео с задачками, топ🔥🔥🔥
@КириллТерешкин-ю8м
Классное собеседование, узнал для себя несколько новых интересных вещей. Сам уже больше года разрабатываю на реакт, а про такую вещь, как React.memo не знал. Как говорится век живи, век учись!) Девушка молодец, успехов ей!)
@UlbiTV
@UlbiTV 3 года назад
Спасибо! Успехов!
@ОльгаЮзбашева
@ОльгаЮзбашева 2 года назад
Все что касается собеседования очень нравится )) вдохновляет и настраивает, спасибо!
@alexnikolaienko3478
@alexnikolaienko3478 3 года назад
Классное видео. Просмотрел с удовольствием.
@omnomnom1323
@omnomnom1323 2 года назад
Пожалуйста поясните кто-нибудь: почему Татьяна, которая работает фронтом 2 года и ее основной стек это уже реакт - собесится на позицию джуна. То есть чувак с курсов без опыта и Татьяна будут претендовтаь на одну и ту же позицию джуна в теории. Что-то я не понимаю явно
@scottwalker6071
@scottwalker6071 3 года назад
Это было интересно, мне понравился сценарий опроса, попробую применить его на своих собесах🙃 Спасибо, Тимур🤠 Было бы интересно посмотреть собес на сеньора или мидла++ по фронту
@UlbiTV
@UlbiTV 3 года назад
Спасибо!) До собеседования middle ++ и сеньоров я еще не дорос)
@pie_company
@pie_company Год назад
можно к вам?
@forellko8600
@forellko8600 2 года назад
Очень крутой контент! Спасибо!
@dmitrykorovin4356
@dmitrykorovin4356 3 года назад
самый крутой собес, что я смотрел ) без воды и пауз, очень круто и познавательно, спасибо! Другие порой смотришь - а там два часа непонятно чего
@user-race-Vulcan
@user-race-Vulcan 3 года назад
6:50 Бро, спасибо огромное что поставил пробел после знака присваивания(связывания)..., у меня аж глаз чуть не задергался...
@УльвияКарахмазли
@УльвияКарахмазли 3 года назад
буду благодарна за видосы по оптимальному решению сложных задачек с собеседований.
@kanatasanaliev8763
@kanatasanaliev8763 3 года назад
Спасибо за видео было интересно познавательно готовлюсь к собеседованию мне зашло (лайк поставил)
@UlbiTV
@UlbiTV 3 года назад
Успехов в подготовке!
@kanatasanaliev8763
@kanatasanaliev8763 3 года назад
@@UlbiTV а к стати может видео запилишь на счет работы Джуна что он делает до того как начнёт самостоятельно работать краткое видео думаю многим бы было интересно таких видео я не встречал
@kanatasanaliev8763
@kanatasanaliev8763 3 года назад
@@UlbiTV заранее спасибо
@denhost5033
@denhost5033 2 года назад
Интересна тема видео с решениями задач, записывай еще ))) Спасибо за видео очень крутой и познавательный контент.
@fkinggaming934
@fkinggaming934 2 года назад
Круто, познавательно и интересно. Я вместе с вами решал все задачки ) и много чего нового узнал для себя. По больше бы подобных видосов !
@HatWriter
@HatWriter 3 года назад
Спасибо за видео. Многое для себя подчеркнул. И что стоит подтянуть.
@samoyed1
@samoyed1 3 года назад
const withoutRepeat = array => array.filter(x => array.filter(y => y === x).length === 1)
@artemalesenko9855
@artemalesenko9855 3 года назад
У меня только такое вышло function withoutRepeat(array) { const repeat = arr.map((el, idx) => idx !== array.indexOf(el) && el) return arr.filter((el) => !repeat.includes(el)) }
@КрасавчикИкиса
@КрасавчикИкиса 3 года назад
const withoutRepeat = arr => arr.filter((x) => arr.indexOf(x) === arr.lastIndexOf(x))
@redhook777
@redhook777 3 года назад
Лайк! Ждём видос про задачи!!!
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@НикитаКлусович
@НикитаКлусович 3 года назад
Топ канал, раньше минина канал был фаворитным, теперь этот)
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@frozeninside5004
@frozeninside5004 3 года назад
Поддерживаю видео о решении задач оптимальным способом
@UlbiTV
@UlbiTV 3 года назад
Будет!
@irinamyskoooo
@irinamyskoooo 3 года назад
очень крутые видео и канал !!!
@AGM140580
@AGM140580 2 года назад
Очень жду Ваших видео с решением задач!
@falsetrue7910
@falsetrue7910 3 года назад
Задача со скобками по всей видимости самая любимая у интервьюеров, дважды решал ее когда на джуна устраивался
@KhoroshilovEI
@KhoroshilovEI 3 года назад
Проблема в том, что большинство задачь собеседования останутся на собеседовании и никогда не будут использованы в жизни)))) За редким исключением.
@drinkoron8063
@drinkoron8063 3 года назад
@@KhoroshilovEI Ну, будет у вас задача написать калькулятор, вот и решайте проблему со скобками.
@KhoroshilovEI
@KhoroshilovEI 3 года назад
@@drinkoron8063 пишу я, например, социальный сервис и тут мне вдруг срочно потребовался калькулятор? Еще и строковый?
@nickolayivanov2848
@nickolayivanov2848 3 года назад
Кстати, мне интересно, а можно было просто посчитать количество открывающих скобок и сравнить его с количеством закрывающих?)
@drinkoron8063
@drinkoron8063 3 года назад
@@nickolayivanov2848 Если банально посчитать количества и сравнить в конце, то нет. Пример: )( явно противоречит этому варианту. Нужно немного модифицировать подсчёт, берём счётчик со значением 0 пройдёмся по массиву, если встретим откр. скобку увеличиваем счётчик на 1, если закр. скобка то уменьшаем. Если счётчик ушёл в минус можно остановить цикл и вернуть false а после цикла проверяем уже равняется ли счётчик нулю.
@looking_at_the_sky
@looking_at_the_sky Год назад
Спасибо за интересный и познавательный ролик. Много хорошей пищи для размышлений и обучения :>
@darkside2436
@darkside2436 3 года назад
Топ контент!!! Ещё есть вопрос: когда тесты?
@UlbiTV
@UlbiTV 3 года назад
Трудно сказать, как время появится)
@darkside2436
@darkside2436 3 года назад
@@UlbiTV 😂
@evgeniyn1542
@evgeniyn1542 3 года назад
Супер, интересное собеседование. Плюсую за решение задачек.
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@Sense1ko
@Sense1ko 3 года назад
Так давай собеседования middle front / node js developer, бегло посмотрел, на канале только джуновские собесы, хотелось бы знать что ждёт нас дальше!)
@tricky_pie
@tricky_pie Год назад
Спасибо за видео - очень полезно. Решение задач оптимальным способом интересно, особенно, если будет производиться оценка сложности алгоритма))
@efreitorhabibulin238
@efreitorhabibulin238 3 года назад
13 лет опыта, 4 года проработал в Google и Google Nest, я бы походу провалил твое интервью xDDD, к примеру блок с finally меня поймал я наверное пишу код как-то специфически, что подобное никогда не использовал )))))
@delir0
@delir0 3 года назад
За return в finally нужно сразу увольнять
@efreitorhabibulin238
@efreitorhabibulin238 3 года назад
@@delir0 хахахаххаха
@outward6339
@outward6339 3 года назад
const arr = [1,1,10,2,4,4,9,8,14,5] const arrf = arr.filter(i=>arr.filter(item=> item===i).length===1) console.log(arrf) Что можете сказать о таком способе?
@M27B_our_victory
@M27B_our_victory 3 года назад
Запиши видео по решению задач!)
@ИннаОшмарина
@ИннаОшмарина 3 года назад
Супер!!
@ВіталійПлевако-д2ж
Спасибо, полезное видео!
@cseedrvr6627
@cseedrvr6627 3 года назад
Со скобками мне кажется можно было сделать просто на открывающуюся скобку +1 для закрывающейся -1, и на выходе должно получаться 0
@falsetrue7910
@falsetrue7910 3 года назад
А если будет вот такое выражение ")()()("?
@cseedrvr6627
@cseedrvr6627 3 года назад
@@falsetrue7910 ну да, для такого случая не сработает, но если условие просто чтобы для каждой закрытой скобки была открытая то пойдет
@nagalokgames8861
@nagalokgames8861 3 года назад
@@falsetrue7910 если счетчик будет меньше 0, на любой из итераций, сразу будет неправильная последовательность. так что решение со счетчиком корректное.
@Godrik99shadows
@Godrik99shadows 3 года назад
Можно сделать два счетчика один на открывающие другой на закрывающие. В цикле проверять условие что открывающий всегда больше или равен закрывающему иначе брэйк. По итогу сравнить два счетчика если они равны тру иначе фолс.
@arhim7650
@arhim7650 3 года назад
я бы страдал фигней, с распихиванием этих скобок по разным массивам, и потом сравнивал их длинну, за одно можно было бы понять, на сколько тех или иных скобок больше, если длинна массивов не ровна.
@khankhatai9480
@khankhatai9480 Год назад
Очень и очень познавательно. Спасибо за видеоурок
@orionpro79
@orionpro79 2 года назад
Работаю уже более 2х лет с реактом, интересно было просмотреть ролик (пусть и немного на перемотке, потому что ответ и так был известен), думаю новичкам вообще зайдёт на ура. А всякие мемо, тем кто учит реакт, надо на заметку брать и пользоваться на практике.
@Antonym-b5o
@Antonym-b5o Год назад
полный бред, никто вам не позволит этого сделать
@orionpro79
@orionpro79 Год назад
@@Antonym-b5o бот?
@holinet6894
@holinet6894 3 года назад
А в задаче со скобками можно было так решить, вроде даже понятнее? function checkBrackets(str) { str = str.split('') let counter = 0 for (let i = 0; i < str.length; i++) { const elem = str[i]; if (elem == '(') { ++counter }else if (elem == ')') { --counter } if (elem == '{') { ++counter }else if (elem == '}') { --counter } if (elem == '[') { ++counter }else if (elem == ']') { --counter } } if (counter == 0) { return true }else { return false } }
@UlbiTV
@UlbiTV 3 года назад
Это неработающее решение, один счетчик для разных скобок
@Sunr1sen2
@Sunr1sen2 3 года назад
Раз уж юзаем методы массива, так юзаем) Можно конечно упороться и в строку вытянуть, но так более читаемо ну и доп скобки можно в фильтр прям запихивать function checkBrackets(str) { const arr = str.split(''); const leftBracketsCount = arr.filter(item => item === "(").length; const rightBracketsCount = arr.filter(item => item === ")").length; return leftBracketsCount === rightBracketsCount; }
@oleksandrvoichyshyn7486
@oleksandrvoichyshyn7486 3 года назад
Жду больше решений разных задач тут
@ilnurgabitov3264
@ilnurgabitov3264 3 года назад
Господа! У меня возник вопрос! Почему, человек работающий в этой отрасли 2 года, идёт на собеседование джуна?
@olgapolskolg1112
@olgapolskolg1112 3 года назад
Плюсую, тоже интересно. Она слишком хорошо разбирается для джуна.
@kirillgabov705
@kirillgabov705 3 года назад
32:00 Я не уверен как работает in, но сложновато поверить что она работает за О(1) В худшем случае (когда все значения разные) он будет каждый раз поиск делать по количеству уникальных значений на данный момент, что тоже n в общем случае, так что сложность чуть меньше n^2
@untured6167
@untured6167 3 года назад
Если я правильно помню, то O(n) - это случай когда длительность обработки увеличивается линейно относительно длины обрабатываемого массива В этом случае можно решить почти O(n). Почти, потому-что сначала придётся отсортировать массив, а O сортировки может быть разным. У меня получилось так: function removeDuplicate(array) { function compNumber(a,b) { if (a>b) return 1; if (a==b) return 0; if (b>a) return -1; } let result = new Array let current = null let add = false array.sort(compNumber) for(let i = 0; i
@DmitriiRepnikov
@DmitriiRepnikov 2 года назад
Оператор in в javascript поверяет наличие ключа в хеш-мапе. Это не поиск, там всегда либо есть такой ключ, либо его нет. Доступ по ключу в хешмапе происходит за O(1), как и во всех других языках программирования Другое дело что в некоторых языках программирования оператор in можно вызвать и в списках, что действительно уже не будет O(1), но это не тот случай, в js оператор in на списках не вызывают, так как это не имеет смысла, т.к. он не ищет элементы таким образом
@ТимСлим
@ТимСлим 3 года назад
Думал будет испанский стыд за собеседуемого (мои тараканы 😁), но зря, интересное и как всегда - полезное видео! Спасибо Тимур!
@UlbiTV
@UlbiTV 3 года назад
Спасибо, Теска!)
@MrDilord
@MrDilord 3 года назад
По задачке с массивами. Имхо с объектом не очень читабельно if/else потом foreach с вложенным условием еще. Мне кажется самый простой вариант (хотя в плане скорости он серьёзно уступает): function filter (array) { const result = [] for ( let i = 0; i < array.length; i++) { const items = array.filter((el) => { return el === array[i] }) if (items.length < 2) result.push(array[i]) } return result; }
@UlbiTV
@UlbiTV 3 года назад
Ключевой момент как раз в скорости
@nikishiro8278
@nikishiro8278 3 года назад
Еще так можно решить задачу со скобками: const getBracketCount = (str, type) => str.split('').reduce((acc, v) => { if (v === type) return acc + 1; return acc; }, 0); const checkEvenBrackets = (str) => { const openBrackets = getBracketCount(str, '('); const closeBrackets = getBracketCount(str, ')'); return openBrackets === closeBrackets; }; const result = checkEvenBrackets('((()))'); console.log('result', result);
@kostyakozlov5289
@kostyakozlov5289 2 года назад
Ага, только если у тебя сначала закрывающиеся скобки, а значит не правильная последовательность, то твоя функция вернет не верное значение
@demonicchannel5372
@demonicchannel5372 Год назад
Задачу со скобками можно решить без циклов и счетчиков. function checkBrackets(str) { if (str.split(" ").filter(i => i === (" ").length === str.split('').filter(i => i === ')').length) { return true } return false }
@snatvb
@snatvb 3 года назад
по задаче со скобками - проще и дешевле использовать счетчик, открывающая скобка - инкримент, закрывающая декремент, результат функции сравнение каунтера на ноль (если ноль, знач все ок), стэк не столь эффективен в этом для множества скобок нужен объект с каунтерами, результат если все каунтеры нули :)
@UlbiTV
@UlbiTV 3 года назад
С разными видами скобок все же лучше использовать стек
@alext1677
@alext1677 3 года назад
@@UlbiTV это если скобки идут друг за другом, расставив их по разным местам - уже не работает.
@AlexNesterov-f5q
@AlexNesterov-f5q 3 года назад
Задачи на джава скрипт оптимальным способом
@Rusu421
@Rusu421 3 года назад
где?
@aruh5baruh528
@aruh5baruh528 3 года назад
со скобками первое что в голову пришло ставим счетчик = 0 за каждую '(' + 1 за каждую ')' - 1, если в любой момент -1 то false, если в конце не 0 то false, остальное true ------------------------------------ а если брать с разными скобками, то логика почти таже, правило с отрицательным счетчиком остается только массив счетчиков и как только идет смена типа скобки '(' то подключается следующий, при закрывающейся смене скобки должен быть 0 иначе false в конце если массив не 0 или счетчик не 0 то false, иначе true
@DennisTurbay
@DennisTurbay Год назад
Классное собеседование! Оба участника себя чувствовали комфортно, главный как по мне фактор в собесах.
@РусланХасаншин-о9ъ
Обожаю автора канала!
@НурисламВалеев-з8я
как такой вариант? function checkBrackets(str) { const arr1 = str.split('').filter(i => i === '(').length const arr2 = str.split('').filter(i => i === ')').length return arr1 === arr2 }
@nafanya3733
@nafanya3733 3 года назад
Мой вариант задач со скобками и функцией без повторений) Тимур, пожалуйста, можешь дать ревью?) const checkBrackets = (str) => { let lastResult do { lastResult = str str = str.replace(/\(\)/g, '') str = str.replace(/\[\]/g, '') } while (str !== lastResult) return !str } const withoutRepeat = (arr) => { let result = {} arr.forEach(i => { result[i] ? result[i]++ : (result[i] = 1) }) return Object.keys(result).filter(i => result[i] === 1) }
@einh213viperz8
@einh213viperz8 3 года назад
Как то замудрёно со скобками, не проще под каждый вид скобок завести простую переменную аля int8/16 и инкриментить/декриментить на 1 при встрече ( и ) соотвественно, а в результат проверку на 0 этой переменной.
@EctxD
@EctxD Год назад
На задачах со скобками можно было посчитать сумму скобок и просто проверить на четность.
@ВладиславКравец-г4в
у меня сразу в голову пришла идея на парность (если конечно не нужно указать где именно у нас ошибка)
@usertyfoon
@usertyfoon 3 года назад
супер!!
@tyafizi
@tyafizi 3 года назад
В конце была фраза: "на работе не встречается, редко что то такое приходится реализовывать". А чем тогда на работе джуны занимаются?
@vladnasadyk3541
@vladnasadyk3541 3 года назад
Кнопки двигают влево-вправо)
@MrRadiostep
@MrRadiostep 3 года назад
делают 80% работы за 20% денег
@UlbiTV
@UlbiTV 3 года назад
@@MrRadiostep :D
@alexelkin2502
@alexelkin2502 3 года назад
У меня другой вопрос, - "Зачем тогда это на собесе обсуждать?"
@MACTEP_SHIFU
@MACTEP_SHIFU Год назад
У меня нет IT образования, самоучка с 2005 года. Никогда не лез в конторы на работу, считая это без образования бесмысленным. Это первое видео с собеседованием что я увидел. Первые 10 вопросов я вообще был удивлен их наличию, в силу их простоты для меня. Про DOM дерево и null/undefined, вообще офигел. Походу если я для проверки себя попробую, то спокойно пройду собеседованиеи ...учитывая степень сложности этих вопросов для меня. А задачу со скобками...решение писец какое сложное. Разве что только для наглядности работы стека подходит. Обычный цикл, подсчет и тех и тех...и сравнивать количество. Ну или ещё короче, без цикла: const check = str => str.split('(').length === str.split(')').length;
@-And6053
@-And6053 Год назад
составь ка вопросы для уровня middle, а мы посмотрим)
@ОленаКуніцина
@ОленаКуніцина 3 года назад
Спасибо за собеседование
@UlbiTV
@UlbiTV 3 года назад
и вам спасибо за отзыв)
@itsmekamikoto4940
@itsmekamikoto4940 2 года назад
Задача с массивом (удалить все чила , которые дублируется) я бы решил двумя способами : 1. Создать Set от входящего массива , и для каждого элемента сета проверить если indexOf() и lastIndexOf() этого элемента во входном массиве равны - значит такой элемент единственный и добавить его в массив , который вернет функция в результате 2. Отсортировать массив и использовав for () проитерироваться с начальным индексом итерации 0 и для каждого значения сравнить если индекс итерации не равен lastIndexOf() элемента в массиве тогда присвоить индекс итерации lastIndexOf() элемента , а если равен то добавить значине в конечный результат функции
@UlbiTV
@UlbiTV 2 года назад
Варианты хорошие, но неэффективные, квадратичная сложность
@dindevil8659
@dindevil8659 2 года назад
Задачу с массивом и вправду можно было решить с помощью метода "Set", используя "has", "add" и "delete" в нужных случаях)
@NoakSV
@NoakSV 2 года назад
Спасибо, было интересно!
@MrJackseI
@MrJackseI 3 года назад
Благодарю за твои видео!
@UlbiTV
@UlbiTV 3 года назад
Спасибо!
@azamatzhamakeev670
@azamatzhamakeev670 2 года назад
Ulbi the best!
@jsmonstr9638
@jsmonstr9638 3 года назад
Хотелось бы видео про хуки от тебя, про useContext useReducer особенно, сравнение с редаксом или мобХ, почему нельзя использовать только их и тд. За видеотоже спасибо, было интересно послушать
@UlbiTV
@UlbiTV 3 года назад
Учту, спасибо)
@Quentinrei
@Quentinrei 2 года назад
💯 к уже близко 🚀🚀🚀
@yuryitikhonoff9631
@yuryitikhonoff9631 3 года назад
Даёшь видосы про решение задачек, особенно рекурсивное построение древовидных структур
@alexi182k
@alexi182k 3 года назад
Та же ситуация с задачками, даже поработав несколько лет, если самому регулярно не решать что-то по алгоритмам, то сходу не сообразишь.
@UlbiTV
@UlbiTV 3 года назад
Согласен
@Kirdaro
@Kirdaro 3 года назад
Так а смысл от них вообще? Разве берут инженера, а не разработчика? Особенно если они не типовые. Называется изобрети еще раз велосипед ради процесса.
@КрасавчикИкиса
@КрасавчикИкиса 3 года назад
@@Kirdaro я так понимаю, оценивают ход мышления + умение разъяснить этапы решения + реакция на стрессовую ситуацию
Далее
React (продвинутый)
1:57:53
Просмотров 75 тыс.
Скучнее iPhone еще не было!
10:48
Просмотров 618 тыс.
#техноблогер #айфон #iphone16promax
0:24