Подготовка к собеседованию на 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 каналы и чаты
Транскрипция видео:
так Ну что давай будем начинать Расскажи о себе немножко пока уже учишься проекте Меня зовут Алекса Алексеева 18 лет хочу программирование я не знаю уже какой-то три Наверное сначала в баке была а фронт вот уже год пробую что-то прихожу курсы турецки прошла JS и сейчас порядок прохожу ты говоришь мне предложили именно стажировку такие Ну пусть торговаться на пешкой окей а потом они начали совать 1С Битрикс и какие проекты на ножках что-то там использовал это сайт на реакцию был Где можно было искать Сергей на дошках добавлять
00:00:00 - 00:01:52
собственные сырки перемещаться между страничками Ну и я просто накидывали баллы за сырки был сайт для интерпретации анализов крови сайта состояла в том что пользователи заходят на сайт где у него есть форма и он может загрузить фотографию результатов анализов крови там где помощью этого Google Cloud Vision терапия считывала текст помощи регулярных выражений пыталась как-то что-то все обрабатывать забирала данные заносила форму данная проверялись на сервер с помощью я пыталась сделать алгоритм машинного
00:01:30 - 00:03:08
обучения чтобы эти данные обработались вернулся результат и Собственно уже пользователь отобразился результат на сайте сейчас это не смогу показать просто потому что меня ломанули именно ключ Google мне помогали в питоне потому что впервые столкнулась нужно было что-то делать я понял окей хорошо тогда будем начинать Сейчас Саша с тобой по джессу вопросики вначале будут а потом задачки порешайте Давай с тобой поговорим тогда про Фолз и значения понятен вопрос или нет Что такое Отлично Хорошо смотри вот я хочу
00:02:18 - 00:03:46
получить список например ключей и значений вообще вот я хочу ключи получить Как я могу объекты получить это все наверное просто ты форин имела ввиду до перепуталась это значение как можно получить значение объекта между помощью чего он сейчас первое что пришел голову просто пройтись по ключам и с помощью ключей получить значение Да еще [музыка] можно в принципе получить как личность [музыка] Может есть такого возвращает массив и ключей значение то есть там ты можешь тоже как-то нормально там время можно циклом я думаю
00:03:37 - 00:05:00
если это знаешь уже Хорошо смотри как проверить Из какого класса был создан например объект у нас есть такой метод Может ты знаешь его класса Например у нас есть вот класс там например Animal класс какой-то другой животное которое экстрендится от него Как мы можем узнать реальному с от него или нет он следует от него он или нет [музыка] более такой прям легкий способ интуитивно [музыка] Что такое и я это функция которая вызывается мы себя в старом синтаксисе использовалось еще Круто а не помню заворачивается потом еще круглые
00:05:02 - 00:06:47
скобочки в конце точка запятая обязательно для чего вообще вот знаешь их использовать раньше раньше синтаксис не позволяла что функция сразу сама вызывалась и немножко не так там были раньше Вары которые просто вот да были видны видимости была другая Поэтому чтобы у них функциональная область видимости чтобы ограничить уже создавали такие отвертки используем как было конс поэтому уже такой используется еще но очень редкий кейсов а вот у нас есть два объекта как бы ты их сравнивал вообще да как один из вариантов Ну если ты прям
00:06:35 - 00:08:03
уверенно в своем объекте никаких сложных не будет то можно быстрее еще можно Ну рекурсивное до пробежаться просто измерять все ключи все и все остальное и значение то есть Так ты никак там ну не сравнишь по-другому это больше такое на подумать тачка как будто это просто самореализовывал Но есть такие знаешь владыши кинуть Функции там я не помню как называется скинуть язык что мы такое который просто сравнивает два объекта сами под капотом можешь посмотреть как они вот реализованы и подумать как это
00:07:33 - 00:08:36
работает вообще Хорошо давай как вообще мы можем проверить вот является наше значение массивом Поверь не можешь говорить что возвращает хорошо [музыка] а можешь рассказать что такое рекурсия [музыка] а как ее вот предотвратить или Как предотвратить бесконечности Обязательно должна быть условия при котором она должна остановиться Да ну а еще может знаешь случай при котором даже если мод условия напишем все равно она может сломаться знаешь такие кейсов каких-то возможностях все правильно написано в
00:08:09 - 00:09:37
плане функции то есть OK но она все равно может сломаться Почему как еще остановились Ну смотри Да вот и написала когда мы такое просто Задачка на рекурсию и Например у тебя все условия все правильно написано там Все круто Все работает например маленьких числах вот на Большом числе все равно рекурсию может сломаться из-за Чего как ты думаешь что может происходить просто переполняется все курсы все время запоминается нас память если ты очень напишешь что оно постоянно будет запоминаться запоминаться запоминаться И
00:09:21 - 00:10:31
в итоге переполнены память просто сломается тоже даже если тебя все правильно написано хорошо поговорим Расскажи сначала Просто может что это для чего это и зачем это нам вообще Мы работаем получается с элементами веб подожди в ту степь вообще еду я пока не могу понять Скорее всего нет но это про цыпа цикл событий вот асинхронично грубо говоря для чего это Ну есть основной поток есть Да а вот для чего вообще можно мне надо например Пусть синхронный будет Зачем оно вообще тогда мы должны дождаться нас придет данные
00:09:59 - 00:11:46
[музыка] и продолжать кот когда может кот идти сам по себе смотри есть у нас еще микромака тоски что это вообще обычные тоски Мы же знаешь Расскажи да да микром 30 есть промисы есть синквейт есть колбеки это немножко не про то наверное Ну какая у нас очередность тоже может по-другому немножко вопрос тогда задам тебе какая у нас очередность выполнения Например у нас есть обычный код просто обычный твой синхронный код есть например кинуть promises интервалы с этой мауты как это вообще будет работать
00:11:02 - 00:12:27
как она будет распределяться по очереди после выполняться и все остальное [музыка] что еще Ну промес да Ну ты можешь Поверь не говорить Просто мне интересно было послушать как это вообще Вот это работает хорошо Расскажи тогда давай промес поговорим что это и как раньше раньше мы использовали [музыка] вот место калдеков у них есть он возвращается какое-то значение случае resolve и ошибка случае реджета [музыка] кроме [музыка] что про них можно сказать состояние может назовешь Какие состояния не могут иметь
00:12:05 - 00:13:48
[музыка] сейчас яйца название не вспомню хорошо А знаешь вот кроме соло Как работает Что это вообще кроме золота она принимает по моему себя на всех промисов и возвращает результат всех промесов тоже плохие потом есть промез там что-то выброшено что первое решится то она и вернется [музыка] что мы получим тогда в итоге Нет мы получим вот есть другой метод может знаешь про Мисс олсет вот он вернет уже просто массив И там будет лежать значение и пол-филд и реджект Поэтому если нужно чтобы что-то выполнилось лучше использовать этот
00:14:03 - 00:15:38
метод если нужно чтобы прям сто процентов результата ты используешь кроме совы хорошо отлично смотри у нас есть вот фич запрос можешь его отменить то что я должна словить ошибку нет не про ошибку тут просто если не знаешь это интуитивно не догадаться есть такая просто класс аборт контроллер с помощью него ты можешь это сделать Почитай больше используются [музыка] точно должна была да то есть там это было может посчитали разбери Хорошо смотри у нас вот есть интервал с этот интервал Как мы можем его
00:15:37 - 00:17:07
установить там есть тоже столб интервал или что такое когда мы присваиваем значение переменной какой-то интервал и там вот есть функция там где скобочках указывает что нужно прервать что мы получаем когда вот например Мы создали Как ты говоришь значение что нам приходит тогда в этом значении что это вообще такое это переменные Да что у нас будет лежать что-то равно с этим Да вот что нам вернется что нам возвращает интервал результат функции нет обычно создает он стоит интервал Да просто хорошо таймера вот это вот да да
00:16:52 - 00:18:33
Вот так мы можем наследоваться от классов помощью какого-то же оператора класс Хорошо давай с тобой еще поговорим немножко наверное про mapset можешь рассказать что-нибудь пройти вот два две коллекции можно сказать для чего они нам вообще В чем отличие между мапами объектом обычно ключ [музыка] наверное интересно тоже можно говорить потом между мампом и объектом обычно отличие а что в объекте может быть ключом помимо строки то есть строка может быть что еще может знаешь функция Нет нет А это символ символ символы
00:18:02 - 00:19:49
то есть маппе между отличием между матом объектам в том что мы можем например в Мафии ключом сделать какую-нибудь функцию или объект другой так хорошо давай скинем ссылочку немножко пишем код поговорим здесь код мы не можем запустить Я просто там проверю В другом редакторе здесь без подсказок то есть писать привет максимально ручками к сожалению ключами и значение у него и мы должны сейчас пробежаться по этому объекту и в значение записать перевернутый ключ чтобы пробежаться по объекту и записать
00:19:22 - 00:20:50
перевернутое значение ключа чтобы его значение уже CB Понятно или да Наверное мы даже сделаю это мне вот куда [музыка] уже через Форекс И что он Джек надо писать что ты хочешь сделать просто чтобы мы обсуждали не молчали [музыка] Сейчас я подумаю здесь ты хочешь пробежаться по ключам в принципе строку Ну ключ взять как строку [музыка] как массив потом массив реверсность в принципе как вариант То есть это не сильно страшно Главное чтобы оно работало потом когда я справлюсь тактические ошибки все
00:20:24 - 00:22:14
как реверснить есть же готовая функция реверсом есть функция revers у массива просто сейчас надо как-то в этой войти поэтому значению переписать его то есть достать этот грубо говоря заменить его на перевернутую срок куда [музыка] и там объект Сейчас я проверю что работало и потом посмотрим как нужно это префакторить да все работает Просто Джонни еще надо было добавить здесь строку хорошо А сможешь сделать вот без разбивки на массив как это вообще делает подумает как это можно сделать строку ты не можешь перевернуть чистую
00:22:09 - 00:23:41
методами именно ты можешь перевернуть методами сделать с конца пробежаться Просто ты напишешь не напишешь попробуй может быть создаем здесь какое-то значение и это значение перезаписываем сюда все и попробую сейчас в это значение положить перевернутую строку как бы ты это вообще с помощью цикла делал именно чтобы работать со строками Да нельзя приводить к массиву то есть Ты просто должна вот именно со строкой обработать есть вообще идеи какие-нибудь может быть [музыка] строк внутри Давайте подскажу Ну есть цикл
00:24:18 - 00:25:48
обычный пример и мы можем его как и Сначала пробегаться по строке таки с конца вот у нас есть например кей Мы же можем по нему цикл for пробежаться мажем и можем с концом можем в конце пробежаться Ну вот мы же можем с конца пробежаться и просто вылью там через плюсик приплюсовывать строку с конца и собирать ее потихонечку первая буква потом C и так мы собираем строку сможешь написать попробовать а нам нужно у нас уже есть ключ ты сейчас должна уже тогда получается чай должно быть кей длина ключами
00:25:27 - 00:26:59
Давай Да давай в принципе я хочу что И использовать как индекс строки то есть тоже это стерлинг [музыка] и меньше чем нет больше и получается и минус Минус [музыка] и тут уже у нас была строка не заработает код потому что у тебя сейчас как ты возьмешь длину подход правильно Ну и допустим действительно так будет работать немножко ошибочка здесь здесь -1 Потому что А точно сейчас проверю Да класс так хорошо смотри у нас есть Задачка еще ниже 1 здесь реализовать функцию Так у тебя есть например какое-то слово домик
00:27:12 - 00:29:10
лежат справа в массиве индексы нам строку грубо говоря привести минусы То есть я должна вот есть здесь циферка 4 Да это у нас 4 индекс поэтому у нас буква идет первая потом первый так собрать новую строку грубо говоря Ну что же сейчас максимальная просто сделать правильно Потом уже поговорим насчет Как можно сделать более красиво можно через редис принципе если вспоминаю еще как он работает есть предыдущее значение там не просто как они обычно подписываются там элементы аккумулятор более читаемые элементы
00:29:16 - 00:30:53
l'okk пишет обычно АЦЦ Это еще по моему так и у нас [музыка] использовать просто интересно нет часто путаюсь Я просто знаю что если бы я использовала for Я всегда могу использовать радиус Ну ты можешь вообще использовать всегда мне кажется я фар я его не люблю я пытаюсь с него всегда избавиться Ну понятно ты должна там использовать уже если ты пишешь на реакции то ты используешь не будешь никогда вообще используется Просто таких уже задачках то есть for это Фора или это идеальное решение сейчас
00:30:16 - 00:31:45
что-то из этого будет правильном пути в решении и здесь или как она работает [музыка] так надо было еще можно просто территориями сразу вот вот так хорошо это работает Давай попробуем написать тогда через for я думаю это будет более понятно да Зато 1 строчка Мне кажется тебя сильно на квадрике нет благодаря за одну строчку через редис думаю это наоборот сильно расстроится Ага сейчас я еще раз в них задание давай так тогда все классно Я думаю так более читабельно не знаю как для тебя в одну строчку
00:31:26 - 00:33:21
так хорошо про сложные здесь расскажешь по памяти по скорости вообще и как это работает может знаешь память сложность Ну алгоритм Я имею ввиду один раз проходимся по массиву правильно это будет [музыка] Ну да сможешь объяснить почему интуитивно можно подумать почему Ну туда тут просто у тебя может быть тоже в некоторых кейсах когда у тебя одна строка это какой-то букву одну добавила это уже будет не odn просто здесь прикол в том что мы просто Составляем не переставляем Да у нас просто пришла длина там то есть
00:34:31 - 00:36:08
грубо говоря домик Да там длина 5 символов грубо говоря мы по ним пробежались это скоростью и память почему-то потому что мы новую строку объявили и собрали в такую же длину поэтому это тоже вот лично в принципе на этой секции Все сейчас Антон уже перейдет к тебе с вопросами реакцию Все спасибо было круто пожалуйста может быть знаешь какие-то способы как можно визуально скрыть элемент чтобы он был доступен только для Screen Reader и что нужно указать в юзабилити н по-моему Да еще какой-нибудь способ
00:35:47 - 00:37:12
дисплей Нет она можно этот сделать абсолютное положение в принципе с помощью этих топ переместить элемент скрыть Вообще его за пределами Как вариант высотой со стилизации [музыка] я не вспомню если хочу Border поменять то какое там еще есть свойство [музыка] не вспомню там такой строк есть это место бордера так Окей а вот видела когда-нибудь когда Медиа Ну медиатор пишут то там добавляет такую свойство его скрин может быть знаешь какие-то другие еще кроме скрин то вообще Вот это скрин делает вроде бы Медиа он рискнин пишет
00:36:54 - 00:38:50
я не вспомнить честно подожди можете вспомню В общем будет этот Медиа так применяться вот когда скрин ты пишешь для цветных мониторов компьютера вот там есть еще Принт то есть будет применяться только может быть вспомнишь тогда что еще там есть принты там еще два есть [музыка] если не знаешь что не будем гадать там есть спич это для синтезаторов речи и для всех устройств [музыка] position можешь рассказать что-нибудь много чего про позицию с перечисление что там есть у него за свойство position абсолютно
00:39:15 - 00:40:58
[музыка] окно давай про разницу может [музыка] Я знаю больше есть такое [музыка] разница Разница то есть Fix от у тебя будет относительно окна именно позиционироваться а стикеры грубо говоря такая смесь relativa и фикса я поняла Так хорошо Тогда давай еще с такого самого популярного вопроса Какие способы знаешь как можно отцентровать элемент по центру экрана прям по двум осям с помощью [музыка] [музыка] туда надо указать [музыка] а можно поиграть наверное с позишн прилатив у родительского и position
00:40:48 - 00:42:58
дочернего и уже топ и Left по 50 процентов это как раз таки в дополнении к трансформ translate То есть тебе нужно чтобы делать его Абсолют и вот это вот все вместе Она будет центровать так Окей сразу все Давай еще что-нибудь что вообще такое typescript И зачем его используют знаешь типа Невер они и это твой так вот здесь какая-то общая функция нет У тебя есть какая-то общая функция и у неё То есть ты не знаешь какой у него может быть значение но входной параметр одного параметра генрики можешь про них
00:42:58 - 00:44:38
это они могут что про них можно сказать куда приниматься это функция не функцию функции нельзя Ну функция это один пример Давай еще один пример какой-нибудь вот в работе с реактом приходилось ли тебе пользоваться дженерики там с компонентами Может с руками каким-то Наверное я где-то использовала В общем в каком-то в кастомном хуке тоже можно с помощью дженериков там типизировать давай про iPod интерфейс в чем разница [музыка] лучше использовать [музыка] [музыка] по-моему Нет там тоже можно можно да
00:44:36 - 00:46:22
[музыка] по сути по одной из таких основных отличий это наследования вот по-моему это сказала Да сказала про утилити types может быть что-то слышал Вот как раз таки к вопросику то что ты говоришь в интерфейсе вопросик можно сделать как сделать те вот эти свойства интерфейса не обязательными не используя вопросика называется и то есть ты просто свой этот интерфейс обернешь у него у тебя все которые будут станут не обязательно Ну там есть одни из таких популярных
00:46:37 - 00:48:06