Подготовка к собеседованию на Frontend Developer
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
ну что всем привет на связи hex lead это публичное собеседование и сегодня мы с вами так не таком небольшом интересном классном антуража потому что у нас во первых новое оформление прямых эфиров все классно и пока мы с вами здесь будем беседуете представляется давайте вы меня отпишитесь в комментариях как у нас сейчас со звуком с картинкой все ли классно все ли хорошо видно ставьте плюсы и минусы в комментариях а напоминаю что у нас работает два часа один час у нас в sloppy комьюнити hex лета и один чат у
00:00:04 - 00:01:23
нас в ю-тубе ссылки все есть в описании и смотрите на них вот так давайте посмотрим что по комментариям все ли хорошо вот на пока мы ждём когда нам отпишутся так тут вижу уже ставит плюсики вот я вам представляю те кто сегодня у нас будет вести и проводить этот публичный собеседования с нами на связи андрей мельников это ведущий frontend разработчиков css or привет андрей и не с нами дальше кандидат сегодняшний которого пожалуй сегодня наверное вал ни тени всего но мы уже убедились до этого когда вели общение что в
00:00:44 - 00:02:21
принципе во сне собственной волнуется и так василий кудинов участникам unity контрибьютором open-source проекта всех сайтов elstak разработчику привет вот а если вы вдруг хотите посмотреть какие-то другие публичные собеседования у нас вот есть такой отдельный плейлист после того как мы сегодня завершим можно будет бежать туда и смотреть другие классные собеседования с ребятами которые в свое время учились либо проходят обучение на hex хотя но это конечно же после того как мы завершим наше сегодняшнее событие
00:01:33 - 00:02:48
вот ну естественно по традиции подписывайтесь на канал и если то подписывайтесь на канал this is a room in ставьте лайки активируйте колокольчики у ребят тоже на канале выходит большое количество очень классных проектов и вещей они там как раз выкладываю записи своих подкастах плюс у них есть просто потрясающе в комментариях где недавно кстати в гостях по месту верстка или верстки беседовал один из наших преподавателей михаил вот но а я начнем удаляюсь я вижу что у нас все классно по подключению передаю
00:02:10 - 00:03:14
слово андрею мельникову для того чтобы он дальше уже наши сегодняшние собеседование так мы еще вас cmp в принципе сегодня от меня тоже мишка новая активность потому что никогда не о публичных собеседований и вообще не так часто проводить собеседования там у него разработчиков прошлым так много снимаем многом изменять тоже будет новый опыт будет интересно вот в процессе регистрация на разговаривать то есть никаких формальных вопросов особо не будет вот поэтому как пойдет так собственно давайте тогда начнем с опыта
00:02:42 - 00:04:21
василий расскажи вообще как только когда шел до жизни такой как попало в профессию с чего начинал какие-то основные пути сна это появится в жизни опыте так меня зовут василий мне 23 года я в прошлом году закончил московский автомобильный институт по профессии эксплуатация транспорта в общей сложности я проработал по этой профессии один день после института я начал активно заниматься на hex лети где-то после 6 месяцев я уже устроился в сингапурскую компанию она занимается распространением виртуальных номеров я туда пришел к к
00:03:31 - 00:05:14
backend разработчик на на руках но где-то в течение работы попросился на фронт и занимался и фронтам и беком ну вот и проработал до апреля и решил уйти вот как то так то есть получается ты сначала начинал с бэкхенда вообще-то ну как бы что-то заинтересовало программирования больше бы константин . как ты заинтересовался я просто заинтересовался программируем не друг показал как он что-то пишет на питоне я я где то 2 3 года назад я просмотрел чём пишет ну не просто интересно распрограммировать а то что я
00:04:24 - 00:06:00
выбрал там frontend или backend просто на текст был java java script он вроде как сам был популярный для ну просто тыквы и вот frontend мне просто интересно программируете то как я не разделяю контент вообще расскажи вот ты получается мы battles и робби как я понял потом с контентом расскажи каких-то основных инструментах которыми познакомился что тебя привлекала там что тебя отталкивала ну вот как-то более так техническом плане скажи пальцы на ногах просто ruby on rails так во frontier ряд 3 dax
00:05:11 - 00:06:41
[музыка] в теперь из фронта вроде больше ничего не было до избе к тоже но если другие я не особо писал но примерно представляю это допустим на ноте что там ходжес на экспресс пока не припомню вот это поговорим про вот эти вот инфраструктуры в частности например яндекс как тебе этот так нравится он тебе или нет весы нравится то чем если нравится зачем мне на самом деле не особо есть с чем сравнивать только если чисто нужен скребком ну react редакция просто по мне кажется он просто легче как вот писать
00:06:02 - 00:08:15
код чем на чистом в скрипте смотреть им сравнивать видок в простой react просто простой и легкий мне кажется это главное преимущество но вообще вот что в акте какие фичи концепты может быть две реакции больше всего нравятся без каких-то не представляешь на каждодневную работу то есть нечто для тебя там самые важные может концепты может вич и какие то еще что то что ты больше всего джейс x мне кажется без этого я был бы не потому что пришлось бы писать большие парсинг кода как вообще можно но вот всякую
00:07:11 - 00:08:40
проблему решает как ты думаешь наверное реактор какую проблему решает они прям именно j секс ну хорошо можно начать с этого ну react решает проблему состояния проблемы состояний то что их контролировать предыдущее состояние [музыка] узнать о текущем так то есть то что нам надо отображать на экраном надо сначала стереть предыдущие что иметь и реактор в общем-то решает эту проблему можно сказать что он просто нивелирует типа предыдущему он если кратко он просто inherit the html как ну то есть мы получается
00:08:00 - 00:09:58
синхронизировать состояние и состояние дома представлении автоматически ну блин vanilla же сна можно было бы ручками то синхронизировать то здесь нам этого не нужно мы собственно об этом не думаем работаем только состоянием и акт сам как-то синхронизировать хорошо как ты думаешь как он это делает за счет чего у него это получается за счет virtual дома он строит внутри себя виртуальный дом и так ну и рендеринга вам сравнивает предыдущие дерева и текущая то есть он стоит 2 тире почему это чего это лучше чем у знаю если бы делали
00:09:13 - 00:10:54
просто и не рассчитывал борьбы текстовый шаблон например принтами либо их состояния сделали бы мечтами чего мы как дорогостоящая операция ну если у нас просто огромное количество меняющихся до нгту но это было бы долго почему он дорогостоящие что такого мне кажется браузеру нужно каждый раз компилировать структуры дома ну то есть ты имеешь ввиду разобрать строку превратить ее в дом моды создать собственную соответствующую дом дерево и соответственно ну вообще не сыграть под этот механизм virtual домов этого ты
00:10:04 - 00:12:06
рассказал как ты думаешь сравнение деревьев она как-то происходит какая насколько это быстро может ли это тормозить как ты считаешь когда-либо или это в принципе ментальной операции когда может сложности у сомнения двух деревьев кубический корень так что это за ну дорогостоящи ну react может оптимизировать свою работу да да да м то есть если это дорогостоящая операция то получается в принципе ну даже на самом деле нины сложность это не так уж так сильно хорошо но принципе конечно лучше чем кубическое могут может ли
00:11:06 - 00:12:58
масса ящика гарри поттер мозес встречался ли вшит в своей практике с японскими проблемами с организацией скоростью в я не сталкивался вспомнить я сталкивался когда надо было отобразить около вроде 100 юзеров на страница был тобой учебный ну вот вот тогда столкнулся но в принципе я ничего с этим не сделал потому что я это я не знал что делать и как вообще сейчас понимаешь как таких задач можно решать как можно решить проблему нужно просто меньше количество юзеров [музыка] до нормального состояния потом яхте есть
00:12:09 - 00:14:10
еще такая как вам такой метод жизненный цикл как шут компонент апдейт можно как-то с ним поиграться того означало можно у нас есть компонент и если у нас поменялось состояние и есть этот метод но мы можем с помощью этого места за сказать рендерить тебе этот компонент или или нет брата поговорим еще немножко ну подключимся технологии глубоко закапываться не выйдем поговорим какие то проекты которые ты делал локшин так и x летит и сделки это сдачи скажи вот вообще что самый интересный взгляд делал
00:13:20 - 00:15:17
может быть несколько и 100 проектов задач которые тебе были лично самое интересное решайте не казались реальными и по них интересно было сказать мне кажется 2 проектной чипсете где сравнение двух 2 дери интересно строить просто структуру абстрактной синаптической интересно строить ну и мне не так много проектов поэтому не знаю хорошо давайте тогда немножко поговорим еще какие то вообще по текущее состояние инфраструктуры ну понятное дело что сегодня никто не берет просто реальное приложение вот если бы ты завтра начинал писать
00:14:20 - 00:15:56
какое-то приложение тебе давали понял cabbage по технологиям session этом приложении бэг-энде не думаешь как ты технологии взял у то есть так чтобы чем бы ты его дополнял что ты потому что людей за использовал только из-за этого а зачем нужен почему нельзя быть низ по стояку тяжело контролировать состояние на все сложности то есть как бы ты мешал те задачи которые решаешься эдак сам без редакции чтобы я позвонил пришлось бы хранить состояние в каждом наверно в глобальном все-таки компоненте и его прокидывать через ну его
00:15:13 - 00:17:17
прокидывать дальше к детям как бы ты его покидал так ну можно через контекст вроде я просто через процесс ха-шана если на вас так какие преимущества у реда ксо перевод способна пример перед использованием контекста и стоит в бабанин как понять с верху конем компании ну то что он хранит у него только один источник правды одно в общем состоянии 1 глобальных ну его можно профессионального подключать какому-либо компоненту использовать это состояние ну так то есть получается что во первых все данные в одном месте во вторых что эти
00:16:16 - 00:18:17
данные можно где угодно получить хорошо а если гайду по эту штуку с тем что все данные лежат вот на месте чем это хорошо и чем может быть это плохо взгляд может быть учимся ну хорошо то что у нас всего одно состояние нам не надо думать о каких-то других у плохого не знаю не знаю чему может быть плохого угу ну да хорошо но если говорить еще пара и так вообще вот ну помимо того что он просто складируют все данные в одном месте мы в принципе там при помощи контекста можно сделать тоже самое ну как ты самый объяснял то есть
00:17:23 - 00:19:07
он положите данный корень соответственно прикидывать их несколько через контекст и тоже все данные будут принципе лежать одном месте что то еще и дак вообще привносит то есть какие-то может правило может какие-то конвенции ну которые полезны при разработке ну да то что мы не можем просто так взять и изменить состояние нужном нам нужны действия и в общем редокс берет на себя это задачей он нам предоставляет интерфейс помощью которой мы можем изменять все данные [музыка] хорошо вообще вот в этом интерфейсе
00:18:26 - 00:19:50
в чем его особенности то есть скажи мишка подробно как это происходит то есть я использую так что мне нужно сделать что вот менять данные так ну нужна сама сама хранилища нужно действие которого будет типа 1 что за действия хранилище должен его обрабатывать и чтобы применить это действие нужно его за диск патчить [музыка] зачем вот такое вот деление на экшены и хранилище ну и собственно изменения там по видео серия чем в этом смысл вообще как думаешь почему не сделать какие-то прям и центры для данных еще что то то
00:19:14 - 00:21:20
есть менять как то стоит напрямую ну мне кажется это просто инкапсуляция так проще работать с чем-то посмотрим капсюля цию можем достичь в принципе теми же секторами векторами то есть но мы можем взять хранилище предоставить кунку это интерфейс абстрактный типа там сет sampling или там things on clinic будет клонить метод мы в него деркач компоненте собственную и все здесь у нас интерфейс другой здесь у нас интерфейс виде посылки какого-то события зачем так сделано сложно ну потому то в принципе инкапсуляция достигалось
00:20:23 - 00:22:11
еще там предыдущей итерации когда у нас были эти штуки типа там в c были модели модели были в методы которые мы можем получить данные то есть та река пса и отце доступа было и была конечная капсюля ция изменение то есть тоже безумных можно было только через специальные методы в чем и так это что-то меняет или эксперт то же самое . dimak давай тогда немножко наверное немножко пробуем поговорить о чем-то более 1 как низко времен так секрет пошарь и ссылочку так секунду [музыка] [музыка] ссылочка вот подкралась сейчас на надо
00:21:17 - 00:24:13
шарить кран dark age искушает так как черт правый ты пошарить ему поручается потому что ни вишну не хватает так но ты не открывается как класс ладно давай пойдем угодно в целом так hrt постой-ка открой тугой консоль еще открыть любой виды я который тебе удобно спать удобно частот российский код все как он запал получилось мы раз мы заговорили casp модели стоит вот это все так я скинул тебе чатик код это две строчки поставить смотри вот я хочу получить объект которого каунтер готова можно будет сделать сет данных и собственных детку
00:22:56 - 00:27:37
то есть то о чем если бы говорит какая-то модель который можно данные установить можно их получить через какой-то интерфейс как это можно написать через объект просто [музыка] давай тогда попробуем собственно немножко усложнить это тело так как-то передать тебе кот развалился тут нету так ладно щас скину тебе окон таки случае чего закончить из king кусок живет у меня уже лошади а жил конечно сейчас туда песок вас только чем жизнь давай говорим по сути потому что дальше будем говорить немножко по них вообще расскажи
00:25:38 - 00:28:08
по отношению ко всем изменениям в реакции сейчас происходит как думаешь вообще какую сторону движется реакция общества вообще как те саму кажется насколько я кажется это правильное направление сколько он тебе нравится что из новых фишек используешь что на брак может быть не используешь и что тебе совершенно кажется вишней так нас используешь к чему это движется я на самом деле не совсем понимаю что почему сделано так а не иначе я не совсем понимаешь вообще то с какой версии пользуясь советом я использовал и
00:28:40 - 00:30:19
классы и ну и сейчас который функциональный компонент к тебе сама что по факту что нравится больше мне нравится просто функциональные компоненты они просто удобнее меньше кода пишет и так пока не циклизоваться ну да загрузилась так начну паша . мне врать шарика вроде бы шоссе вижу тебя сейчас слышу тебя сюда день технических так смотри здесь мы написали такую немножко странную версию реактор которая тут такая очень примитивная она просто принимает компонент вот собственно компонент каунта здесь описан
00:29:33 - 00:32:22
и вызывает у него метод эндер все что она делает и здесь вот и не совсем настоящий функциональный комплит такая подделка под днем для того чтобы можно было использовать многие события просто такая имитация скажем так редко компонента того чтобы можно было какие-то концепциями попробовать имплементировать вообще посмотреть как это работает так мы смотрим в общем [музыка] сам склон реактор выставляете себя просто метод random сейчас который берет компонент выполняет выполняет его что просто функция и вызывает минут аренды
00:30:59 - 00:32:31
собственно давай попробуем вот для этого для этого такого не стоящего react написать method you stay на собственно большому счету было написать такой хук с моделью который понимает значение возвращает это же значение и функцию которые можно менять ну и соответственно тут мы сможем в onclick сделать что-нибудь и посадка он 2 быть будет так здесь будем просто возвращать аккаунт вы подумать как это можно сделать так короче если что то непонятно спрашивай то есть я пас не знаю что что что может мне конечно быть не понятно поэтому
00:31:48 - 00:33:39
сразу говори пока у нас этот этот мини react он будет изменять значение всегда не . по как бы то что я вызвал хук или вот смотри то есть он меня цикла пиринга да ты здесь нет из цикла нет у этого все он работает ровно один раз ты сотни раз хандры зале один раз мы вызываем значения ни один раз вызываем а затем допустим мы хотим сделать следующее то есть мы хотим сделать что-то вас допустим к унтах клик и дальше рендер снова так если добавим с на коне там клик и будет компонент какой-нибудь собственно можно
00:32:44 - 00:35:31
так все представить мы можно будет здесь вызывать вот эти но мы разберемся sports хорошо [музыка] хорошо давай тогда подумал вообще как можно реализовать hook не стоит так чем ничто не двигается так в общем нас есть estate у нас есть какое-то состояние но надо ну как в тот раз создаем какой-нибудь переменную который будет хранить наши значения по началу будет потом так про это значение и 0 оснащение и это работа не сдавай вот неважно двое пока не важны работает не работает давай пока просто подумаем
00:34:35 - 00:37:23
вообщем тем что мы делаем не будем торопиться смотрим хорошо так что вообще мы сделали мы взяли мучение катаральным передали сохранили его некоторые переменные которая существует там как чего это ты именно этого и существует в рамках estate а рамках вот этой функции номер хорошо отлично теперь получается у нас вопрос если это переменная существует только в рамках you stay to the [музыка] но сможет ли она пережить несколько [музыка] жизней тишь да но вообще ну да месте она же каждый раз будет каждый раз будем
00:36:57 - 00:39:09
вызывать чистый ты каждый раз она будет разная хорошо а несколько рендеров сможет ли она к и жить но смотри давай сделаем так пусть будет еще будет выделен апликэйшен вызовем апликэйшен и тем снова вызовем эмбер а вот для надо вопрос в том отрендерится типа это значение еще раз ну да ты смотри мы хотим чтобы это аккаунт работал как у нормальных аккаунты чтобы он поставил здесь дочку и при втором эндель мы могли собственно уже вывести двойку любое значение сна можно ли это как то так на сейчас в этом случае оно вроде так
00:38:08 - 00:41:16
ну получай насчет абсолютного правильная реализация но получается что он запускается всегда то есть при каждом рендере компонента вот и первым при втором у нас выполнится одна и та же имплементация а как должно работать ну очевидно что так нет можно работать потому что тогда они работается аккаунт но как как он был я чуть не по будет будет у нас при каждом рендере называться аккаунт нет с аккаунт и будет вызываться при каждом ндс колдует u20 взамен клик при каждой модели будет называться you stake
00:40:07 - 00:42:03
нужд аренды работает он просто вызывает огня спорт называет эту функцию называют инков и угощает сам сам компонент [музыка] новак этот фокус так он же в конце выглядит точно так же то есть у нас получали функции есть и устоит допустим дальше мы это используем и вы там у функции никак специально не делаем чтобы ее стоит там не при создавал когда стоит я думаю пост отбой сделать флаг что что там всё уже было давай венца последок опять выходить мы потому не можем хранить лак его вызывалась ли функция внутри самой функции как
00:41:06 - 00:44:44
еще такого рода когда нужно хранить какие-то данные в функции знала каких-то данных которые сохраняются между ее вызываем ну примерно в принципе сделать здесь значит без типы заданий состоянии допустим валин и идут бои шли на скол ром как бы это сделать вообщем чит запутался состоянии смотри вот в принципе идея с флагом она абсолютно правильное то есть мы видим правильном направлении как мне кажется но у нас все еще сохранилось проблема в том что сейчас у тебя флаг внутри функции estate то есть у нас данные
00:43:12 - 00:45:33
которые нужны не получается сохранить вне вызова функцию стоит то есть те данные которые можно сохраняться между вызове функции стоит они не будут сохраняться на потому что после выхода из функции эти данные повторном входе функцию они будут самого инициализироваться искал сейчас но он всегда будет holes то есть ты можешь кое-что функции понять того но начнем по их функциям снова станет falls но можно наверное здесь сделать допустим можно на помощь и мира ну да хорошо смотри года но это пишем когда хорошо давай
00:45:10 - 00:49:34
тогда поговорим неважно отложить пока не будем это поговорим вообще вот эту штуку мы за использовали виз что 1 мы скажи что это такое и зачем это вообще нужно java скрипте контекст вызова допустим текущей текста вызова какой-либо функции допустим объекта допустим а как бонус за тогда понятно что это контекст некоторый но это принципе неважно там как его называть самом деле так не суть самое важное что нам нужно понять практически так это вопрос как мы его определяем ну то есть вот как мы понимаем чему здесь
00:47:23 - 00:49:28
вот при вызове и стоит будет равен здесь он связывается у него позднее связями то есть он связывается с объектом который его вызвал то есть если у нас там он связывается сэр то есть делал в этой конструкции да то есть если мы вызываем не какими-то через точку то соответственно мы получаем здесь хорошо вообще как ты думаешь зачем это нужно языке зачем вот эту штуку добавили ну потому что известно что знаю конечно зачастую разлагают говорят что непонятно и все потерей контекстом известная проблема зачем вся эта штука нужна зачем
00:48:25 - 00:49:59
при вызове метода чок это контекст создаем у нас объект и у него есть какое-то внутреннее состояние его надо как то решать эту проблему то есть получается чтобы работать с некоторым состоянием чтобы некоторые функции могли быть связаны с некоторым состоянием методы собственно то есть данный и вот вход связывается с данными хорошо можно как-то вот эту проблему связи state а с функциями решить без использования с без использования объектов безо свой забег что для раскатки ничего не за решить использование back in вида без
00:49:16 - 00:51:15
использования контекст простым типа как реализовано это нет вообще как можно как можно по-другому решить ту же проблему то есть но вот например через функцию можно решить что значит функция показывает баня допустим то есть нам нужен конструктор [музыка] вот мы ему здесь определим это знать и потом у нас будут так потом потом потом потом нужен это же изменит это теперь нам надо это сейчас ну чем хороша а вообще почему вот функция set name on особенно когда мы там вернем из из этих функций фанк почему она может
00:50:13 - 00:54:48
обращаться к переменной name локальный переменный функций фанк как работает что это за особенность языка ну это замыкание на им за в области и сытный мам об этом знаешь об этом вот на или тип никуда не удаляется она но она хранит здесь свои значение то есть это по сути такой второй способ связывать функцию этом языке они в принципе довольно похожи и довольно разные хорошо давай поговорим вообще может языки потому что вот всякие такие чуть капнули углом по поверхности конечно это понимает да еще и на рубрике
00:53:06 - 00:55:06
sound и никто не немножко вот скажи вот я деньги так смотрю посмотрел да хорошо но вообще расскажи как тебе жестко и вообще как язык многие выходить от это нравится наоборот как таким сам относишься да мне все нравится не знаю с чем просто как сравнивать языки ситуации где общем применяется наверно он вообще если какие-то вещи которые тебе жестко стену вот очень сильно нравится не знаю хотелось бы что проруби такие такие вещи были или просто вообще нравится и ты потеряешь свою работу без них считаешь узнаете это
00:54:06 - 00:55:43
концепт или там фишечки язык классным у меня то что он нравится то что он мульти парадигме на это как описать как тито с классами и так же и с функциями вот этим рекса что расскажем что в то и понимание что значит мульти парадигме на язык вообще что такое парадигмы для тебя лично то есть как ты это понимаешь ну и что там примеры какие-то разных парадигмами жесткости как это вот осуществляется вам мысли праздник несколько это сам используешь существует допустим императивное парадигма программирование национальная
00:55:02 - 00:56:44
объектный ring объектно-ориентированная и как они рисую цену декларативная точнее и функционально есть спортивный так ну императивная это просто так сказать писать код с то есть как он будет как он будет себя вести то есть типа мне надо пройтись по массиву 10 раз я напишу то есть саму реализацию как как это реализовано функционал декларативно и немного примерно 1 clarity вно это типа что надо сделать чтобы перейти чтобы пройтись по массиву 10 раз типа что использовать но она поверила то есть на примере того же мастера как это будет
00:55:54 - 00:58:18
убит как него императивный только это будет цикл что тогда будет декларативно это вот жёсткая палка как бф3 джилл удачу там какую-то со списками связанную декоративно ну если просто пройтись и что-то сделать то на этом как бы куда использовать это хорошо ну что еще для тебя вообще сам ты так считаешь ну словно какая тебе парадигма ближе ну понятное дело что книга сказать потому что чисто какой-то парадигмы just как-то нет вообще сам ты к чему тяготеешь условность даже работа со списками как бы это самое дел циклами грибов
00:57:08 - 00:58:53
фильтры без педали на самом деле я бы использовал то что какого то что подходит данная ситуация атаку если допустим вот в этой ситуации наверное декларативно марсель там глядишь ну а какие то видишь вообще у этого нового такой парадигма по имущества ну а нам понятно как бы код говори о себе он сам аргументируется хорошо ну давай тогда как раз мы пришли к этим штукам ложка еще по моему почитать код прекрасно его примере обсудить еще здесь все вещи связаны с декоративности и оперативности так если немножко ужасного кода очень
00:58:07 - 01:00:10
оперативно . [музыка] ну пока грузится расскажи немножко вообще-то твое отношение к хорош лошадь у тебя речным пайкой описать mujeres captain на глубину они в разных целях ну донатом и там нормально и читакам так у меня загрузилась полистай немножко вниз давай вот тут есть такая большая функция как валяется льда into this time не просто посмотрим попробуем почитать и вообще по паре view id сказать что здесь плохо не думаем темпа и зависимости особо потому что весь такой а не на перфоманс мозговой то есть для контекста
00:59:11 - 01:01:38
просто паста с точки зрения того что ты видишь на сколько код читаем понятен ноги что в нем плохо или что может вам хорошо calculations totals принимает какой-то аккаунт нужны банков как у нас есть объект totals так в котором содержится кредиты дебет ok потом здесь почему-то акс 0 min это infinite в иностранном потом у нас есть так как в цикл который что-то делает мы берем у нас это аккаунт и значит так у нас есть проходим значит берем первый аккаунт берем аккаунт вынимаем и не летим там какая-то строка в клиенте
01:01:05 - 01:04:09
это нужно что-то связанное с черным и гласным саму структуру данных можно цель чуть выше передается от функция хорошо а вот если вообще так не разбирать пока у боковой ход как он работает а если что-то в общем club мечтать и в этом коде нравится не может как бы ты его навью смотрел чтобы ты скотт написал чтобы я написал во первых то что она может эти две функции которые будут считать 1 сальто другие дорогая тот else ну и самые главные функции которые будут считать это уже пройти по каждому аккаунту и там уже давно ну и для
01:02:40 - 01:04:58
каждого снять цели сальто этот пустует разделить если при такой стояла задача 3 факты эту функцию большую она вообще как тебе хочется как-то считаешь правильным еще он еще бы ты начал общем я бы писатели так просто говорить ну мож просто рассказать создал бы функции кальку рейд так нет стоп ну допустим создал бы функция calculate он что у нас который принимает аккаунты и сначала бы посчитал бы для каждого аккаунта у меня было бы еще функции сальдо это tales для каждого сначала прошёлся бы по аккаунт посчитал бы для
01:03:50 - 01:05:50
каждого totals потом прошелся по пока он тут посчитал бы сальдо мы потом я пока не значит не надо навернул бы она похода меняет вернул бы структуру ему я проснулась не совсем понимает что происходит и а да ты вот заметил то что здесь изменяются аккаунт в принципе total станут от 80 берется как бы ты это вот ты бы оставил или ты бы это переписывал ну то есть вы стал бы ты добавлять сюда более декоративности использовал бы то здесь лапа единством все вот это вот падает а нам надо менять или или это мое
01:04:52 - 01:06:39
усмотрение на свое усмотрение да то есть как ты вообще смотришь стал вы какую машинку от легче читаться из моего переписали на придется или конечно стал будет считаться легче ну конечно тоже кому как на игру в принципе то то есть у невозможно хорошо ну давайте тогда еще немножко напишем что-нибудь например если вы говорили по ideas of the всем давай попробуем что-то подобное написать ниже ссылки собираться да все проектов написать ну например его которая принимает ну и собственно он решает преобразованный спицы и будем и даже как
01:06:11 - 01:09:28
она принимает в чем нас [музыка] аккумулятор лист в массив как если у нас посты повернем аккумулятор иначе 1 альбом ним функцию к ней потом [музыка] и и должен хорошо расскажи немножко вобще почему ты так написал ну ничем выделял отдельно функции ты мы собственно немножко и скажи своим решения ну почему и так сидел у допустим не написал с помощью цикла ну допустим что мы не допустим в циклом пришлось бы допустим писать то что каждый раз изменять структуру аккумулятора это нормально я ничего таком не считаю
01:07:48 - 01:10:44
мне кажется просто здесь более понятнее что мы делаем хорошо расскажу как это работает но механики чего скрипта то есть мы вызываем функцию ты рвоты функции так она здесь получается курсивный вызов скажи вообще как джо скрипте работает в курсе поэтому они какой то как оно работает java скрипте и я читаю на каждый вызов здесь итеративной рекурсия на все равно здесь на каждый вызов будет создаваться свой свой стек так потому что джесси и не оптимизируют ну вот расскажу что просто вообще что это такое
01:09:53 - 01:11:56
зачем это нужно стек вызовов функции не знаю что сказать ну как в твоем понимании то есть не нужно каких-то определение именно вообще как-то считаешь зачем вот в языках программирования есть такая штука то есть какую она роль играет и зачем там мы создаем как это контекст исполнении кладем его в стык когда выходим с функции убирай нас так зачем нужна я думаю что чтобы чтобы 5 чтобы не смешивать как бы проблема в общем в переменных никогда не смешивать их какого с другими вызовами в общем проблема в примерно ну да то
01:10:51 - 01:13:03
есть место в контексте исполнении аргументы и собственно состоянии переменных и все хорошо давайте тогда поговорим немножко еще по синхронные вызовы может раз уж не говори давай немножко с так негодуем и по асинхронный вызовы и как это работает случай если мы добавляем сюда что-то синхронной то есть в случае когда мы называем вызывается как а функция b все понятно [музыка] что будет если допустим здесь живут разница между вот этими двумя б вызовется сразу то есть он не будет ожидать пока другие вызовы в этом стыке
01:12:06 - 01:14:46
удаляться а этот с этой мало подождет пока я себе здесь у нас была еще одна там с он бы еще бы ее стал бы ждать пока она выполняться только будет момент его то есть получается что пока стек не пустили хорошо вот это вот б она как-то хранится где-то или какой-то специальный механизм таймаутов или к более широкой а именно все тайм-аут типа но именно вот вызовут задача то что нужно вызвать функцию об этом через перевал но это нам предоставляет ну джейсе такого нету это нам как это браузерная который нам представлен
01:13:41 - 01:15:43
но а вообще вот отложенный вызовы вызовы которые выполняются очень холодные вызовы как в же я его не поняла ну ct mode это просто подвид какой-то синхронных вызовов как вот ехал на вызов то что нужно какой-то функций вызвать результате какого-то события этой здесь запустим течение времени как это реализуется в java скрипте как-то не понял она как реализовано с этой mode ну хорошо давай тогда немножко поговорим [музыка] вообще о том как как исполняется жесткой то есть и каких-то его особенностях в
01:14:42 - 01:17:00
плане вот ну у нас иногда нашем коде есть потребности выполнить что-то не сейчас или например не останавливаться какое то здесь ну то есть конкретно с этим примером да не нужен тайм-аут может быть нам знаю нужно подождать ответа а теперь еще что то то есть есть такими ставку де где нам нужно собственно ждать чего-то как тут таких штуки выхватывает это сложно потому что там важных это как по-разному это сделано как ты вообще представляешь это то есть ну не взять наш ту какую-то правильную схему то есть
01:15:50 - 01:17:09
просто как ты сам себе представляешь как это сделано языке это уже реализовано просто расскажу мишка по это как что значит кабаках то есть когда то функция которую мы вызвали она закончит выполнение свое она вызовет call back который мы передали ну да ну тут собственно этим к выходу из не является функция b то есть но как бы задача где эти колготки хранятся если какой-то механизм специальный который их со всем этим все разваливает черта не знаю я не додумался ну а вот в руках сталкивался ли вообще задачами ну
01:16:39 - 01:18:48
сталкивался наверняка раскинуто связанные с необходимостью тоже ждать каких-то внешних событий до внешнего источника еще чего-то как там такие задачи решаются но не вроде просто синхронно ожидают какую пока это закончится есть какие то проблемы вот такого метода вот использовать синхронно подождать может действительно почему бы нет но это но есть проблема в том что в чем в чем чем во первых то что мы занимаем процесс волнение то есть это время могли бы там что-то считает еще что то делать эту мы
01:17:43 - 01:19:29
просто получается сидим и и такие ждем но ведь принципе то бишь на сервер там зачастую должен сидеть и ждать панель никто не знаем вас оборот какому-то запросу вот пользовать этой заходить в zappos и они тоже могут висеть зависать так далее и ответ может зависать как в рублях это решается то есть если каждое вы такое под ожидании полностью блокировал исполнения программы тогда получается что один медленный клиент был положить все быкан приложение ну нет вроде это решает engine кс то что у нее есть
01:18:35 - 01:20:31
какая-то какого он вроде я тоже как-то решает посредством event лупа [музыка] вот мы уже пришли к youtube собственно хорошо а если это допустим плане рубей с этого не знаем мы ходим какой ты такой сервис делаем запрос какому-то любому api мы своего сервиса до каждого вот тогда нам принципе nginx уже не поможет как тогда отслеживает или что с этим дело и вообще чтобы пошли такое сервис там за дополнительными данными и он уснул не отвечает uncle для я не совсем в общем я в этом не углублялся я думаю что он просто
01:19:32 - 01:21:32
игнорирует и и дальше хотя не хорошо давайте поговорим об авторстве назвала винту пам что общее то в том понимании такое что это механизм ну можно abs так ну то есть не привязываясь винкс или java skype чувак ну цикл который и просто ждет какого-то события допустим бесконечно некоторые речка там я связываю события и получается сдачи те задачи которые можно будет выполнить результате какого-то события ну и соответственно упорядочивает их выполнение может переключаться между ними хорошо если нас такой штуки нет в каком-то языке как мы
01:20:36 - 01:22:54
можем переключаться между выполнение ну может быть на уровне языка местами уровне операционной системы шучу никита создать отдельный трек ну да создать отдельный процесс или поток и в принципе у нас тоже будет та же ситуация с переключением контекстов мы сможем как-то контекст opel качать как ты считаешь общину от понятное дело что это вещи не время скучаем и и но например джо скрипт использует модель глупо соответственно конечно мы можем создать несколько инстанциям допустим надо если мы хотим но в
01:21:42 - 01:23:07
принципе он может нормально работать и в одном процессе какой-нибудь языки besame клуба не считается они могут как ты считаешь и какие плюсы-минусы могут быть у этих двух разных моделей модели когда насильственным клуб а вторая модель когда мы просто создаем разные процессы на разные сдать то что у нас может просто наверно то что мы можем если на уровне персоны мы можем создать слишком много потоков на в этом проблема проблема не знаешь ну и конечно да есть ограничение на количество потоков но конечно так часто
01:22:27 - 01:24:28
это упирается тут скорее просто перфомансы этом стоимость этого всего в принципе системами штуки они просто обычно дороже ну обычно дороже чем то что можно сделать внутри языка но это конечно тоже зависит от многих очень разных переменных но в общем и целом немножко даже подошли наверно можно потихоньку совершаться давай еще поговорим вообще то что тебе в целом интересно ну может быть в плане развития может быть в плане того что непосредственно не связана с той рабочие деятельностью общих какую сторону ты бы
01:23:26 - 01:24:56
хотел развиваться сам как специалист я бы начал бы как бы и в сторону фронта и в сторону бэг-энда на самом деле я не знаю почему мне иногда кажется что мне хочется написать какой-то низкоуровневая приложение просто понять как все это все это реализовано на низком уровне низа почему класс так в принципе наверно все уже поговорили ну давай тогда немножко бегала скажу фидбэк потому что обычно я просто пишу федак после что необычная пересмотреть [музыка] мы слишком вот в целом я хочу сказать что ты очень круто разбираюсь с кодом ты
01:24:16 - 01:26:33
очень легко читаешь кот очень легко его пишешь то есть тот вообще плане работы с кодом ты понимаешь у семантику то есть ты видишь там знаю где заканчиваются границы какого-то выражения то есть там приклад не превращается в текст как иногда бывает начинающих разработчиков день там суть вид вместо кода просто какой текст тебя документ то есть ты видишь именно код как он семантически токсический устроен мир работа с ним принципе на этом же уровне в этом плане все очень круто вот что ну мне кажется достатком таким серьезным то
01:25:27 - 01:27:01
что ты начинал сразу уже с такой продвинутого уровня в плане там то что сразу начинал практически последних версий акта ну то есть современной всей инфраструктуры и иногда сам решишь том что ты знаешь что почему такие решения были приняты поэтому этом инструменте которые ты используешь ну и тогда показалось ты там не мешковато мнение например почему ну по устройству этого инструмента хотя да понятное дело что каждый инструмент хорош для свои задачи но все равно есть какие-то скажем так всегда нейтрально относится к
01:26:14 - 01:27:41
инструментам не получается если ты видишь какой то за этим символику развитию то есть почему мы там знаю перешли этом в c какую-то редакцию почему там и от редакции переходим знаю каким то другим решением там больше связанных похожими на что-то и активная как далее то тогда ну типа это все решение они становятся понятны если он писал но не потому реакции потому что чем вот так они могут выглядеть просто японии есть есть ну и принципе ты это используешь просто потому что так как бы но обычно надо вот или там удобно или
01:27:00 - 01:28:21
еще что то вот это не то чтобы сильная большая проблема так сильны и плохо но в принципе ты уже подходишь к с таким метла вам он не себе и тебе довольно скоро станет важно понимать где когда какой инструмент можно использовать почему инструмент устроен именно так зачем его сделали таким таким и собственно какие у него могут быть проблемы из-за того что его сделали таким потому что в принципе не какой-то степени полиса вы не там поджидать да круто что он храните данные в одном месте но храните данные в одном месте
01:27:40 - 01:29:02
это по сути дела такая большая единая . скажем так который все упирается . ты не performance и с точки зрения организации и потом мы думаем когда мы составили 1 местом дом как бы нам все это нарезать на кусочки то есть там используем сектор и используем модернизацию какую-то этого всего вот это так это неизбежный процесс для любого решения были так мы будем начала придумывать какие-то штуки которые будет увидеть как плюс а потом будем придумывать как избавиться от тех минусов которые мы понесли
01:28:20 - 01:29:38
вот и целом еще наверно в целом это всё не такое глобальное потому что остальном то есть торт касается твоих навыков видно что ты можешь писать код довольно сложно разбираться в коде ты большей части исполнены используешь концепции которые ты хоть примерно понимаешь вот то есть касаешься этими словами который ты не знаешь вот мой поэтому единственное что все это вата изучать именно инструменты так более прицельно во вторых планет почему они так основании чем их не сделали даже можно думать компании двигаться спасибо
01:28:57 - 01:30:46
как тебе вообще немножко да все о нем не слишком я утомил тебя да нет не утомил вообще никак что выдыхаете друзья выдыхаете всех получилось очень хорошо вы оба большие большие молодцы андрей огромное спасибо за твою сегодняшнюю экспертизу то что помог нам в проведении этого интервью васи ты сегодня был молодец прям огромный большие тебе респект и я вообще всегда респектую ребята которые соглашаются на личные собеседования как минимум потому что на это всегда такой кажется не рвя к для особенно те кто именно проходят
01:29:51 - 01:31:30
собеседование особенно если опыта какого то предварительного не было но как видишь все получилось и все получилось хорошо вот андрея так скажем с почином legacy пойдем дальше итак друзья я надеюсь что вы как раз наших ребят благодарите лайками и комментариями которые будут ребят подбадривают случае не потом зайдут в комментарии к этой записи пишите какие они молодцы это пишите там можно и критику писать на пожалуйста будьте корректными да потому что все таки такой интимный процесс мы вам показали вот и
01:30:45 - 01:32:02
подписывайтесь на канал и hex это подписывайтесь на канал и cisa сарна ставьте лайки активируйте колокольчик ребятам которые смотрели на странице sassari тоже большой привет огромное спасибо что вы на другом канале нас осмотрели давайте дружить аудитории то ну что ребята тоже очень много классного выходит на канале ну и всем огромное спасибо увидимся на следующих наших стримах и заходите завтра на свой коннор хикс это который пройдет тоже в семь вечера по московскому времени будет говорить про командную разработку вот ну
01:31:23 - 01:32:43
всё всем спасибо отличного вечера отличный всем неделе всем пока как пока
01:32:03 - 01:32:22