Подготовка к собеседованию на 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 каналы и чаты
Транскрипция видео:
немножко где учился там короче все что Короче дело было так где-то осенью 2021 года я решил ввязаться в это все неблагодарное дело под названием программирование вот начал искать Где учиться конечно же смотрел всякие обзоры на скилл боксы брейнцы Вот но Куда В итоге решил не ходить и каким-то чудесным образом наткнулся на такое сообщество Роулинг [музыка] потому что вот именно когда я нашел Их там как раз начинался первый Stage вот я на него типа зашел и понял что как бы я еще слишком ничего не понимаю
00:00:02 - 00:02:29
и решил дождаться ближайшего нулевого ну и плюс это время я тоже там чуть-чуть собирал информацию вот я с нулевого начал прошел нулевой прошел Вот первый и второй Stage вот окончил уже реакт потом уже сам учил в итоге я понял потому что в целом Я понял все что нужно знать все что нужно куда короче нужно смотреть куда копать С какими ты с чем еще работал кроме акта может быть С какими фреймворками еще может что-то интересное был плотно потому что я тут как-то раз наткнулся на вакансию мне предложили сделать тестовое
00:01:34 - 00:03:17
задание но мне не понравилось я понял как ты давно вообще работаешь Как давно работаю еще практически Ну я начинал еще когда в России жил искал работу Там там я ничего не нашел но я тогда я особо и реакт еще не знал реакт я уже так уже не в России выучил в целом это год учишься или меньше там в резюме больше я говорю я вот с сентября 2021 уже полтора года Ну окей хорошо Тогда давай будем начинать с тобой получается [музыка] Итак Просто пообщаемся с тобой Давай начнем самых простых таких просто размять тебе чтобы не скучал здесь Скажи
00:02:31 - 00:04:20
пожалуйста разницу LED conster fivar И постарайся как-нибудь максимально подробно про область видимости рассказать у них хорошо Ну во-первых ключевое слово для обозначения Ну все эти три ключевые слова для выключения переменных скрипте отличия между Вар и LED + const в одной кучке заключается до заключается в области видимости у у области видимости при объявлении переменной с помощью ключевого слова у нее область видимости помимо этого еще в чем отличие в том что при объявлении переменных через
00:03:40 - 00:05:26
У нас есть доступ к ней этой переменной до объявление до инициализации То есть если мы сначала напишем например вы например консоль Лог там а затем под этим мы напишем War A равно там что-нибудь 5 например то в консоли у нас будет undefine то есть ну он ругаться не будет просто они уходят если мы то же самое сделаем через то у нас ошибка выпадет ошибка ошибка Ну что сейчас помнишь как можно изолировать Мы хотим может Знаешь такое и функции которые самовызывающиеся Да вот помощи них ограничивали бары чтобы они не были
00:04:43 - 00:06:49
видны нельзя было с ним встречаться Смотри Вот у нас есть два объекта Как мы можем с тобой [музыка] мы знаем что когда ссылки на когда сравниваем то будет как бы ты вообще это делал просто ждать [музыка] нужно при сравнении выдала Можно например можно Можно также можно пройтись циклом по ключам каждого и каждого ключ Ну что ключ один Да я понял Или циклом или рекурсия в чем проблема вот у нас будет при сравнении 95 процентов случаев это будет все окей есть кейсы где это сравнение будет плохо отрабатывать
00:06:06 - 00:07:53
Ну это если в объекте присутствует методы как надо посмотреть сторону других типов данных [музыка] [музыка] Ну да грубо говоря мы можем его обмануть положив в один объект значение там ключа не обмануть тебя просто ты можешь не знаешь что объект есть какое-то поле например она тебе приведет его к строке и у тебя будет лежать просто значение в виде строки там будет отдыхает она будет лежать строке и ты будешь сравнивать это будет не равно в одном объекте Поэтому да может быть ошибка то есть тогда не сравнится правильно
00:07:32 - 00:08:55
внутри как бы ты скопировал например объект в другой помощи опять же как вариант Дальше можно Я на память не помню какие он аргументы принимает но его но скопировать еще можно как тем же циклом можно пройти с проектом например да Если возможность небольшая Да класс смотри как мы можем про контекста чертовать Может рассказать как мы можем поменять например Так ну еще раз вопрос Какой внутри у нас тут есть Как мы можем поменять [музыка] [музыка] ближайшую область видимости пол Вроде бы да Круто смотри у нас есть Вот например метод
00:08:56 - 00:10:45
Кола Playboy Да И вот в чем между ними например отличие даже чем отличается тем что там в параметрах он принимает просто Объект который нужно забанить кто к тому или иному методу он принимает массив объектов Вот и какой-то из них опять же я тоже так редко их использовал какой-то из них Отличие в том что какой-то из них [музыка] они эти методы вызывают сразу просто аргументы [музыка] то есть они отличаются в том что в этом разница хорошо отлично давай тогда поговорим с тобой про аргументы функции вообще мы можем как-то в эту
00:10:55 - 00:12:43
функцию узнать вообще длину аргументов например есть три аргумента там А мы как-то можем это узнать внутри узнать сколько аргументов приняла только аргумент внутри функции есть массива подобный объект называется вызов у него свойства [музыка] есть вот у нас стрелочные функции есть обычные функции то есть ключевые моменты разницы ее можно вызывать до на всплывает в отличие от стрелочных функций вот и опять же да Самое Ключевое одно из ключевых отличий в том что у стрелочной функции нет своего контекста
00:12:16 - 00:13:55
своего То есть если мы вот например хочу сделки сделать Колл там и привязать другой объект То есть это у меня не получится стрелочные функции привязать контекст это получится вообще нет хочется сказать что нет будешь знать [музыка] так пропустим вот есть смотри у нас у ивента такие методы Привет дефолты Стоп пропагашена в расскажем Привет дефолт это метод который отменяет привычное поведение при попадании срабатывания этого события Ну как Например часто используемая вызывает дефолт при сабмите формы
00:13:47 - 00:15:32
отменить поведение например [музыка] [музыка] [музыка] [музыка] сейчас как-то объяснить Ну он в общем-то отменяет это всплытие Ну да правильно то есть логическим мире могу рассказать Например у нас Давай есть например у нас есть модальное окно которое всплывает Да на странице занимая всю площадь страницы и мы хотим сделать так чтобы при нажатии только на затемненную область вне этого модального окна это кликнем области модельное окно закрывалось если мы просто повесим события на эту как бы на фон модального
00:15:37 - 00:17:28
окна то он будет срабатывать в том числе и при нажатии на самом модальное окно мы должны на это событие повесить [музыка] с помощью Перемен в центре массива например да у меня там 1 2 3 4 5 я хочу тройку удалить мы знаем индекс до этого массива можем применить метод splace например явно вернет просто Блин вот это я не помню опять же я обычно я не пытаюсь тебя Я не пытаюсь тебя закопать Я просто Я честно там эти методы Я некоторые помню редкие я не помню это мутирующий метод [музыка] мутирует либо еще Кстати
00:17:02 - 00:18:53
может не самое через фильтр Ну конечно внутри у нас есть свойства вот объекта как мы вообще можем запретить добавлять свой объект может знаешь что-то методы по-моему там есть метод Фриз обжиг Фриз Да есть такое объектив понравится Смотри Вот у нас есть Как мы можем сохранить в рамках неё информация [музыка] [музыка] в чем может быть разница между насколько я помню в объеме хранилища А где больше вот этого ну большие данные Где бы ты хранил например наверное в куках [музыка] Хорошо давай тогда дальше пойдем с тобой
00:18:35 - 00:20:27
Смотри вот Какие способы работы [музыка] в состоянии не разрешен отказом А какие мы знаешь статические методы промеса мы написали промиз только и какой-то метод есть кроме [музыка] можно сказать вообще [музыка] массив массив промисов вроде бы возвращает возвращает как бы resolve Когда все промисы из этого массива возвращает Когда первый тоже принимает себя массив И реализовывается когда самый первый из этих Андрей он сказал что если будет когда кроме сел если один заряжать чтобы нет вроде чтобы точно не знаю но скорее всего
00:20:20 - 00:22:29
просто пробес весь промес тоже за реджептицы вот мы теперь подходим так вот Может расскажешь про него что-нибудь нет я не слышал про такой Ну вот у него в чем проблема в чем плюс что если кроме заряжать результат и там будет лежать допускается такое что что-то хотя бы может использовать конечно есть функция мы должны она должна работать [музыка] ну выглядит как создание промеса нет У нас вот есть функция пишет вот все как она будет работать принимать миллисекунды Да вот миллисекунды время динамически его
00:22:47 - 00:24:21
менять как бы ты видать [музыка] [музыка] [музыка] это не смотри может быть 10 [музыка] Ну да пиши пиши код будет смотреть правильно Нет думаешь эти миллисекунды и [музыка] например домашнее здесь вывести просто там hellow например [музыка] работала допустим код все работает Можно немножко сократить [музыка] если ничего вырезал И не надо ничего массив чисел Да они отсортированы нам нужно на выходе получился как-то момент можно улучшить вообще как бы ты начинал делать Может рассказать даже не будем писать код А ты скажи
00:24:09 - 00:26:06
вообще если идти в лоб можно промабиться по массиву и в общем-то методом сорт сортировать его ввести [музыка] [музыка] сиди молчим как-то грустно вот я часто бежит вам массива массиву и возвращаю квадраты каждого момента возвращает новый массив И этот массив мы и отсортируем отсортируем мы его не до самого отсортировал чем бы его как-то неправильно сортировал бы [музыка] Ой что же такое можно запускать Можно я нашел вообще провод сложность может алгоритмов что-то знаешь или немножко что-то знаю
00:27:42 - 00:30:04
Здесь у нас вот какая сложность Как ты думаешь Ну вот есть когда мы сортируем сортировка Нет я точно не знаю но это в квадрате Ну куча случае просто нам вот внутри здесь условия сделать нужно один проход скорости можно улучшить сильно в квадрате сильно хуже чем просто как бы ты делал где-то есть какие-то Есть идеи Может у тебя так [музыка] потихонечку накидывать Может я тебе буду говорить просто можно бежать по массиву и сначала из Конца Что такое знаешь разобрать и проделать я буду объяснять говорить Будем писать
00:30:25 - 00:32:21
Например если Ну опять же только через предполагает что хочешь вообще максимально прям говорить только думаешь мы внутри у нас есть аргумент мне подсказывает [музыка] ничего страшного сам массив это у нас оригинальный массив Да нет тогда моя догадка не сработала Давай может я тебя буду сейчас потихонечку писать наводить можно у нас есть например там будет левый указатель Да он идет нулевого индекса разобрать Ну просто Это не тривиальная именно решить оптимально через сорт Она легко решается вот у нас есть
00:31:51 - 00:33:31
[музыка] потом мы создаем результат [музыка] здесь мы смотри что делаем сразу У нас есть внутри левое значение Да давай тут же минус надо поставить смотри мы сразу находим левое значение Да вот здесь подводим мы можем получить с тобой по мотиву у нас здесь сейчас лежит число потом мы создаем с тобой правое значение [музыка] больше права то мы должны это значение будем немножко по-другому объясню Вот больше правого значения Я просто с тобой сейчас будем консолить разбирать здесь мы должны записывать врезал по
00:33:05 - 00:34:46
индексу значение просто объясню сначала проделаю и указатели увеличивать на единичку и то мы делаем смотри у нас первое значение приходит например [музыка] мы с тобой сравниваем если 16 сейчас 16 больше ну меньше получается да объективно здесь у нас вот это ойка лежит последний элемент Мотива это у нас вообще 01234 четвертый элемент массива и мы по четвертому элементу Мотива получается записываем цифру 100 Получается вот он сортируется вот у нас лодка здесь лежит потом мы идем уже поэтому уменьшаем
00:35:11 - 00:36:46
здесь право показать И теперь у нас правом значение уже лежит число 9 а левое значение таким же стоят то есть теперь мы сравниваем левое значение 16 больше 9 соответственно мы теперь врезалась третий индекс приходит здесь меньше число тем оно получается будет больше и получается что мы один раз делаем проход по массиву и новый получится [музыка] Поэтому да то есть Ну конечно может быть сразу непонятно на самом деле Ну не совсем понятно да и зайти ризал ты а мы записываем прикол в том что надо во-первых
00:36:24 - 00:37:53
разобрать и просто разобраться что здесь происходит Почему вот левое значение мы просто сравниваем она приходит больше и мы значит соответственно записываем следующие элемент массива уже это значение но сама по себе сортирует здесь получается нас при первом проходе будет последняя потом здесь будет уже идти 16 потом 10 -1 -39 соответственно самом деле если сидишь посмотришь потом приходит достаточно скорость очень сильно увеличивает [музыка] [музыка] хорошо вот Давайте попробуем сначала максимально как ты видишь вот топорно
00:37:29 - 00:38:59
решить просто ну понять есть на палиндром или нет если плохо палиндром то возвращаем если нет такого самое такое опять же в лоб решение это [музыка] блин представляешь я забыл метод который [музыка] [музыка] но здесь вот с этим не работает так сейчас подожди Ну я вижу тут просто ошибка на такая знаешь но ты не ошибся просто а можно мы как-то сделать вот указателя бежать Вот и сначала из Конца как то можно подумаем Давай попробуем точнее слева указатель это 0 элемента право указатель мы их можем сравнивать мы можем идти
00:38:38 - 00:40:15
слева справа одновременно каждый итерации мы собственно будем сравнивать Да просто ответ подумай как бы это делал Ну смотри Давай я попробую написать просто давай конечно здесь Ага общаться Нам же нужно вернуть булево значение то есть мы каждый А так все я понял Мы мы сразу например ретернем Здесь внутри если [музыка] правильно [музыка] [музыка] а нет подожди нет час сейчас я чуть-чуть просто нам-то нужно оборот если они не равны выкидываем [музыка] и в конце концов мы лев [музыка] а если у нас
00:41:02 - 00:43:27
нечетное количество это тоже сработает конечно в общем-то я запущу этот год да сработало на класс может еще может быть здесь например с тобой регистры как бы ты это делал например переходить под верхним регистре в Нижнем регистре это мы просто будем на каждой здесь мы будем делать [музыка] [музыка] еще одна переменную Где ты будешь использовать уже приведенные формата string там равно string to lovercase и далее уже используешь тут формат Окей работает Если я делаю например пробелы там поставлю точки
00:44:44 - 00:46:32
И вот так давно пропустить все остальное [музыка] как-нибудь регуляркой в этом цикле Как можно Вот это исключение например Чтобы ты делал смотри что мы можем это надо сюда же их куда-то не сюда вот достать точку проверить Например у нас лежит [музыка] смотри Как мы можем объекта вот получить например нам здесь пришла точка можно делать участок вот я тебе такую ты делал дальше сейчас я если обжиг Ну если такая логика Вот если у нас сейчас например придет двойка отдыхает Ну да если точка он вернет
00:46:30 - 00:48:34
я понимаю в принципе вот этот объект тебе сейчас здесь например сейчас бы мы ввели запятую чтобы да и восклицательный знак Ты просто бы добавил объект Ну конечно там когда тебе прям какие-то данные это может прийти все подряд конечно это регулярка здесь нужна точку например регистр ты можешь принципе это сделать Я думаю так будет более чище я решал код варса сейчас не решаешь сейчас как-то что-то забросил просто Ну тут решение сам понимаешь есть решение ради решить А есть решение подготовиться к собеседованию сделать это оптимально
00:49:12 - 00:50:25
Потому что когда ты придешь на собеседование но просто матом Если же там это компания большая [музыка] [музыка] Расскажи может быть какой-нибудь самого сложного которые реализовывал а мы сложную задачу которую я реализовывал я к сожалению так не до реализовал Но что за она была хотя бы расскажи но там она связана скорее даже не с реактором с анимациями Но это вот на курсе было был проект назывался нужно было написать что-то типа не игрушки в общем приложение где которая генерирует там разноцветные машинки и ты их можешь
00:51:11 - 00:52:45
запускать там по пять пять машинок на страницу к ним приходит скорость и они с этой скоростью должны проехать вот всю ширину страницы и скорости по рандомно сбега приходит для каждой машины [музыка] во время как бы Когда типа запустил эту гонку с бэка еще может тоже рандомном порядке прийти к любой машинке может прийти типа окна двигателя с помощью чего ты от реализовал exedes какой-нибудь Да нет я без дополнительных библиотек Я просто этим [музыка] понял но нож там типа соки там подключить первый запрос
00:53:03 - 00:54:56
[музыка] Нажимаешь кнопку запустить и в это время Машинка уже едет [музыка] он еще не пришел у нас на твой запрос типа то есть ты отправляешь второй запрос в момент клика на запустить Да я понял и там уже как он отработает если он приходит что он типа все клёво машинка как бы заканчивает свою поездку и финиширует А если какой-то ошибка вылезает типа машинки Сломался двигатель я понял Ну окей давай короче так яхту начнем с простых вопросов Дом расскажи что-нибудь для того чтобы не производить лишние
00:54:35 - 00:56:17
манипуляции с реального [музыка] и потом уже когда всё что нужно сделано это применяется для чего вообще это делать то есть но можно же напрямую взаимодействовать с домом для производительности для лучшей Ну не могу ответить точно и прямо для того чтобы типа Не перерисовывать дерево а именно кусочки пользователю взаимодействует Но если прям так Окей вот когда ты работаешь с какими-то списками Да тебе обязательно нужно указывать кей для чего это делается [музыка] вообще какое значение должно быть
00:55:59 - 00:57:39
Да это уникальное значение Да а вот индекс У нас есть когда мы к примеру маппинг это массив у нас там есть индекс Можно ли индекс использовать вообще Конечно же можно но это не рекомендуется Потому что при добавлении и удалении из этого списка узлов все индексы смещаются то есть уже Ну то есть эти ключи получается будут меняться одного и того же какой-нибудь может быть пример знаешь когда индекс норм исходя из помещения когда мы знаем что максимум вообще не добавляться Просто он будет Так давай про хуки поговорим
00:57:21 - 00:59:06
расскажи вообще их с какими руками Ты работал и потом уже более подробно интересующим посмотрим А может все перечислить работал сьюз стоит [музыка] вот эти редакторские [музыка] [музыка] [музыка] Ну какая-то переменная состояние второй элемент это функция для изменения этого состояния В каких случаях вообще будет перерисовываться компонент но при изменении состояния если используем при изменении пропсов по моему тоже перерисовывается [музыка] Это все что я могу ответить Хорошо теперь про хук из колбек ты
00:58:44 - 01:00:39
говорил вот как мы можем оптимизировать какие-то перерисовки вот к примеру в работе с тем же списком У нас есть какие-то элементы и мы там удаляем добавляем делаем Ну если у нас идет работа с каким-то большим объемом данных например мы можем обернуть тоже сам список при Ну как бы результат какого-нибудь запроса который возвращает который измена ну Не давай поговорим вот нас примеру есть какая-то функция которая при нажатии там на кнопочку дергается и удаляет элемент из списка большого вот у нас есть эта функция
01:00:53 - 01:02:30
находится у нас в родительском компоненте и соответственно когда мы вызываем эту функцию нас перерисовываются все элементы которые из этого списка Как нам сделать так чтобы не было Да у нас будет при каждом вызове будет разная ссылка на функцию и она будет изменяться компонент будет пересолент про мемы слышал это компания то есть Нам нужно вернуть дочерние компонент Мема и вернуться из колбак эту функцию и соответственно Когда у нас это будет связки то дочерние компоненты не будут перерисовываться
01:02:02 - 01:03:31
вот так Ну окей давай тогда скажи Каким быть может реальные применения вроде как Ну компонент отдельный которым оборачивается все приложения и можно не все приложения оборачивать что еще не все приложение оборачивать не всё ничего Вообще типа делают редакцию вот этот все проблемы Она решает проблему хранить управление состоянием грубо говоря сверху [музыка] приложения [музыка] [музыка] те данные которые мы запихаем в контекст мы будем использовать внутри того что мы обернем Ну да это логично грубо говоря такое локальный
01:02:59 - 01:04:55
контекстом если нужно там летом и компонентов каких-то вот можно так делать Какой Вот классный компонент используется до сих пор все же пишут стиле и какой один компонент реализовывать с помощью класса может быть знаешь что [музыка] с ошибками связано что-то компонент Ну знаю да давай расскажи Сейчас мне надо жизненного цикла Ну комплект did Mount component World of Villa Mount когда будет перед тем как компонент будет ударил откуда удалить откуда удалять и Чтобы ты делал в компании [музыка] Ну можно тягать какие-нибудь данные для
01:04:58 - 01:06:56
например Ну да как вариант а в илон Mount чтобы к примеру делал Я например удалял какие-нибудь прослушиватели события если я их навешал навесил Так давай пару вопросов по CSS и потом перейдем к скрипту вот Какие способы изоляции стилей Ты знаешь [музыка] [музыка] элементы [музыка] более изолирован наверное это что ты имеешь на примере может какой-нибудь Ну например [музыка] если навесить кучу классов и но нет это дурацкий например то есть Ты типа будешь внутри какого-то класса перезаписывать другой
01:07:21 - 01:09:13
класс типа да совсем хороший вариант Еще в Джесси можно просто это подход для чего вообще это делать модуль для чего та проблема Пиши себе стиле да и все в чем проблема чем-то всякие модификаторы и прочую ерунду добавлять [музыка] То есть если например у нас какой-то элемент Ну для того чтобы грубо говоря можно было [музыка] взять конкретный элемент благодаря кнопку да и с этими стилями и в любое место можно ты же можешь так просто батом стиль назвать и применять этот Баден по всему проекту И вот теперь используемый
01:09:08 - 01:10:48
если у нас большая маленькая кнопочка Ну ты можешь сделать еще дополнительный класс внутри батона там Black и дополнительно накидывать вообще да В общем сделан для того чтобы не было геморра с этим классами что у тебя класс одинаково называют Вот и для масштабируемость И зачем он вообще используется скрипта для того чтобы у нас было четкое понимание какой тип тех или иных данных а вот с реактом примеру typescript robs можно использовать пробтайпс меня честно говоря мне стало интересно не только
01:10:35 - 01:12:11
остальные через которые ты там через те же дженерики Расскажи про дженерики на примере может быть каком-то можешь когда бы ты использовал Ну если например мне нужно типизировать что-то то я знаю допустим например объект в котором я точно знаю что там например один из ключей может быть как строкой так и числом поставивший ли string или Number и загнал меня в угол Ну в общем к примеру тебя это как бы как обобщенный тип ты можешь создавать например какие-то функции вообще с разными типами Ну такой
01:12:06 - 01:13:48
привел но слишком простое то здесь можно просто обойтись или то или то вот если у тебя там какая-то функция глобальная и она может сложным объектом работать этот объект всегда разного типа то есть и ты в одном месте Ты передаешь один типа во втором двое теперь это позволяет тебе делать дженерики Вот про утилити тайп что-нибудь слышал слышал расскажи какие Знаешь какими работал знаю есть что-то вроде [музыка] тебя есть два объекта в одном объекте у тебя опять другом и как вот и у тебя получается
01:13:24 - 01:15:02
тип один который для объекта у которого 5 свойств и как тебе применить этот же тип для объекта у которого 4 свойства Я просто да я говорю короче он Ты просто передашь первый Тип и втором вторым типом передашь то что вы ну типа вырезать или да то что вырезать и он получается вернет тип без вот это вот свойства который ты передашь да А какие еще там есть и клайрат ты говорил Понятно Интересно [музыка] как это можно сделать без то есть не писать Возле каждого проб-са-вопросик как это сделать без вопросиков
01:15:00 - 01:16:41
это тоже ты меня подводишь к какому-то utility да Да скорее всего есть какой-то такой который я не знаю Так ну окей давай вообще поговорим закончим поговорим про гид Расскажи может быть что ты знаешь про gitflow не будет Давай начнем с того что такое гид для начала потом [музыка] и Единый Центральной версии вроде что-то такое Ладно я не буду Сам себя тоже закапывать сейчас до того что ты сказал достаточно ну давай про git Flow поговорим Нет я не знаю Ну я могу предположить что давай предположим как у тебя вот
01:16:33 - 01:18:11
командная разработка как ты должна быть и как вообще ты думаешь что она строится могу предположить следующее что создается несколько веток [музыка] и наверное потом в Main сливает все да Ну могу еще делают иногда релизные ветки то есть чтобы там условно там релиз там 150 у тебя какой-то и ты какую-то пачку коммитов заряжаешь в эту ветку и потом релиз vers vers твоей продавской веткой Вот хорошо в принципе Норм как вот у тебя есть такая ситуация Да ты пишешь разрабатываешь какую-то фичу да и тебе нужно срочно переключиться на
01:17:49 - 01:19:39
другую ветку какую-то Но есть один нюанс что комитить нельзя название что что где-то это все будет хранить Ты знаешь как команда называется где [музыка] Ну гид стаж Короче так Окей хорошо что Что делать если томит какой-то ненужный попал в Мастер ну или там в типа как его оттуда выцепить Да вариант как есть [музыка] он же он откатывает вот я не знаю он откатывает но он не удаляет он просто по моему ты можешь туда добраться и типа пофиксить и этот комит останется Как удалить коммит Слушай я наверное не знаю вот рецепт он
01:19:30 - 01:21:15
удалит отдельный или он всех МИД и до этого удалит через reset Можно да можно ты делаешь гид единичку reset минус минусов и потом можете по 2 2 комит и делаешь вот примеру уже создал там Power Quest запушил коммит и у тебя неправильные [музыка] Как можно копировать другой ветки использовал чипик когда-то или нет единственный раз использовал как-то раз было дело один раз Мне понравилось Так ну Окей в принципе все я думаю больше вопросов нет
01:21:15 - 01:22:54