Тёмный

СОБЕСЕДОВАНИЕ НА FRONTEND РАЗРАБОТЧИКА | REACT TYPESCRIPT 

Ayub Begimkulov
Подписаться 11 тыс.
Просмотров 39 тыс.
50% 1

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

 

30 окт 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 180   
@ayub_begimkulov
@ayub_begimkulov Год назад
Друзья, как правильно заметили, пропустил пару ошибок: - Типизация map - колбэк не должен возвращать `T`, а совсем другой дженерик. - filter не должен пушить `res`, а `value`.
@Евгений-э4н1б
@Евгений-э4н1б Год назад
Можешь объяснить, почему ты сказал, что в коллбэке map все параметры обязательны? Ведь я могу прокидывать туда коллбэки, которые не то, что индекс не используют, но даже сам elem
@ИмяФамилия-э4ф7в
@@Евгений-э4н1б плюсую
@andreilatosh58
@andreilatosh58 Год назад
Сколько стоит час вашего менторства?
@andreilatosh58
@andreilatosh58 Год назад
Мне. Я бомж без мозгов могу решить данную задачу за один символ. Слишком простая задача
@andreilatosh58
@andreilatosh58 Год назад
А если серьезно спасибо друг я давно так не смеялся)
@МурадМавлидов
@МурадМавлидов Год назад
Хороший собес 👍 19 лет, пол года стаж - отлично и бодро отвечает
@МурадМавлидов
@МурадМавлидов Год назад
P.S Я с такими ответами на сеньора проходил, а тут миддла не дали, я протестую! 😂 Не забывайте, hard скиллы лишь часть из того, что учитывается на собеседовании, можно взять хитростью(вычеркнуто) - софт скиллами, амбициями и просто по-человечески понравится, ведь чем выше позиция - тем меньше кода и тем больше созвонов 😂
@ayub_begimkulov
@ayub_begimkulov Год назад
@@МурадМавлидов Ахахаха, ну тут все от позиции зависит.
@СлужбаПідтримки-л4з
@@МурадМавлидов синеры занимаются кодом еще больше чем все остальные просто они пишут код за 10 минут который Джуны за три часа делают и этот код Джунов в два раза длиннее кодов синеров
@vladbreez4036
@vladbreez4036 Год назад
​@@МурадМавлидоввидимо какая-то очень слабая команда или компания. Ответы здесь джуновские...
@hitotsu5729
@hitotsu5729 Год назад
слабый, я с 18 сразу залетел)
@ILEAN123
@ILEAN123 Год назад
Формат неплохой, я так понимаю всё было поставлено на решение задачек и дискуссию об устройстве языка. Советую тебе добавить блок об опыте работы, по моему мнению это гораздо важнее чем, например, знания map, filter и reduce. Может эта часть и хромала, но на работе ты быстро загуглишь про эти методы и за 10 минут поймешь, а вот различные нюансы разработки, частые юзкейсы ты за 10 минут не загуглишь. Также совет другим людям - не пугайтесь задачек и не думайте, что спрашивать будут только это, у всех разные подходы к собеседованиям, у меня например было собеседование в формате диалога с тимлидом, обсуждали решенные задачи, технологии и процесс разработки. А кто-то вас пошлёт на литкод и попросит объяснить внутреннее устройство браузера. Также забудьте о грейдах и фразах "мидлом тут не пахнет", в реальности так не работает, грейды от компании к компании разные, где-то их вообще нет, не советую добавлять эти приставки себе в резюме или на собеседовании. Единственный способ определить свой уровень - сделать резюме, понять вилку зп и пройти собеседование, а дальше можете себе называть кем угодно :) Хоть мидлом, хоть синьором
@foryoutubeandothers
@foryoutubeandothers Год назад
У человека без опыта работы, каким подразумевается джун, спрашивать об опыте работы - как бы не логично. У меня складывается впечатление, что айтишники пребывают в истерике от снижения уровня входа в профессию из-за курсов, увеличения конкуренции.
@ILEAN123
@ILEAN123 Год назад
@@foryoutubeandothers трактовка джуна очень условная, а если я полгода-год отработал я уже кем-то другим должен считаться? Везде по-разному) Тем более конкретно в этом видео у человека полгода в компании и полгода на фрилансе
@ILEAN123
@ILEAN123 Год назад
@@foryoutubeandothers такое впечатление складывается только у немотивированных айтишников)
@ayub_begimkulov
@ayub_begimkulov Год назад
Отличный совет! Спасибо, что поделился мыслями!
@diggerdog001
@diggerdog001 Год назад
«Я думал ты так и сделаешь» ты же проводишь собеседование, покажи ему как можно было сделать и все. А эти комментарии, какую то токсичность вызывают. Задание можно выполнять разными способами - он выбрал этот
@vladbreez4036
@vladbreez4036 Год назад
Если учитывать что это упор был на то что это мидл, то лол, всё правильно он сказал. Учитывая что он изначально делал замыкание, а потом просто не допёр как его использовать до конца, то блин. В итоге это выглядит как чел, который вообще не разбирается в механизме замыкания. На моё субъективное мнение это джун с опытом и даже не стронг джун.
@ruslanshikhaliev9341
@ruslanshikhaliev9341 Год назад
про токсичность тоже чувствуется. Если бы это братаны тестировали свои навыки, то гуд, а если это имитация собеса, тогда оценку можно и собеседующему дать. Вообще это слабая фраза - "я думал ты сделаешь так")), просто предлагаемые решения были хуже вылизанных и подготовленных.
@user-chf7z61vnd6h8v
@user-chf7z61vnd6h8v Год назад
​@@vladbreez4036какой джун, он на стажёра с натяжкой тянет...
@promoabys
@promoabys Год назад
Мне собес понравился. Задачки были интересные. Расширяют практику восприятия )) Спасибо
@ayub_begimkulov
@ayub_begimkulov Год назад
Спасибо за фидбэк!
@22.11.2
@22.11.2 Год назад
Спасибо за такие видео, очень полезно , как раз что совсем скоро меня ждут собесы :)
@ayub_begimkulov
@ayub_begimkulov Год назад
Рад помочь!
@NeoCoding
@NeoCoding 10 месяцев назад
особенно поднимает дух "ну ты типа джуниор плюс" POV я который 6 лет долбит реакт, 2 года пишет коммерческие и не мог бы решить ни одного вопроса без консоли чата гпт гугла и пару часов времени на каждую.
@ПавелСтародубцев-ц6ш
Очень уверенно отвечал паренек, по знаниям точно не джун))) Бывает и мидлы на лайвкодинге забуксовать могут )))
@ayub_begimkulov
@ayub_begimkulov Год назад
Кандидат вообще молодец, местами чуть пробелы подтянуть - и будет вообще топ!
@NeoCoding
@NeoCoding 10 месяцев назад
хороший демотиватор спасибо
@YulVilaya
@YulVilaya Год назад
по ответам очень видно молодого джуниора и взрослого ) собеседующий тут прям как родитель и отец,оценивает , давай я помогу , а молодой такой я знаю , я знаю и хочет сказать вперед )))) очень интереесно со стороны психологии наблюдать такие видео, спасибо, что выкладываете
@ayub_begimkulov
@ayub_begimkulov Год назад
Ахаххаха
@multtanker6365
@multtanker6365 Год назад
Приятно смотреть и слушать собесы, еще могу подкинуть идею тебе для видео, сделать собес на позицию джуна без опыта комерческого какого-нибудь. Допустим какой-нибудь человек который сам отучился, либо закончил курсы какие-либо и находится в поисках своей первой работы, очень сложно в таком случае вообще попасть на собес бывает. И вот ты можешь дать такой шанс пройти первый собес человеку, оценить его знания после прохождения курсов, либо самообучения, дать ему советы какие-нибудь, как вообще искать первую работу и т.д. и т.п.
@h4x0rlol
@h4x0rlol Год назад
разве эти видосы как раз не про это? такой же и будет собес +-, а про попасть тут другая история уже, придумай опыт, если собес спокойной пройдешь
@segabelka8095
@segabelka8095 Год назад
Ты как всегда делаешь великое дело, спасибо за контент)
@dr.livesey5157
@dr.livesey5157 Год назад
Спасибо за контент! Ты делаешь великое дело
@ayub_begimkulov
@ayub_begimkulov Год назад
Да просто видосы же по программированию делаю, ничего великого вроде) Но спасибо!
@dr.livesey5157
@dr.livesey5157 Год назад
@@ayub_begimkulov ты обучаешь людей, дааешь им знания, тем самым двигая прогресс вперед. Это действительно благое дело
@front_interviews
@front_interviews Год назад
Очень благодарен Вам!
@ayub_begimkulov
@ayub_begimkulov Год назад
Спасибо!
@СтройКонсалт
@СтройКонсалт Год назад
Просмотрел до 8:54 и что-то интервьюер растекается и плывет. Парень, если не можешь четко и обоснованно изложить мысль, делая замечание, то лучше промолчать, все же. А то переписал тот же sort, сделал все то же самое, что и парнишка, но с такой академической претензией и гонором, что дышать нечем.
@ayub_begimkulov
@ayub_begimkulov Год назад
На самом деле смешно, как люди могут видеть очень разные вещи в одном ролике). Я хотел объяснить, как я обычно вспоминаю формат колбэка, передаваемого в sort, на примере. Постараюсь в дальнейшем локаничнее выражаться.
@АлександрЕрмолов-п2ь
Я понял только одно, что про перерисовки - ничего не знаю! У тебя конечно Крутая экспертиза! Виден скилл с первых слов…. Братан, можешь сделать об этом подробное видео? Как дебажить такие вещи, как работать с плагином(react dev tools)в Гугл хром… Как решать все самые частые проблемы с перерисовками и ререндарами
@АлександрЕрмолов-п2ь
ну реально контента на эту тему - в ютубе просто нет..
@Туран141
@Туран141 Год назад
Не надо увлекаться перерендерами ,реакт сам прекрасно справляется с этим. Просто ютуберы уже заколебали с дебпгингом ререндеров.
@orcsamuro9687
@orcsamuro9687 Год назад
Спасибо, было полезно
@ArtemMindsurfer
@ArtemMindsurfer 8 месяцев назад
интересная в конце задачка последняя)
@miloman1995s
@miloman1995s Год назад
15:30 я думал вы напишите что то типа этого: Array.prototype.mymap = function (callback) { return this.reduce((resultArr, currentElement, index) => { resultArr.push(callback(currentElement, index, this)); return resultArr; }, []); };
@Fanzetess
@Fanzetess Год назад
касательно sort на 9 минуте))) Меня вынесло с того, что говорил автор про a и b (перепутал их) и как работает сам сорт)))
@ayub_begimkulov
@ayub_begimkulov Год назад
Привет. Не мог бы ты раскрыть мысль? Что тебя так сильно удивило? Как и было сказано на видео, я сам всегда вспоминаю принцы работы sort экспериментальным путем.
@ЮрийБолотин-л6щ
Вполне бодрячком парень, соображалка на уровне. Не так давно видел сеньор говорил как раньше собесы были , пришел спросили типы данных и еще пара вопросов и оффер получил, а сейчас он же с 20-ти летним опытом не прошел)). Душнилы в общем .....
@threehundredbucks3212
@threehundredbucks3212 Год назад
Раньше такого хайпа у веба не было, людей брали на добром слове, а сейчас порог вхождения низкий, а на устройство на работу высокий, в итоге 10 кругов собеса нужно пройти, чтобы тебя взяли
@grenadier4702
@grenadier4702 Год назад
С map забыли вывести возвращаемый тип. В вашем случае всегда будет возвращать T[], что неправда function map(arr: T[], callback: (item: T, idx: number, arr: T[]) => R) { return arr.reduce((result, item, idx, arr) => { result.push(callback(item, idx, arr)); return result; }, [] as R[]) }
@ayub_begimkulov
@ayub_begimkulov Год назад
Хорошее замечание!
@offiza8631
@offiza8631 Год назад
Привет, отличное видео! Подскажи, разве на 1:01:30 есть ререндер компонента Button, на сколько я вижу там только первичный рендер. Или я чего-то не понял?
@VladislavStoyanov-m3s
@VladislavStoyanov-m3s 11 месяцев назад
Да и я чтото не понял
@olehsolomka8268
@olehsolomka8268 2 месяца назад
Да, потому что App не ререндерится, там пример чуток не так построен. Зачастую ставят каунтер в Апп , а инкремент функцию вниз прокидивают в таких примерах
@multtanker6365
@multtanker6365 Год назад
Я кста еще не помню точно, собеседующийся в цикле forEach написал break, его же вроде нельзя прерывать?
@kawaikaino5277
@kawaikaino5277 Год назад
break-a там и в помине нет, только в счетчиках for
@multtanker6365
@multtanker6365 Год назад
@@kawaikaino5277 31:15 открой
@kawaikaino5277
@kawaikaino5277 Год назад
@@multtanker6365 не))) я к тому, что в переборах .map, .filter .foreach нет break. В плане - ты прав)
@multtanker6365
@multtanker6365 Год назад
@@kawaikaino5277 ааа)понял))
@ayub_begimkulov
@ayub_begimkulov Год назад
break потом убрали, насколько я помню. Но в целом верно.
@svgaryaev
@svgaryaev Год назад
20:50 полагаю, имелось в виду, что коллбэк для res и rej можно передать в одном then двумя аргументами такое будет работать
@dmytroz.2084
@dmytroz.2084 Год назад
про реализацию фильтра, ошибочка. Пушим не res, а сам value в acc
@ayub_begimkulov
@ayub_begimkulov Год назад
Хорошее замечание!
@NikIzrailev
@NikIzrailev Год назад
Спасибо за интервью! В promiseAll есть почти незаметная ошибка. Если в оригинальный Promise.all придет что-то не-thenable (например, просто едиинчка: Promise.all([1])), то он обернет это значение в промис и сразу зарезолвит. В нашем решении же будет ошибка "promise.then is not a function". Это поправится, если на строке 77 вместо promises[i] написать Promise.resolve(promises[i])
@rukioruk6949
@rukioruk6949 10 месяцев назад
Второе название для видео - Сеньёр уничтожает ЭГО миддла с полу годовым коммерческим опытом )
@Abdul-hy4cy
@Abdul-hy4cy Год назад
55:41 - тут парню чутка совсем не повезло. Если бы он не добавил условие if(!isStarted), то у него бы работало. Дело в том что во время cleanup, isStarted = true потому что шел таймер. isStarted станет false только на следующем рендере, а как Аюб ранее говорил: "useEffect срабатывает перед обновлением компонента, при смене массива зависимостей". Поэтому если убрать то условие, про которое я выше написал, всё заработает.
@maksim9078
@maksim9078 Год назад
Самому 18 лет, 2 года опыта, сейчас работаю на позиции middle frontend разработчик и хотят попробовать меня на позиции senior. В принципе сам давно алгоритмы не решал, но задачи показались не сложными, парень молодец, показал не плохо, но можно было лучше. С map, filter, сам задачи на собеседовании сам даю :) Есть вопрос к типизации map. Разве мы не должны создать ещё один дженерик помимо T? Ведь cb не обязательно возвращает тот же тип.
@antohnyt2067
@antohnyt2067 Год назад
Жесть у меня от твоего комментария депрессия. 18 лет - сеньор. Я в 26 не могу джуном работу найти
@nick-ei2og
@nick-ei2og Год назад
@@antohnyt2067 не думай о всякой xeрне и просто упорно прокачивай навыки. Если прям слишком долго не можешь найти, возможно у тебя пет-проекты не оч сложные, резюме так себе изложено, мало откликов в день оставляешь (у меня это было 100-200 штук за вечер) или ты просто ещё сыроват и мало знаешь. Новичкам сложнее всего сейчас найти, нужно целый ряд технологий знать.
@luckytima2315
@luckytima2315 Год назад
@@antohnyt2067 Рисуй опыт в резюме и все, знакомый 2 года учил swift, потом начал делать отклики, на джуна нигде не брали, нарисовал опыт, прошел собес на миддла спрашивали вообще базу самую, больше про опыт прошлый, он нормально ответил , спокойно работает за 190к мидлом.
@inqvisitor3722
@inqvisitor3722 Год назад
@@antohnyt2067 джуны просто никому не нужны. А в 18 сеньор - это что-то из области фантастики, я бы не верил всяким коментам.
@669pain
@669pain Год назад
@@inqvisitor3722 Сеньор это уже больше про опыт. Вызубрить ты можешь много всего, но грамотно все применять нужен опыт. Сеньор верстальщик ты можешь за два года стать, а вот сеньором разработчиком крупных проектов с большой бизнес логикой уж оооочень врятли
@grenadier4702
@grenadier4702 Год назад
Я бы еще добавил условие для задачи с promiseAll: сделать типизацию, что если передаешь массив промисов [number, string], то в then летит так же [number, string] Как вариант: type AwaitedPromises = { [K in keyof T]: Awaited }; function promiseAll(promises: T) { return new Promise(...) } Также, может, лучше писать таймер через рефу, а не эффект? Иначе придется лишний раз рендерить компонент, когда запускаешь таймер, так как меняется состояние isStarted const [second, setSecond] = useState(0); const timerId = useRef(); const startTimer = () => { if (timerId.current === undefined) { timerId.current = setInterval(() => { setSecond((sec) => ++sec); }, 1000); } }; const stopTimer = () => { if (timerId.current !== undefined) { clearInterval(timerId.current); timerId.current = undefined; } }; useEffect(() => stopTimer, []); // очищаем таймер, если компонент демонтируется
@nim3981
@nim3981 Год назад
Наша контора сейчас активно набирает разработчиков. И к нам приходят сеньоры, которые хуже этого парня) с мидлами так вообще кошмар
@ГеоргійКоваленко-у8ф
АйТи пропаганда дает о себе знать 😂
@ayub_begimkulov
@ayub_begimkulov Год назад
Да, есть такое.
@SmotritelTube
@SmotritelTube Год назад
почему в колбэке параметры можно оставлять обязательными ?
@ayub_begimkulov
@ayub_begimkulov Год назад
Потому что они всегда будут переданы в колбэк. А используешь ты их или нет - уже твое дело. Тут просто нужно понимать, как работает TS. Когда у тебя есть функция, которая принимает 2 аргумента, а ты передаешь туда 3, то TS будет ругаться, так как это явная ошибка. Но если ты ожидаешь где-то колбэк, в который будет передаваться 3 параметра, а туда передают функцию с 2-мя, то все норм. Так как 3-й тебе может быть вообще не нужен. Главное, чтобы результат функций был одинаковый. Например в посмотри типизацию addEventListener, например, должно понятнее стать.
@SmotritelTube
@SmotritelTube Год назад
@@ayub_begimkulov ааа, понял, спасибо за подробный ответ!! а где удобнее всего посмотреть про то как типизирован addEventListener?
@demiurgen13
@demiurgen13 Год назад
В сортировке ошибка касаемо что такое а и b. На самом деле a - это второе число, а b - это первое
@ayub_begimkulov
@ayub_begimkulov Год назад
Насколько я помню, там нету четкого правила. Если 0, то оставляем как есть. Если 1 - то a должен быть после b, ну и -1 то a перед b.
@demiurgen13
@demiurgen13 Год назад
@@ayub_begimkulov Да, все верно, но в функцию сравнения они передаются именно в таком, контринтуитивном порядке)
@ayub_begimkulov
@ayub_begimkulov Год назад
@@demiurgen13 Прикольно. Не знал про это. Я как и сказал в видосе, всегда экспериментальным путем понимаю, как что работает. Спасибо за фидбэк!
@andTutin
@andTutin Год назад
скоро дети из детсада джуниорами выходить будут. это если программисты все еще будут нужны
@ayub_begimkulov
@ayub_begimkulov Год назад
К сожалению, таких очень мало, большинство ждет погоды у моря, чтобы начать делать что-то полезное и развиваться.
@ГеоргійКоваленко-у8ф
@@ayub_begimkulovЧестно говоря, немного в шоке как мои коллеги по цеху, айтишники (читать: веб-макаки, «любители сыров по 500), любят плодить себе конкуренцию … Это только в АйТи такое есть (наверное)
@nurymnurlan3320
@nurymnurlan3320 Год назад
Большинство программистов быстро адаптируются под разные условия, даже сейчас всё (вплоть до самих языков программирования) очень быстро меняется и развивается. Так что за программистов бояться не надо) Переживать надо за людей выполняющие обычные рутинные задачи, которых на данный момент те же программисты автоматизируют
@sasdasaasdasdasdadad5354
@sasdasaasdasdasdadad5354 Год назад
привет такой вопрос к тебе . как правильнее писать isVisible && hello или isVisible ? hello : null или без разницы
@ayub_begimkulov
@ayub_begimkulov Год назад
Нет разницы.
@olehsolomka8268
@olehsolomka8268 2 месяца назад
Если только isVisible явно булевые значения а не 0 и 1 например)
@starunski_
@starunski_ Год назад
Cool !
@ayub_begimkulov
@ayub_begimkulov Год назад
thanks!
@thimerlanmatyakubov8940
@thimerlanmatyakubov8940 Год назад
Top person
@CyberGenius777
@CyberGenius777 Год назад
С секундомером можно было бы сделать проще: useEffect(() => { let interval; if (isStarted) { interval = setInterval(() => { setTime((prev) => prev + 10); }, 10); } return () => clearInterval(interval); }, [running]); Делать проверку на !isStarted нет смысла, потому что по нажатию у тебя isStarted в true
@alexanderonishchuk9293
@alexanderonishchuk9293 Год назад
ти сам у свому ж прикладі зробив цю перевірку
@inqvisitor3722
@inqvisitor3722 Год назад
setInterval не рекомендуют использовать
@PlusTVPlus
@PlusTVPlus Год назад
@@inqvisitor3722 смотря для каких целей использовать. В данном случае для такого таймера - самое то, чтоб не заморачиваться. Дело в логике работы самого интервала - он не ждёт выполнениея колбэка, и здесь могут возникать сюрпризы)
@ayub_begimkulov
@ayub_begimkulov Год назад
так у тебя же та же проверка, просто isStarted, вместо !isStarted. И так и так писать можно, по итогу работать будет одинаково)
@Dimashiii
@Dimashiii Год назад
Здравствуйте можете объяснить почему на задачке с мап индекс нельзя сделать опционально
@ayub_begimkulov
@ayub_begimkulov Год назад
Потому что индекс туда передается всегда. Ты можешь его не использовать - но это уже твое дело. Индекс в колбэк должен всегда передаваться. Иначе если человек его вдруг решит заюзать - вылетит ошибка.
@Dimashiii
@Dimashiii Год назад
Понял спасибо
@aisennogoibaev1924
@aisennogoibaev1924 Год назад
Привет) А есть вопросы с ответами в текстовом формате?
@ayub_begimkulov
@ayub_begimkulov Год назад
Привет. К сожалению, нет.
@MaximPletenev
@MaximPletenev Год назад
Разве в filter функции при res === true надо пушить res, а не value?
@ayub_begimkulov
@ayub_begimkulov Год назад
Да, не пропустили ошибку.
@Lloyd2281
@Lloyd2281 Год назад
Аюб вы грепплингом увлекаетесь?)
@ayub_begimkulov
@ayub_begimkulov Год назад
Ага, увлекаюсь.
@Lloyd2281
@Lloyd2281 Год назад
@@ayub_begimkulov круто, просто наткнулся на видео где были соревнования по грепплингу. Смотрю что то имя знакомое) Круто, вы очень разносторонняя личность 👍
@ИмяФамилия-э4ф7в
15:45 колбек в map не должен возвращать тип T, там, скорее unknown
@grenadier4702
@grenadier4702 Год назад
Надо вывести отдельный тип через дженерик function map(arr: T[], callback: (item: T, idx: number, arr: T[]) => R) { return arr.reduce((result, item, idx, arr) => { result.push(callback(item, idx, arr)); return result; }, [] as R[]) }
@ayub_begimkulov
@ayub_begimkulov Год назад
Тут правильно подметили, нужен отдельный тип. Проглядел этот момент.
@ebadmaev
@ebadmaev Год назад
на 56 минуты Вы сказали, что функция - примитив, верно ли?
@MisaNia25
@MisaNia25 Год назад
Где он учился?
@co181
@co181 Год назад
объясните в чем прикол писать функции мар или filter если их просто можно использовать уже готовыми?
@ayub_begimkulov
@ayub_begimkulov Год назад
Нет прикола - просто проверка знаний. Почему именно map/filter? Потому что уже все знаю как они работают и не надо объяснять алгоритм.
@Abilovv599
@Abilovv599 Год назад
Если он джун плюс тогда мой учитель стронг мидл который называет себя джуном плюс😂
@ayub_begimkulov
@ayub_begimkulov Год назад
У всех же понимание уровней разное)
@YuryMoshkin
@YuryMoshkin 5 месяцев назад
Посмотрев 2 задачи, и по ответам. Я думаю что он Джун, Джун+...
@Abdul-hy4cy
@Abdul-hy4cy Год назад
1:01:50 - у меня не сошлось тут. Что с useCallback, что без него button рендерится 2 раза как Аюба и при нажатии на кнопку clickMe, повторного рендера button не происходит. Хотя и у Аюба его тоже не происходит, но он говорит что происходит. То есть рендер Button происходит только 1 раз в случае mount, в случае Аюба 2, потому что у него strict mode включен - но суть одна. Button рендерится 1 раз при mount'e и при нажатии на клик не рендерится, что с useCallback, что без. Я это видео 5 раз пересматривал и 2 раза запомнил такое поведение и только сейчас дошли руки написать комент. Я же не один с таким поведением? И ещё, Аюб говорит: "Перерендера не будет". Но он не проверяет этого и идет дальше. Понимаю senior туда сюда, но интересно разобраться.
@ayub_begimkulov
@ayub_begimkulov Год назад
Привет, а можешь подробнее рассказать, что у тебя не сошлось, не совсем понял из твоего сообщения? Я добавил useCallback на onClick и спросил у Андрея (кандидат) «в таком случае не ререндерится?», он ответил «да», с чем я согласился. Мы ведь тоже самое и сказали? Рендерится только при Маунте) Или я тебя как-то не так понял?
@Abdul-hy4cy
@Abdul-hy4cy Год назад
@@ayub_begimkulov ты на 1:01:20 - спрашиваешь Андрея: "onClick каждый раз будет новым. И в итоге будет ререндерить или нет?". Андрей говорит будет. Дальше ты соглашаешься и говоришь: "Button ререндерится". Хотя не не ререндерится по вызову функции. Не хочу душить, просто я внимательно слушаю и смотрю. И меня это запутало. Хотя в прошлом комментарии ты сказал, что ты спросил «в таком случае не ререндерится?». Но ты спросил будет ли onClick ререндить Button и он сказал да. Извини что задушнил :D
@TarasovFrontDev
@TarasovFrontDev Год назад
​@@Abdul-hy4cyу меня такое же мнение сложилось во время просмотра. Но я не перепроверял. А по последней задаче нет вопросов? Я не понял смысла компонента, ведь если придёт новая функция, то новый слушатель не создастся.
@Abdul-hy4cy
@Abdul-hy4cy Год назад
@@TarasovFrontDev я уже не помню, не хочу погружаться обратно в контекст этого т.к. для меня пока что, это не имеет значение
@Danny-uc6kx
@Danny-uc6kx Год назад
а что в результате? мидл то или нет? какой оклад?
@ayub_begimkulov
@ayub_begimkulov Год назад
Это моковое собеседование было же. Я в конце говорил, что до мидла чуть не дотягивает (имхо), но можно быстро до него вырасти.
@Миллениалка
@Миллениалка 7 месяцев назад
Сортировка. Сейчас я говорит покажу тебе как я до этого дошёл, и херню какую то понес
@ИгорьПушкин-р6т
Парень не знает замыкания, какой мидл? Если не знаешь и не понимаешь замыкания , то про реакт лучше даже вопросы не задавать. Такие разработчики потом удивляются почему переменная не так высчиталась в эффекте или в мемо. Ну хотя от таких мидлов, я спокоен за себя )
@ГеоргійКоваленко-у8ф
Ну я первую работу нашел в 17, сейчас 18, что дальше ? Я буду синьор в 19-20 ?)
@airpodsclub6443
@airpodsclub6443 Год назад
не в возрасте дело браточек
@ГеоргійКоваленко-у8ф
@@airpodsclub6443Спасибо, кеп
@robotiksillya8363
@robotiksillya8363 Год назад
@@airpodsclub6443 а в чем
@andreilatosh58
@andreilatosh58 Год назад
Ну тебе от природы дан гениальный мозг просто А кому то нет. Им нужны деньги на образование чтобы прокачать мозг Это законы природы. Продолжай в том же, и ускорить эволюцию
@alexander551
@alexander551 Год назад
@@andreilatosh58 не мозг, а сильная мотивация + произошло случайное во времени событие - роды. Именно это позволило парню в данный момент в 18 лет быть мидлом.
@alexander551
@alexander551 Год назад
Ну с первой задачи про айди я уже всё понял :/ Лично я в IT ровно год и позиционирую себя как миддл. Похоже, не преувеличиваю свои способности.
@ayub_begimkulov
@ayub_begimkulov Год назад
Я бы не смотрел на опыт, 1 год опыта может быть очень разный. Попробуй составить резюме и пройти собесы. Так можно будет точно определить свой уровень.
@ruslanshikhaliev9341
@ruslanshikhaliev9341 Год назад
стратегия так себе, тут не HR-ы сидят, перед нами писей махать не надо)) у себя в проекте ты и тех и тим лид и заказчиком можешь быть и что это будет означать? Если любишь выеbivatься, а не саму разработку, то в принципе ведешь себя соотвественно)
@oogway4894
@oogway4894 Год назад
что за трек в начале?
@ayub_begimkulov
@ayub_begimkulov Год назад
мой видео-редактор ставил, сам не знаю)
@ReaktorGaming86
@ReaktorGaming86 Год назад
Задачи, оторванные от реальности. На проектах дают какую-нибудь большую задачу, типа сделать огромную форму, которая в разных вкладках находится, и еще в диалоговых окнах - и вот пили это всё 2 дня в ограниченные сроки. На первый план там совсем другие проблемы приходят. Никто не будет над каждой мелкой функцией париться и следить, чтобы она не перерендеривалась. Работает - да и ладно. Было бы полезнее рассказывать о том, как писать код, чтобы максимально снизить вероятность ошибок. Собеседование крайне душное, а парня жалко))
@mtb-love-belarus
@mtb-love-belarus Год назад
На проектах, тебе через 2 месяца дают добавить в эту форму одно поле и 2 часа. А ты мучаешься 2 недели, потому что не парился над каждой мелкой функцией
@threehundredbucks3212
@threehundredbucks3212 Год назад
@@mtb-love-belarus так и есть Даже дело не в функции, а в правильно сформулированном алгоритме, логике короче Если заранее максимально все не придумал, то потом придется все переписывать из-за маленькой мелочи, которую нужно добавить и которая рушит всю работу твоего кода
@Abdul-hy4cy
@Abdul-hy4cy Год назад
Ayub какая у тебя мотивация чтобы вести youtube канал? Ты же senior-разраб, сидел бы и лутал ЗП. Зачем на ютубе ещё работать?
@v.demchenko
@v.demchenko Год назад
Привет, ведешь менторство? Хотел бы поучиться у тебя) Естественно не бесплатно)
@ayub_begimkulov
@ayub_begimkulov Год назад
уже учишься же)
@MaximYalagin
@MaximYalagin Год назад
Я в 19 шпилил в игры и смотрел аниме и ходил в универ и до 25 не программировал . В итоге у меня начальник младше меня лол
@ИмяФамилия-э4ф7в
Как будто, это что-то плохое
@MaximYalagin
@MaximYalagin Год назад
@@ИмяФамилия-э4ф7в нет но если бы я пошел сразу на работу вместо универа я думаю было бы лучше
@ИмяФамилия-э4ф7в
@@MaximYalagin не факт, может быть уже бы выгорел 🤷🏿‍♂️
@ayub_begimkulov
@ayub_begimkulov Год назад
Главное дальше не упускать время)
@InSimpleWords_WebDev
@InSimpleWords_WebDev Год назад
Пи**ц, во что React превращается. Ну был же раньше нормальный жизненный цикл. Сейчас привязка хуков к файберу и мышление снэпшотами дико затрудняет понимание рендера.
@threehundredbucks3212
@threehundredbucks3212 Год назад
Ты про классовый подход ? Хз, тема рендеринга очень сложная на самом деле в реакте, жизненные циклы тут причем ?
@InSimpleWords_WebDev
@InSimpleWords_WebDev Год назад
@@threehundredbucks3212 Да, классовый подход был нагляднее. Сейчас наглядность ушла =(. Тема сложная, согласен. Но все равно это надо предоставлять в каком-то удобоваримом виде: что-то инкапсулировать, какие-то методы API сделать более простыми. А так, без поллитра не разберешься.
@threehundredbucks3212
@threehundredbucks3212 Год назад
@@InSimpleWords_WebDev ну я согласен что рендер очень сложная штука, на классах Я почти не писал, так как начал с реактом работать в начале года и собсна к этому времени классы остались только в Легаси или каких-то специфичных проектах не относящихся к обучению. Но по-моему что там что там жизненный цикл одинаковый, какие кардинальные отличия в этих подходах по циклу ? В том, что вместо них используют хуки типа use layout effect и use effect ? Более глубокие вещи по рендерингу кажется что там что там сложны
@InSimpleWords_WebDev
@InSimpleWords_WebDev Год назад
@@threehundredbucks3212 Может вы и правы. Просто к классам я быстро привык: четкие методы, четкое API... Тут же я до сих пор не могу научиться контролировать реакт. `use layout effect и use effect ` не покрывают все случаи - рождаются костыли вроде flushSync, useEffectEvent ... Дока реакта призывает вообще думать не жизненым циклом, а snapshot-ами и синхронизацией. Причем самое забавное: жизненный цикл остался, просто его спрятали поглубже (render phase, commit pahse: commitLayoutEffects, и тд). Однако нам вместо прямого инструмента, дали derived \ косвенное управление этой шайтан-машиной через современные хуки. И получилась двойная абстракция над их третьей: переизобретенным EventLoop-ом через файберы. В результате, шаг влево, шаг вправло - и хуков верхнего API не хватает... И начинается костыляние. Причем даже не кода, а мысли человеческой. Да, я не постиг хуки еще. Мне не стоит судить об этом. Возможно, когда я разберусь с этим, я пойму и причины и как с этим код писать. Но пока... пока сложно.
@threehundredbucks3212
@threehundredbucks3212 Год назад
@@InSimpleWords_WebDev ну ты явно больше меня понимаешь ) хотя я вот сам что касается рендера в реакте и жизненных циклов не особо, там много подводных камней
@MiliDevTS
@MiliDevTS Год назад
Кринж
@grokhotun
@grokhotun Год назад
Мидлом тут не пахнет, не знать как работает sort и как получить функцию из функции id - моветон. Максимум джун с половиной
@voloduhe
@voloduhe Год назад
хз, если он может строить приложение с поддерживаемой, читаемой структурой, которая не ререндерится на каждый чих, то вполне мидл
@kawaikaino5277
@kawaikaino5277 Год назад
Щас бы по паре ответов, определять мидл или джун))) поздравляю у вас мидл-головного мозга. Я честно не понимаю, почему Ру-комьюнити, так любит сложности\пытки и унижения??? - Даешь человеку пулл задач, даешь фиксированное время. Смотришь результат. Сделал\Работает\Чисто? Эти все ваши "Мидл, Хуидл и прочее" это в голове!!! Есть программист который выполняет задачи, а есть который не выполняет
@ayub_begimkulov
@ayub_begimkulov Год назад
Я бы не был так жесток, у человека нету опыта прохождения собесов. С id, кажется, он не совсем понял условие. sort - я сам тоже затупил там) Тут я бы скорее к базе React больше придрался. Так как его понимать как раз таки очень нужно. Если чуть поработает над ошибками, подтянет базу и наберет опыта с собесами - то можно спокойно подаваться на мидла.
@threehundredbucks3212
@threehundredbucks3212 Год назад
А ты учти что чел на собесе, переживает и на подумать время ограниченно Возможно в спокойной обстановке и имея под рукой гугл он бы эту задачу щёлкнул на раз два
@evgeny421
@evgeny421 Год назад
Ужасное интервью. Автор как будто сам не понимает, что говорит -_-
@militant6709
@militant6709 Год назад
Это далеко не мидл
Далее
skibidi army returns (skibidi toilet 77)
00:49
Просмотров 2,6 млн
Quinn did NOT expect this one - ESL Dota 2
00:34
Просмотров 193 тыс.
skibidi army returns (skibidi toilet 77)
00:49
Просмотров 2,6 млн