Подготовка к собеседованию на Android 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 каналы и чаты
Транскрипция видео:
всем привет с вами андрей gold coast я кирилл розов сегодня мы делаем немного необычного формата на канале я проведу онлайн онлайн собеседование да мы постараемся полностью симулировать то какими сейчас стали собеседование в эпоху удаленке когда вы не можете физически прийти в офис и все происходит таким вот образом да мы постараемся все это прям делать так так вот таким таким таким прими примечает интересным опытом я надеюсь вам понравится вы можете накидывать свои вопросы мы постараемся сделать это все
00:00:02 - 00:01:19
следующим образом то есть примерно 7 сессия думаю займет у нас часа два мы стартанем с того чтобы начать собеседование провести все а в конце мы сделаем какой-то разбор плюс по отвечаю на ваши вопросы которые вас мысли могли возникнуть из того что вы увидели если вам это понравится поставите кучу лайков комментариев и прочим то тогда мы такое повторим спустя какое то время если нет то соответственно это останется уникальным контентом на канале давайте стартовать я вам представляю сегодня нашего
00:00:41 - 00:01:51
собеседника в его привет привет да давайте в общем стартовать вот привет меня зовут кирилл я тимлид в компании android бродкаст мы тут занимаемся очень крутыми штуками не могу тебе их разглашать у нас все под индией вот мы ищем очень мега крутого сильного себе сеньор android разработчика нам понравилось твое резюме вот и мы бы хотели соответственно тебя просто беседовать вот вов для начала расскажи пожалуйста о своем опыте про опыте в android разработке конкретно то чем ты занимаешься на последнем месте
00:01:14 - 00:02:35
работы в android разработке я чуть чуть больше наверное 5 лет на последнем месте работы я занимаюсь разработкой 1 частей приложения вижу маленькую команду там я еще 2 человека мы пишем одной из частей большого приложения повторяем и виде библиотеки другой команде которая уже делает имя само по своим предложением сейчас конкретно моя работа это много очень много работы с сокетом и [музыка] наверное таких ключевым это все много работа сокетом но этом немножко папку низации 1 лайк lamai inn одиннадцатом и
00:01:57 - 00:03:16
играемся что на слабых девайсах на киста там девайсы популярны ближе к азии то дальше что все работало красиво вот наверное несет есть небольшого подсказкам you ok расскажи пожалуйста а что именно близкие связанности твои входят близкие обязанности планирования scope of там на какое-то время ну так мы придем к в это время прямо там сами себе цель не знаю там да там 35 февраля зарелизить и вот такие-то и такие-то штуки в нашем случае например там поддержать новый спорт надо надо сделать вот мы это прикидываем ну
00:02:35 - 00:04:02
разбивание задач между командой то есть понятно что если ребята ребята два человека не разного уровня надо задачки немножко разбивать и максимально что я пытаюсь сделать это первое не мешать команде работать а второе делать так что другие люди тоже не не мешали работать а как много у тебя времени уходит на листва как много на разработку но в процент согнувшись сейчас наверно если так в руку наверное пятьдесят на пятьдесят то есть если взять все planning и все вот эти коммуникации коммуникации другими видами планирования новых фичей
00:03:21 - 00:04:35
вот это все и там какой-то базовый то есть десятки есть такие штуки около программистские которые ты вот не пишешь код android приложение а там компания на новые райнер и носи айки переезжают тебе надо свою соньку обновить соли работает там мы тут поменяли ход систему надо перепроверить все ли работает вот эти все вещи если все это вопросы мира наверно до 50 процентов уходит ok нов принципе я бы наверное в больше на завод и сдачи кот кот то есть явно припомни не лидский это ой не не разработчики наверное это правильнее
00:04:01 - 00:05:08
будет говорить типа пром-ти не будь то менеджмент чего нибудь там отчеты и прочее то что вообще никак не влияет на проект я в плане между никакого эффекта на проект не ведет то есть уткин про настройка ся этаж непосредственный эффект на проект в плане ускорение там не знаю сборки автоматизации работы это тоже задачи я с тобой согласен о святом что все то есть компания дает они знают например у нас систем битва проныры есть какой-то чатик в каком-то с лайки да где люди пишут чуваки мы тут скоро отрубим вот такие
00:04:35 - 00:05:37
вот runner и потому что мы вот и все перенесли на новый дата-центр google а ты не можешь добавлять всю команду во все эти чат и потому что ну не смысл то есть должен кто-то один кто будет читать все эти чат с апдейтами глобальные по компании там ребят мы грохнем вот такой tarte factory пожалуйста всех кто из этот артефакт ари отзовитесь потому что вы думаешь никто не юзает то есть каждой команде должен быть человек который ответственность за то что он читает эти часы что он мониторит апдейты он знает
00:05:06 - 00:05:55
куда это все движется [музыка] какой вопрос а ты слышал про компанию авито тех да ну и приблизительно знаю что это за продукт и тоже аналог алекса только ну да да ну чтоб ты знал что vita тех это генеральный партнер android бродкаст это замечательная команда инженеров которые поддерживают проекты которые в can трибетят много полезного в сообщество развивают их и вот один из них android бродкаст так что вот нас поддерживает авито тех да вот чтоб ты знал что они нам помогают активным и с ними очень
00:05:31 - 00:06:42
хорошо дружат классный ребят ну давай двигаться дальше до так смотри мы сейчас наше собеседование построим из нескольких секций мы с тобой поговорим немножко про язык программирование ну конечно будем говорить про котлин потому что я не вижу смысла говорить про джаву пишем мы на код ли не тут прямо все все все новое свежего используем вот дальше мы поговорим немножко про android и наверно последнюю сексу финальную мы больше и больше всего на нее времени потратим и поговорим про архитектуру и вообще про
00:06:06 - 00:07:12
построения приложений и попробуем решить вот архитектурную задачку пока да так давай начнем с ход ли на какой у тебя опыт скотт ли нам я накоплен где-то от версии по моему 09 получается что уже три года до уже больше в 2016 году был первый релиз siri года уже получаем 4 даже то раньше получается что-то где-то еще 2015 значит мне не луны для я помню что я весной переходил как раз от весной а вот это все дел нашим в январе у них было 09 вести где-то в таких границах где-то начало года было а в феврале в феврале
00:06:39 - 00:07:51
релиз был первый да где-то с тех времен вот ей хорошо так расскажи мне пожалуйста три своих любимых фичи котле на ой тут конечно ты ограничил список до трех сразу ну вот такие или кеа первые которые нам пришли ну вот прямо так вот сказать что после того как ты поработал на джавида что вот тебе прямо стало легче вот делегаты 1 пишем делегаты сразу пишем список топ 3 легаты и чего и и тепла перемены в который тебе позволяют писать свои типа райт white red white property и те которые позволяют интерфейсе к сразу энгри мутацию падки
00:07:15 - 00:08:34
на то есть у тебя есть какой-то класс который поставляется меня вот так она получилась как бы что он видел мэн то можно быстрик это закрыть точно второе это дженерики который фарид которые позволяют по типу про гнаться то есть в тех же делегатом довольно таки удобно потому что ты можешь там относительно типа не знаю как the battle красиво разобрать то есть либо как-то вмазал красиво положить данные или в этом в профи может быть какое-то общее видеть доливать который в профи все ложит это 2 точно и
00:07:55 - 00:09:08
3 наверное это не какая-то конкретная штука это в то что в целом в котле не очень попытается долив то есть там прям создали такой конкретный стыдлив который не знаешь не стыдно показать друзьям нарядная самой популярной функций которая в эти топ-3 слышу всегда это extinction функции а почему ты их не называл потому что это просто как бы это конечно прикольно но большинство их station функций можно заменить обычный статика кстати к методам который по факту этими является но то есть если мы там разберем как
00:08:31 - 00:09:41
корень компилируется поэтому анализ говоришь о work там такая вот фича ну как бы по его мнению вот если возьмут делегаты да и возьму их стань функций но там просто как бы то что нам дали делегаты то что александр функции когда там уже этот новым не не свяжется окей хорошо давай тогда немножко пройдёмся по этим функциям в чем особенность делегатов свойств в том что мы можем там например ну то что мы можем писать свои рид property своей рита райт property для того чтобы ну какой то общий логика коммуницировать
00:09:08 - 00:10:23
сам популярных мне кажется пример работы с проектами можно написать какой-то делегат который автоматом должен значение в профи особенно классно если люди понимаю что еще можно взять оттуда название переменной тебе надо же включить для той придумать это выбирает кучу кода это точно раз и второе то что даже я там дел есть там части например джейсона в который мы себя храним в кашам файлом даты можно взять один делегат который бы сохранять переменную файл там виде джейсона и там из нее читать и все тут это все что ее написал
00:09:45 - 00:10:53
навешал на все переменные просто этого мира который только нужны и полетел то есть экономия кода и унификации а каким образом делегаты под капотом работают я имею вот когда они java код компилится все вот что получается на это на уровне переопределения гаттаров сеттеров ну то есть делегатов по факту что если мы берем там там делегат в виде там ретро прийти на то есть которым чисто коффердам да то есть она позволяет им что трясет сделать унифицированный под несколько переменных поэтому они просто вот когда
00:10:19 - 00:11:38
мы берем java геттер и сеттер они вот это вызывает если мы говорим про дели ваты который заряда байла или которые там например и дело это не просто создаю себя до переменную так делают свою логику и потом сейчас они страшно да да смотри то есть я возьму обычный гектор сектор и все это сделаю и сделаю через делегат что будет работать быстрее и лучше и между память скорость вызова и прочее думать уже надо но по твоим вот мыслям как ты думаешь если всё там сделано прям прикольно а если там мы говорим тича но без всяких
00:10:58 - 00:12:27
оптимизации поверх прочим вот я обычном дорожном режиме всё компилирую все запускаю и ничего такого оптимизации не применяя просто вот смотрю что эффективнее будет то есть то что мы придется g30 то что мы сделаем делегат но если прям считать на верность так вызова то есть количество вызовов функций преградили вас будет менее эффективной ну это да ну в принципе timeline ница если так брать потом ну мы возьмем потом tr8 то есть там на самом деле не в этом не в этом особенность но тогда я бы сказал что поровну будет что что что
00:11:43 - 00:12:54
одно что второе нет смотри какие параметры получают делегат когда вызывается деталью сет вэлью на звание самого самой переменной то есть про pretty как не совсем не совсем он получает property виде объекта кей property до кей про перца это рефлексы а из-за того что под его получать это вы травили из за того что это riflessi это да и получается просто . единственное что если вот тут есть хитрый момент в том что это поправили то есть это улучшили если эти билды не используются то они вычищаются компилятором это за
00:12:18 - 00:13:43
оптимизировали потому что на самом деле они редко кому нужны и если и компилятор не видят что они используются явным образом тонных удаляет вот мы если кто-то их дернуть или что-то делать например бывает часто вот шар отправками делали такую реализацию что название шарат прав а бралась по имени пропер ты избрал из профиля . name и оттуда бралась и вот это уже начинает лезть в рефлексию то есть это уже может так здорово просесть performance is объекты в принципе штамм промежуточное это некритично то есть современные
00:13:01 - 00:14:07
android современная виртуальная машина в принципе легко со правы справляется уже с ними это не страшно а вот именно рефлекс reflex и это всегда как бы не самый быстрый и особенно еще код ленская которая по бычка поверх обычной рефлексии вот так хорошо давай двигаться дальше какие ты можешь рассказать особенности системы типов в код лим то есть что например отличие что было джаве касательно типов это что в код ли не то есть поменяли или в нововведение собственные мышцы при отсутствии примитива как
00:13:33 - 00:14:46
таковых но это да это вот одна из особенностей да да ну да отсутствия примитивов ну если мы берем кроме там простых типов ну там добавлялись имеют и был коллекции но я не знаю так вот мы относим к системе типов или не та да да да то есть это явное разделение нам юта был ему табло коллекции тоже можно это она но то что эра это же все стали прям как объекты понять как примите v-ray когда ты просто пишем квадратные скобочки вам под капотом не все все все же это же делают ну да да то есть в плане синтаксического
00:14:10 - 00:15:28
чтобы еще сейчас но вот смотри какая первая особенность главный котлин в этом всем вообще то что кот ли он отличается джавы в плане работы с переменными совсем то что все это объекты ну да ну это объекты смысле синтаксически это пытаюсь подтолкнуть ну давай ладно нал сэйфти а в лифте влияет на систему типов на то что у нас любой тип может быть как на lable так и не на 3 по дефолту они все это но это строгое разделение это строгость я не дано налогов и но наливал типа это явно отделение зато есть у нас тип не может
00:14:51 - 00:16:11
хранить на мысли в нем это явно не указано то есть это явное разделение хорошо какая система особенности иерархии типов конкретно под подвис уже но вот смотри в java есть базовый класс обж и пдд какие такие спецкласс и есть а все я понял иванович есть они как бы мы вместо вместо объекта там еще я нет тут тут вот еще два и сочетает есть нас young вот который как бы тоже относится к общему делать его не считаю их общий я считаю что это будет такое он важный он на самом деле очень важно сейчас мы ещё об
00:15:33 - 00:16:46
этом поболтаем ещё есть один еще и за столик но он не из йерархии но он такого же он в йерархии тоже конечно же лежит вам такую специальную роль играет что возвращается методом uni ли вообще перечень районе unit да я его тоже вот как нас young это тоже speedstep то есть специальный для специальной цели вот хорошо так давай дальше на сын в чем его особенность вот этого типа не был особенно в том что мы можем как бы указать что там как бы типа не существует но он как бы есть ну то есть например я
00:16:13 - 00:17:46
могут прийти такой простой пример че когда мы там условно у нас есть это несколько будете как к стильный пример меня нет ну смотри я я примерно понял точно начнет рассказывать про применения мне больше интересует роль его в йерархии вот смотри у нас есть они это суперкласс любого ну супер любого типа да вот на сын он оппозиции ну то есть противоположность ему полное они все равно он ну естественно любой тип отеля вот да вот что такое на сын вот в чем его особенность важны только это отсутствие объекта по факту и
00:17:07 - 00:18:24
вот и он вынесет x еще койнова обрабатывается можно мешает это знать это не отсутствие объекта это значит что вот что значит вы сумел метода указан на сын возвращаемое значение что это значит что вообще ничего не верят даже юнита что он вообще ничего не вообще прямо зенита то есть это к ну а это как основа выравнивает это как сказал прыгай не это что же воет это значит метод который ничего не возвращать то просто как бы есть один объект на обертка вайда потому что для дженериков то есть нас он тоже
00:17:45 - 00:18:57
джори как играет роль на мне вот больше интересно я указал у метода нас и что это значит в качестве возвращаемого параметра до в камень возвращаемое значение типа тип возвращаемого типа смотрите чтобы не затягивать давай это значит что этот метод никогда не вернет управление назад он значит бросает исключений или что-то точно он никогда не вернет назад ничего то есть яркий пример его используют для методов которые р то есть который был просто должны пробросить ошибку то есть да вот он значит что внутри себя он бросает и
00:18:22 - 00:19:29
никогда ничего не вернет он вообще-то с марию нет это значит что он возвращает управление но ничего не возвращает как результат она сын это то что он вообще то есть просто падает и вообще даже не вернет вообще даже не вернется назад уже все это этот это как это это как прыгнуть с обрыва аюми туда прыгнуть с обрыва на веревке и вернулся назад но ничего не принести с собой да я проект проект в таком ключе никогда не не думал даже окей хорошо смотри какие есть особенности использования нас in generic
00:19:06 - 00:20:16
ах вот мы начали немножко про это ну мы можем например если сейчас например у нас есть какой-то дженерик который там в некоторых случая [музыка] ну вот есть же нарик и вот есть метод который принимает это generic nude в нашем случае этому generic он вообще все равно в нашем нашем случае конкретном код h kei сюда нам все равно что там за дженерик и для того чтобы не передавать как у такой бы талиб и вы объект просто чтобы соблюсти сигнатуру мы туда кабана сын кошек и все окей будет и что тогда получится
00:19:40 - 00:20:53
просто мы как бы мог им тип дженериков это все все что происходит на судно [ __ ] поняла мы факте что да да похоже затираем больше типа что если от нас это требуется какого-то такого применения в джидде река что прям это не выделило как костыль я честно говоря не не соображу ну смотри на сам 2 да то есть это скорее всего если у тебя из команд типу которого грубо говоря на притом с резал там это часто делают то есть приводит пример но я резал то есть два дженерика типа ошибкой до результата имели когда у тебя снова подкласса да ты
00:20:26 - 00:21:39
запираешь да это порошенко с каспером ну ну не совсем потому что я бы не сказал не выглядит нормально хорошо давай да так дальше давай что что нас ждет дальше давай какой у тебя опыт с картинами абсолютно минимальный то есть покрутил я приду на минимально не вообще не вообще не не раздела каким образом той синхронной задача решаешь вообще обычно проектах до этого была подключена сейчас у нас просто свая имплементация rex подход как бы рисовой теоретически но просто имплементация своя которые просто в разы меньше большой
00:21:03 - 00:22:44
рексы ну а что знаешь по поводу крутим вообще [музыка] ну что это просто способ работать многопоточность щепотка принципе не которого синтаксиса там у нас в проекте есть там парочка раз запрос на 100 всего на 3 на весь проекта бы все остальное socket там со спин функции довольно красиво разворачиваются мне понравилось я не не знаю это давно очень давно как не сделали хинин ошибок потому что раньше это все примере видел там треки че люди везде писали мне понравилось то что они в launch можно передать общего этот обработчик ошибок
00:21:58 - 00:23:13
который все можно сделать это прям прикольно все дело выглядит вот в чем концептуально отличие происходит между потоками которые мы в джаве мимы к рутинами не виду нет ни на уровне работа именно концепты вот в чем в чем чем как бы если ну потому что нам позволяет по факту делать тяжелые операции не блокируют ряду то есть к рутины а не за счет свои вот эти вот они все своих dispatcher of нам позволяют писать код к будто он синхронной то есть нового у нас получается если спасали так наконец далёко то есть не давать вам получается
00:22:36 - 00:23:57
синхронный на самом деле мы не блокируем 32 которым это выполняем окей хорошо а почему он не блокирует что происходит что вот происходит с операции то есть каким образом тогда это как это называется сейчас они по-моему не создают ряду все-таки свою они energy надо же где-то исполняться ручные из поток тут я конечно могу путать мне почему то казалось что они просто ищут свободное время в третьем который сейчас запущена ну то есть они это вопрос про продукты 1 л про прерывание да они лишним карт что к
00:23:17 - 00:24:39
рутины а не прерываются то есть чем особенность а если если чего-то ожидает поток нуджаба вы да он блокируется и держит этот ресурс не отпускает и не дает никому его использовать с он такой жадный типа я это я ничего не делала но и другим никому не дам к рутина она же работа таким образом то есть если видит что она сейчас чего-то ожидает например кто-то и должен прислать какой-то результат или что-то нам на кого-то зависит то она приостанавливается освобождает поток на котором происходило выполнение и дает кому-то на этом потоке
00:24:04 - 00:25:07
поработать потом когда есть скажут что слушай а вот для тебя уже результат готов мы выполняли операцию асинхронную от к а ok найдет первый свободный поток и продолжить дальше работать на нем то есть получается что ну гипотетически тут типа два плюса есть из этого вытекает вот с такой работы 1 это в том что ты можешь то есть фактически за и какую-то единицу времени больше выполнить работы там потому что просто потоки не блокируются это зависит от зависит от типа операций конечно которых ты выполняешь и второй
00:24:35 - 00:25:41
момент это в том что ты для больших систем высоконагруженных тоже опять же можешь больше операций выполнять то что у тебя будет меньше блокировок ну да но это редко работать случае только там визита запрос сеть если нам надо пережать bitmap у то как бы не вариант смотри любая а его операция это чтение с файловой системы все схождения все потому что в принципе а его операции они ну-у-у операции не часа до и как часто мы как мы делаем операцию в которой мы не ходим в сеть там нет таких операций ну я имею ввиду
00:25:08 - 00:26:21
дату из нас фактически сейчас такие приложения что мы если нас асинхронный задачи то это скорее всего что-то точно связано с сетью то есть редко у нас такое что не с сетью то есть если у нас как бы компьютер компьютер шанцев и портреты высоконагруженные операции по какой-то там расчету до прочим тогда у нас естественно получается такого плана что у нас все тяжело легковесный поток да тут пишут ладно потом по разбираемся с этим вот хорошо так наверное пока ты но в принципе я узнал все что хотел а
00:25:45 - 00:26:59
нет у меня еще был один вопрос он довольно такой интересный листы секунд но коллекции код я думаю это значит ты знаешь секунд знаешь такую ну да это же по факту так она тоже загорелась andrew масть да это подобие да то есть вот у меня вопрос в чем разница в их работе и когда что рекомендуется использовать именно в работе с и микроструктура на меня там разница не надо там начинается разница когда ой сорри ну да да да да и я извинюсь что-то прибыль у меня есть там операторы примерно одинаково набор операций всякие там for
00:26:25 - 00:27:40
each map фильтр и прочим вот у меня больше да вот работа в их разрядов почему у меня фактически с два одинаковых и пей но вот одно эффективнее другое нет да тут хранится красу не только в оператор насколько я помню а потому что sequence он здесь какая-то входная коллекция данных не знает элементов да вот если у нас есть какая-то там просто берем давайте возьмем обычный лист пусть будет ли до для примера и мы делаем у там фильтр фильтр maple move it move лет он там вот это все по накидывали там не
00:27:04 - 00:28:07
знать сколько у нас получается что она берет делает фильтр создает новую коллекцию делает map новую коллекцию делает сам флэт маг новую коллекцию и вот это все выполняется если мы берем sequence то он все вот эти вот операции собирает один раз все это дело прогоняет и полетели дальше то есть он заменяет много сингл операторов на 1 multi оператор и потом просто коллектор в конце все это дело собирает но это приведет если вы очень вкратце этот и просеку он сейчас говорил да да да окей в коллекциях обычно процесс
00:27:35 - 00:28:47
листом если он гарзы раз наберу сделали оператор создали коллекцию сделали оператор создали коллекции так дальше для любого оператора ну нет если кооператор каунта не создаст коллекцию до 10 ratings те которые сразу армирующие трансформирующие операторы окей хорошо да sequence вами мне кажется не совсем то есть смотри грубо говоря давай допустим такой пример у меня есть коллекция вне там 1000 элементов у меня секунд в котором 1000 элементов и лист в котором 1000 элементов мне нужно найти первый
00:28:11 - 00:29:32
так скажем давай давай сделать давайте по-другому то есть что мне нужно сделать мне нужно [музыка] мне нужно найти элемент не нужно найти элемент который с горя кладу заданному условию и предварительно смочив его вот если какая-то разница выполнение этих а то есть я я поэт и операции если где то разница где будет эффективнее или нет если мы не узнаем операторы которые с индексом the sequence еще может поделить себя на несколько вот этих и работа с ними отдельно то есть он в коллекцию может разбить на этой при условии что мы
00:28:52 - 00:30:07
не будем использовать операторы которые используют индексы по моему секунд с поры лица не умеет я тоже могу ошибаться единственное отличие лишь кооператор sequence а от операторов над коллекциями обычными это в том что секунд он обрабатывает все вертикальный tucson берёт элементы проводят его по цепочке берет следующий элемент наводит лавочку складывать в коллекциях по-другому в коллекциях они работают горизонтальности так может кайту сам берет лист полностью выполняет для всех элементов оператор создает
00:29:34 - 00:30:51
новую коллекцию потом берет следующий оператор то есть снова выполняя для них сердце фактически если ты сделаешь кучу таких вот map of и потом скажешь дай мне 1 там ttx first то он фактически это проделает для всех хотя это делать до нежные то есть вот в этом заключается разница окей хорошо так давай тогда двигаться к андроиду начнем тогда с android самый большой боли это фрагмент какой жизненный цикл фрагмента весь ну мне интересно ну не то что прямо весь мне интересно вот но они с activity поняла что сможем неинтересно ключевое
00:30:12 - 00:31:26
отличие его от activity но накинул oncreate об oncreateview это когда он создает себя все время особо актуально поэтому нет у вас все еще есть доступ там у него есть он в you created который специфически него и почему только скотт ли нам еще там так он он резюме от полосы то есть там еще есть он дестрой view который которого нет то бы в activity пошло activity ну нет понятия русских графского view у него есть он hidden чинче колпаки который мы тоже можем взять activity в помоему нету есть очень важно call back
00:30:48 - 00:32:06
который первым самым вызывается он crate но зато что запрещено . давно точится к activity а ночью еще есть по моему у него вона touch you сильно но на то чем дата чистка арбеков да есть он yucon oncreate и ondestroy виною да это да вот это пара есть окей хорошо смотри почему такие появляются специфичные калмыки фрагмента строительного цикла в отличие от activity с чем это связано потому что он берет прям вот то есть он берет какой-то вьюгу начинаете прямо inflate эти цвета нам нужны вот эти все колпаки что то что
00:31:28 - 00:32:59
там сухо и происходит в oncreateview нам нужно для того чтобы мы запустили процесс не флейты наши вьюки там он we created нам нужен для того чтобы мы поняли оооокей наш тип android android фреймворк за ним следил эту всю штуку для того чтобы иметь все вот эти промежуточное состояние которое activity не обладает что activity вообще есть activity просто берет как бы мы там прокидом либо в юху либо layout и она там их заплатила и он вашего тела и ведь он резюме я готова отображать данные [музыка] снова ну и понятно что она так у нас
00:32:19 - 00:33:31
есть потому что он а точится как 9 он это что ж понятно это танк также вас появляется если над появляется он клеить view отдельный но на бы как бы его в пару надо бы еще ondestroyview когда именно наша вьеха уничтожилась руки хорошо [музыка] аборта вопрос так давай а почему фрагмент это боль ну потому что не сложный жизненный цикл а зерна возиться так смотри каким образом можно сохранять данные за пределами существо внутрь за пределами существования объекта фрагмент многими начиная от бангла заканчивая не
00:32:55 - 00:34:34
знают им тем чтобы положить файл вопрос но мы говорим смотри у меня есть фрагмент ну как не фрагмент у меня есть экран которую визитом фрагмента представлен к минута у меня этот экран совместно у нас может данное уничтожаться а уничтожаться объект фрагменты может уничтожаться то есть экран у нас еще как бы существует вот и у меня вот тут вопрос да вот это был какой то есть как мы можем сохранять эти данные ну если мы говорим про то чтоб наши вьюки в этом фрагменте сохрани в этом экране сохранили не было денег и
00:33:55 - 00:34:58
засыпать хорошого было они положат в дефолтный бандл если у вас есть еще какие-то наши данные но можем тоже положить в банк и взять какой-то он сафин состоится историй состоит там там банды достать положите туда с батла потянуть вот в принципе сохраним но тут еще задачи типа интерната просто не знаю там может быть подход там в этом банке ничего не сохраняем приходите в базу данных потом с не вычитаем а если это данные которые не касаются бизнес-логику тоже не положишь то без дано не касающейся бизнес-логике и все
00:34:27 - 00:35:31
подряд то есть база данных это все-таки как эта структура данных при этом замучаешься каждый раз обновлять среди что там будет много боли и конечно есть минус такого подхода ну да это такой категорически то есть я больше говорил вот про сохранения состояния которые нам нужно во время работы с экраном бандами корсет впал вполне но тут ему можно еще не знает как доступ к бангладеш ему доступ к банку у нас он есть то довольно поздно то есть у нас есть только в insight insight in стоит вот ну марта сразу со временами нужно
00:35:01 - 00:36:19
хранить и я я был вор на какой-то сторож собрать ну то есть тоже почему вы не объема дельты не хочешь принципиально использовать а ну можно взять view mod он там не знаю почему бы нет окей оков какой момент в модульном гарантирует сохранение состояния до какого момента точнее скорее всего я скажу модульный работал на подозреваешь где-то до ondestroyview почему и пьют модели модель же иисус же перерывать пересоздание не имей виду что вопрос о том что до какого момента вы должны засадят нее данный чтобы они за
00:35:40 - 00:37:00
ним я имею ввиду что вот мы в нее засчитали данными ду как долго они там до какого момента они доживут в ней пока система наверное не грохнет полностью наш экран а что это значит ну не знаю этом наше приложение улетит из памяти полностью вот там или там уже в модельном не поможет почему то есть она же перес переживает конфигурации потому что cisa ну потому что памяти можно надевать не ходить не знаю там там открыто наше приложение прекрасно кто-то позвонил попросил скинуть фоточки сразу открывается галерея чеки как бы ниц на
00:36:25 - 00:37:37
шею модели как гуда вот мысли правильных я просто хочу услышать ответ аккаунт произойдет типа воплем ненененене смотри да вот что происходит когда вот и говорить что-то открывается другое приложение типа наши приложения очищать потому что что что вот просто понять что ты имеешь ввиду под этим очищается наше приложение систему что-то начинает в грохать наши объекты там лом избрана карту начинает из как и таким образом происходит на просто требует память или что происходит там по моему есть у нас еще шанс ловить
00:37:02 - 00:38:12
и он марик албакова полетишь на есть дальше он термины эти дальше он просто начинает вспомни сейчас [музыка] ну банду она оставит а сами об инстанции вот именно фрагмента в модели она на на на мусорку и на самом деле с не хватает памяти убивает своих процессоров схема умеет гулять только процесса ну система он не знает ничего про нашу памяти устройства приложения внутри для нее это все просто 2 с процессами проблема в том что объем модель она живет только в памяти процесса но как только процесс
00:37:40 - 00:39:01
уничтожает соответственно не сохранится дальше и как нам эти данные тогда которые были в ней сохраняйтесь ну скажем более долгим образом но там уже присси сторож нужен один сторож науки их ношу хорошо так давай немножко поговорим еще про такую штуку смотри у нее задачка у меня есть приложение в котором там все очень как бы скажем все очень просто то есть у меня люди делают какой-то там большой отчет целый день и потом в конце рабочего дня то нажимает кнопочку загрузить и весь этот отчет начинает загружаться
00:38:21 - 00:39:47
интернет у нас не быстро и отчеты у нас там весят гигабайт и вот в общем загрузка не быстро вот естественно они скорее всего начинают это загружать кладут там телефон свой в карман и все вот это вот такой flow работы что мне нужно мне нужно чтобы такое приложение ты реализовал ну точнее даже не то чтобы реализовал рассказал какие особенности его реализации вот я считаю что джон бут и как ли должен передать мне задача рассказать простое должен посмотреть на какие моменты обратить приложение должно работать с
00:39:04 - 00:40:06
android 50 и до современного вот android 11 вот если какие-то уточнения потому как оно должно работать что там должно обеспечиваться ли прочим ты можешь мне спокойно сдавать про технические части я тебя не отвечу я заказчик которым только знает что вот который готов заплатить деньги и чтобы было красиво тут наверное сразу накида паразитическое уточнения да то есть занимает отправляемся таки надо каким-то файлом да то есть мы там не десантники гоняем ну да это скорее какой то типа там один большой один большой
00:39:35 - 00:40:40
какой-то файл собирается я не знаю это не могут кто может какой-то специфичный файла rus pro мужчине будто какой-то один большой файл до один большой файл при том что у нас есть возможность взять этот файл его как-то разбить и наш бэкон поддерживает эта проциону загрузку файла вот это я тебе не скажу это надо мне к техно remote окей хорошо было укреплено чтобы бог конечно ну не знаю лучше я думаю что лучше закладываться на то что нет потому что мы так хорошо из но тут какие-то приложения для кого-то
00:40:10 - 00:41:23
and user или это для наших работников это для работников допустим у меня там сеть сеть магазинов от которой люди там что-то делают проверяют и в конце дня загружают отчет по своей работе там с фотографиями из текстом кучу кучу всего от информаторов у нас есть возможность кабинете телефона сказать людям чтобы они вот это приложение не добавили в bo3 optimizer мы убрали его от лулу новый мир должен рассказать вот как ко мне скорее всего ты должен я думаю для каждому дуга выдавать с приложением инструкций будут
00:40:46 - 00:41:50
плохо скорее всего что в предложенной же world and вызвать чтобы перебросить туда написать и чтобы сама само приложение да вот ну то есть ты мне должна оказать и вот хороша как вот мне вот я эксперту все окей хорошо я за я тебя прикрою роль голлума у меня такое раздвоение наполовину заказчик наполовину джун или не должен сейчас донести рассказать это вот один не это реализовывать на что смотреть какие то может есть проблема ограничений или что то еще чтобы я и тасс ну хотя бы то есть общий общем мол
00:41:18 - 00:42:18
понимал ну об ограничении у нас есть то что система не любит процессы которые жрут бага батарейки выгрузка большого файла это много батарейки вот соответственно надо как то точно придумывать хобби какие то тонкие как это все дело обходить ну то есть самое первое наверное что вы посмотрели мы все-таки пытаемся просто выгрузить файл и там надеюсь система нас не грохнет скорее всего на все таки грохнет вдоль большой вероятностью а как а как сделать так чтобы не грохнул как повысить вероятность чтобы у нас не убивала ну по
00:41:48 - 00:43:01
выставлять приоритеты своим можно сделать какой-то сервис сделать его foreground там notify кошкина это рабочие девайсе всем все равно как бы что notify кашка вот муки и хорошо это на точно послал мне нужно немножко выигрыша перед другими но там тоже как бы не факт там как бы если все вообще не телефоне будет плохо таковым он был в болоте грохнуть дальше можно пойти в сторону какого-то work менеджера наверное то есть на этом поднимать его ночи то что у нас есть там этот бус мод который режет всю пьянку то
00:42:24 - 00:43:34
и он был бы я не помню то что интервалы вот этого пробуждение телефонному раз полчаса можно одному приложению вот можно его то надо строить на 1 полчасика чтобы он проверял файла бы ниже rouse у нас куча вендоров эти ребята не все любят соблюдать договоренности соло спам поэтому им другим доверяет лучше не стоит ну вот почему все равно добавим как что чтобы был тут но смотри sword менеджером тоже есть определенные загрузки какие но он не на долгое время нас поднимает если у нас нет неважно то может долго задачу
00:42:59 - 00:44:14
выполняет без проблем у него есть ограничение на выполнение то есть на старт этих задач у нас там одна по факту но мне кажется что он даже друга то есть если мы там начнем пять минут подряд грузить все эти он прям разбухнет нет там по моему school насколько я помню ограничений не было но там есть ограничение на запуск этих задач как частых можно запускать повторяете прочим и вот это вот тонкость но есть 1 1 в один важный момент как это можно обойти в последних версиях последних версиях work менеджер
00:43:37 - 00:44:47
утолщение обойти а это официальное решение не знаю какая такая тонкость нового api до атомов а мы по я объявлен есть есть идея в другой оборот с другой стороны зайти да давай мы можем взять короче а по-моему это называется то ли jobscheduler туле короче есть возможность с ним название на системного api в андроиде захилить event когда телефон на батарейки на зарядке так нужно менеджер делают марк менеджеру это фактически обобщение jobscheduler на разных версиях android а у расширение вот ну вот да вот
00:44:11 - 00:45:27
метод подписаться когда телефон на зарядке и на вай-фае это данность за скорее уже это же это можно сделать да да вот это дана система скорее всего уже не у меня ну смотри на меня что а если у меня человек не заряжает вот в конце сеанса нажал отправить он меня то есть у меня нет такой прятки сметана должна вот по кнопке грубо говоря он нажал пошла загрузка из он свернул приложение пошел заниматься своими делами но унесу загружается так что можно это еще такое придумать хорошее борт менеджер хороший день
00:44:53 - 00:45:52
воркман же просто нужно было foreground будет а об этом может сработать на фары грана work менеджер первых есть ограничение с ним работу нельзя запускать чаще 15 минут прочим там если дропнется это все то есть короче ты можешь получить не самую приятную ситуацию вот поэтому типа a program гарантированно он тоже не особо-то гарантирует нам ото сна телекарта раунд сервис но он тоже как программ сервис он повышает приоритет приложение как бы это повышает гарант того что это выполнится естественно если
00:45:24 - 00:46:33
вам слабо устройства и nod group ряды откроешь google вас приложение все-таки лед система твои приложение потому что для google apc нужны все ресурсы и понятное дело что тут будет так но типа это уже случай которую мы ну никак не можем покрыть то есть мы не можем мы мы не система чтобы сказать что вот чтобы не творилось в системе это приложение не закрывает наверно только для это лаунчера убиваются не множество обычные приложения хотя launcher это намного важнее есть еще одна идея но тут нужна ваша это самое мы короче берем то есть
00:46:00 - 00:47:09
мы знаем что условно там там 10 вечера до этот отчетом отправляется на плюс-минус по поводу ему слова начиная в час ночи на байке проверять если от этого чувака отчет если нет то мы шлём push который опять что-то там поднимает не так как пытаемся добить таки чуваков чтобы он рано или поздно таки я дал нам отчет но там тоже там то есть мы поднимемся и вы даже помогут сможем с пуша какой-то foreground даже наверное запустить но там тоже как бы не стопроцентная пьянка науки да еще идеи есть ну наверное
00:46:34 - 00:47:52
можно еще как вариант что наш сервис не убивали по метится player памяти не наверное это уже дико слушаю же дикая их сервис повышенным прилетит уходит вот foreground это уже дико очень блин просто вообще нет я ужасно на самом деле ты как бы рассказал все что можно и даже про то что отправить систему и попросить его вы 100 отключить оптимизации энергопотребления то есть это как бы все верно то есть на самом деле вообще сто процентов гарантированно сказать что эта задача выполнится долговременное прочим там за
00:47:21 - 00:48:35
груз который потребляет типа когда пользуется может он заблокировать устройство положить его и прочим мы не можем потому что есть много факторов кота могут повлиять на убийству приложения и отключить его единственное что мы можем что то что вот опять же ты правильно говорил все очень хорошо что догрузить потом файл этот частями то есть научить чтобы он мог загружаться то сделать вещи планетам проверки восстановления прочим да вот это вот те штуки которые помогут нам говорить вожу сервисов есть такие
00:48:00 - 00:48:58
штуки и это все то есть это удачи конечно по такой немножко фантасмагорической а но она так типа проверяет ее ее идея была проверить насколько ты знаешь механизмы работы android операционки и в плане того как она работает вообще вот хорошо так давай двигаться следующему смотри [музыка] да давай двигаться к задаче давай я тут уже не буду ничего выдумывать давай двигаться к задачки давай открывать дро и о шаре кранчик так все работает да да да вот хорошо единственное что может сделать там рисует так побольше чтобы было видно
00:48:29 - 00:50:10
хорошо всем да смотри у меня такая к тебе задача у меня есть приложение чем его суть приложение короче она у меня rss агрегатор вот то есть я к нему могу подкидывать даже не все с агрегата такой не совсем правильно будут у меня могут быть там куча источников новостей это могут быть раз с могут быть какие то свои проприетарные формата но каким-то образом он в общем умеет собирать информацию из множества источников вод которых я ему там добавляю протоколы какой-то список протоколов у него там ограничен который я выбираю вот это
00:49:27 - 00:50:46
необязательно rss то есть вот чтоб ты понимал вот что мне нужно от этого приложения не нужно от этого приложения чтобы в нем был офлайн-режим то есть если я зашел в приложении не скачали с какие-то новости я их уже мог прочитать посмотреть мне нужно чтобы соответственно это у меня сработало быстро красиво хорошо приложение у нас будут очень простой в нем два экрана первый экран это просто только то что у меня список новостей который собран из всех этих источников и в общем списке отсортированы по времени
00:50:07 - 00:51:26
вот второй экран это просто будет открыть этой новость метод допустим просто url а есть какая то ну какая то есть короткое описание какой-то урал куда там перейти вот допустим я открываю тот экрану мне этот описание показывается это можно на перейти на урал вот все вот такой примерно у меня контент да то есть я хочу офлайн-режим хочу чтобы у меня это все красиво быстро работала вот источники могут обновляться я тебе тут не скажу то есть они могут обновляться буквально там каждые пять минут там прилетать по куче новостей
00:50:46 - 00:51:58
да то есть каких-то там фоновых уведомлений прочим я не требуют и скорее типа вот ты заходишь и сразу может это посмотреть причем если ты заходишь приложение я хочу что то что уже было когда-то скачена ранее прочим она сразу показывалась и происходил апдейт на новое ну грубо говоря пока какой-то прогресс показывался чтобы там сейчас идет еще загрузка нового но и старая уже мог трогать вот у меня то есть да у меня что то есть я хочу опять же android 50 и выше я хочу от тебя попросить чтобы ты не
00:51:22 - 00:52:33
рассказал про архитектуру этого приложения до изобразил схематически как ты ее какие там будут у тебя компоненты в реализации как они будут между собой взаимодействовать и соответственно рассказал почему-то выбрал такую архитектуру к их там принципов будешь придерживаться как будет разделение там модельки совершенная потом еще по задаю вопросов можешь задавать вопросы уточняющие все что то что я считаю дать себе нужном узнать ответить я отвечу да и соответственно можешь потом приступать к на рисованию с блок блок окей мы
00:51:58 - 00:53:13
работаем по rest api да со всеми этими источниками абстрактными ну на какой-то там протокол нам не столь важно то есть да давай допустим для простоты мы просто же решим что это rest api окей ну значит нам надо так давайте как-то я буду пытаться что-то рисовать начать давайте круглешок это у нас будет наш не знает retrofit сервис условно который выдает наши данные до может будет проще все прямоугольниками по и подписи там делать давайте по моему можно сразу текстом текст сразу внутри по можно писать
00:52:36 - 00:53:44
вот так вот можно вот мне не не по моему тампон прямоугольник сразу внутреннего текст можно было фигачить вот прям сразу значит у нас тут есть какой-то найдем абстрактно абстрактно штука это у нас retrofit сервис будет ну то есть понятно что их может быть несколько если там реально это какие-то источники там захардкожены либо что то еще но пусть у нас есть наши терпит сервис которых тошнит от возвращает ну раз нам нужен кэш нам надо где то вот тут сбоку сделать какой-то persistent storage тут есть какой-то сторож который
00:53:10 - 00:54:30
каким-то магическим образом сохраняет это все дело файловых систем и на то чтобы она хранилась прям на века тут нам во рту углубляться в детали этого имплементации но это ты мне должен сказать я потом буду задавать вопросы ты мне сейчас должен максимально рассказать так чтобы я ничего не задавал это я уже буду задавать вопросы на вас какой-то retrofit сервис на су-100 раньше не знаю образом его для приличия постовых там narumi пусть будет если нас там данных не особо много если там сильно много ну
00:53:50 - 00:54:54
там в этот бокс либо еще что то такое окей ну нам нужен раз у нас есть два источника данных нам бы что-то вот сюда конечно бы такое виде какого то что что то что мы обойдем репозитория вот и понятно что это дело как-то завязано друг на друга репозитории он точно ходит вот сюда боже так нет это точно не став стрелочка которая мне нужна значит наш этот репозитории точно также будет завязан на сторож будет так это хорошо так значит но софи сервисиз репозиторий это у нас есть ну вот тут этот репозиторий
00:54:22 - 00:55:47
он ходит уносить накладывать я где-то еще здесь поставлю наши view которая не знаю просто view там я думаю сейчас не собор это фрагмент либо activity пусть будет просто view you нам нужна какая-то наша view model m будет наверное это пока от полет творческой мысли так значит ну раз нас есть какая-то юма долл так нам чтобы данный преобразовать да какой там какая-то штука пусть это будет что то что мопед в ю ай модели вот он ну как то вот такой а мысленно точки нажимается но подумал должен до стрелку рисовать вроде бы да
00:55:17 - 00:56:47
вот да да да вот вы новички прям вытягивается вот если ты подвода не не не ты вот лишь когда там наводишь на прозрачная голубая такая стрелочка меня вроде получилось они кривые мне все на этом это не могли не столько 1000 до значит вот у нас тоже это дело подвязано получается значит у нас есть в ухо который использую модель кто используем маппера уже будет отдавать готовой модели значит такую модель и наши надо бы какие-то domain модели они бы конечно бы им ей не помешали сделаем так вот так хорошо начну модель входит в наш
00:56:07 - 00:57:28
репозитории говорить так чувак отдай нам данные он выдает какие-то дома и на модели так ну вот тут у нас то модели другие поэтому нашему репозиторию здесь бы конечно бы не помешал тоже какой-то mapyr так нам и тут какой-то mapper бы не помешал который будет у нас юзать чтобы он как-то вот тут вот у геранду который нам прислал бэкенд приблизил в какую-то domain модель уже с кем-то нашими полями тут конечно еще по стоит вопрос нужно ли нам отдельная модель для базы данных по хорошему это сложный вопрос надо ли нам эта
00:57:07 - 00:58:30
лишняя прослойка или будет ли эта прослойка лишние линии лишние так первый раз показывает перед у нас показывает список этих новостей а второй мы там добавляем ресурсы ну добавляем типа дайте вот во второй детали просто мы открываем работали до выбираем новый сон показываю там короткое описание и дает возможность вам перейти на сайт это тоже у нас в плане должно быть доступно по логике да ну то что мы да то есть фактически краткое описание да ну то есть по url оси ты будешь переходить на удар по углу мы уже не обеспечиваем
00:58:08 - 00:59:20
кое-что из это уже в браузере она просто браузер или ну по урлу урлу дано смотрите открываешь это отдельный кранчик нам краткое описание какое-то будет нам не столь важно что там сейчас буду информационном со к нам приходит и второй элемент это то есть возможность прийти на полное описание на источник на сайт но на сайт миссис не перейдем в оффлайне и поэтому понятно да но это наши мелкие детали мы разрешаем да окей хорошо тогда давайте тут у нас какая-то view какой-то там you модуль пусть тоже и
00:58:44 - 01:00:04
будет в компанию так хорошо принципе если данные у нас и так всей среде которые отсюда нам пришел мы можем вот это дело как-то завязать значить ночью модель скорее всего здесь будет своя поэтому нам нужно еще вот эта штука сюда украденным час это все делать так окей значит тут нам какой-то свой mapper который бы из дома и модели делал бы нашу промыванию красивую ну и и мне скажи когда все ну вот вот так наверное вот варианты выбора чтобы вызывать вопросы и единственно вопрос который меня от подвижки пока в моей
00:59:26 - 01:00:53
голове это нужно ли нам отдельная модель для хранения в базе данных и тут вопрос в том что у нас является заменой моделью отображения именно event то есть нужно ли нам вот этот еще до прослойка я просто боюсь и добавить потому что вполне может быть ситуации что она не нужно три смотри ты во первых если тебе что-то смущает в этом можешь дать мне вопросы к заказчику во-вторых ты можешь поговорить в голос и мы может чтобы порассуждаем вместе то есть когда ты молчишь я точно тебе никогда ну да не могу и наталкивать себя постоянно на
01:01:01 - 01:02:03
идее поэтому ты давай давай как-то вести диалог и я тебе буду соответственно в ходе диалога наталкивать на хорошие мысли но тут уж говорить слова я хорошие мысли под подкидывает вот то есть вот есть от наш вот это вот некоторая сущность да то есть насколько расстановки много в этой сущность информации то есть что это за информация вообще то есть но это не знает он текст work down там еще миллион картинок что это для простоты там просто текст вот для простоты там просто текст какой-то там текст до 1000 символов вот давай так
01:01:32 - 01:02:44
сказать это те здесь и символов еще какой-то хакер к этому и какая то ссылка который открывается браузере придет ссылка да да то есть это такое скажем ну я просто очень упрощаем утка делаем mvp то есть нам больше важно чтобы он смог собрать всю эту информацию сейчас со всех этих источников с первый экран нам более важен чем 2 хорошо так окей на щите ты у нас есть тут на них конечно у нас был вот этот маркер на defender один отдельно расписать потому что надо довольно сложной таки будет из-под этой
01:02:08 - 01:03:06
маппером учитывая и отправляй понимаешь нас все вот эти вот источники информации они вообще никак между собой не договорились и все они шлют данные кто как хочет правильно да они вообще никак не сижу на смотрела за приложение но она сервер лес то есть у нас нет сервера своего на которой мы что-то посылаем то есть мы грубо говоря имеем какие-то источники каким-то образом знаем как сопоставить ему протокол по которому мы с ним общаемся и соответственно его то есть используем то смотри грубо говоря как у меня типа
01:02:38 - 01:03:40
приложение может быть я беру в приложении добавляю новый источник там настраиваются сдаю протокол сохраняем потом второй источник добавляю там 3 5 8 и когда приложение открывается он у меня должен со всех источников собрать то есть вот эти примерно и рассказу тут мне множество источников с которых собирается информация ну значит вот тут у нас под мотором просто туда да наверное просто можно расписать и нужно ли так прям дорисовывает то есть мак так какой то он mad как фабрика да ну и там множество маленьких матери
01:03:09 - 01:04:27
который умеет точечно из какого-то поджог который пролетел нам settle спаси сервиса сделать нашу domain модель наверное сразу что смысл тут особо еще оди модели не вижу нас получается включительно вот так у нас есть retrofit овский набор вот эти вот сервиса которые наши сердца party опознан retrofit сервисом каждому из них у нас прилагается какой-то mapper который умеет делать из этого объекта нашего сирт пати и некоторые нужные назначения то есть там хайдер тех ссылка наша доменная модель вот эти все мапперы они
01:03:48 - 01:05:05
возможно есть смысл подвести их себе под какой-то один интерфейс но я вот тут неверия посмотрел по ходу пьянки тут тут сразу не скажу то есть у нас какой-то mapper который юзает многом маленьких мапперов которые все принимают абсолютно разные модели но отдают нашу доменную если репозитории который ходит в нашем retrofit сервису когда там юри вызывает там какой-то метод amadeus тогда он первое что он идет крита хит сервису будет там себе в бэкграунд трейдинг запускает в какую-то серию что потом сходила выключилась это
01:04:28 - 01:05:35
все миллион поставщиков данных в то же время он просто идет в базу данных и выбрасывает подписку на модуль там не знаю ну например ericsson словом не знаю ладно чернила льда ты вот выбрасывает все подписку на view model view model юзает наш mapper который преображает наши доменную моделью ой модель навешивает там поля не знаю там например там текст такой-то зеленым текста кайта красным этому примеру с помощью live даты выбрасывает нас наверху и то есть очень вкратце наверное все окей [музыка] так хорошо тут еще не хватает вот
01:05:01 - 01:06:37
стрелочки возле в модели 2 да я сейчас поставлю до да вижу донат отлет шлешь спасибо тебя кириллу на валерьянку так смотри давай теперь разбираться у меня есть ряд вопросов я буду разбираться на основе схемы потому что мне нужно было тоже виде представление схему чтобы это сделать то есть это уже как бы важен она вот коля сеньора давай так почему у тебя в you модель сразу ходят в сторож вру напрямую воняет про нее не небеса сорянчик тут тут надо было повторить структуру тут у нее есть какой-то свой местный
01:05:51 - 01:07:21
репозиторий который выдает и данные то есть до того жки напрямую она не юзает найди кота репозиторий который умеет работать с этими да за ушками хотя тут он тонкий момент тут конечно если мы в базу данных сохраняя на фото мейн модель то есть если у нас если у нас базе данных просто хранится domain сущность это репозиторий просто быть милыми нам сейчас братья очень важным я тут вопрос нужно ли было заводить 2 репозиторий или можно было бы использовать 1 типа докинуть вот сюда вот метод просто как и сделать мир от обзоров кстати да
01:06:57 - 01:08:15
вполне вполне себе юзануть просто вот это репозитории было хорошо просто + 1 минут можно ударить или как надо перечеркнуть я не знаю смотри не воспринимая все мои вопросы как правду о своем не это метр это модельная идея я просто к тебе спросил да то есть я просто накидывают себе я накидываю и ты должен как бы свою идею защищать то есть либо ты либо так не стоило делать для вас узнали банит вот поэтому-то стоит сразу игры то есть тоже не китайцы все исправляется ну так если считаешь хорошим хорошо давай
01:07:38 - 01:08:56
это все-таки мы грохнем здесь да то есть вот туда то есть тут в принципе архитектура это к сожалению то речь про которой нет правильного ответа винтик тур она должна хорошо решать твою задачу но нет правильной архитектура или неправильный и в принципе то есть честная тут бы против рома репозитория тоже то не еще не имел я так просто в кинул нет я не люблю вот эти репозитории знаешь которые вы могли ломая наконец оба ты создаешь репозитории если там появляется какое-то руление данными если мне нужно где-то рулить на
01:08:21 - 01:09:37
и они не смотри у меня допустим приложение там куча сущности и всего по какому принципу ты создаешь репозитории ли один репозитории на все сущность мнения ну типа одно слышали как правило одной сущности хватит от того репозитория ну то есть если вас сущность этом user как правило usa репозитория хватит есть еще иногда смысл один раз пришлось делать когда я раздел , который пишет или питере которых читает но вот это не кажется в редкий кейс окей а не вызовет ли это проблем со скиллом что у тебя будет один репозиторий
01:09:00 - 01:10:18
которую все знают про одну сущность не должно быть есть какие-то ситуации я с ними сталкивался чтобы осмотреть если я если fitch отделю по разным сейчас модулем допустим небольшое приложение будет 1000 будут разделены по разным модулем мне нужен будет чтоб repository мой лежал в каком-то третьем модуле которому могут достучатся все так мы вернуться в таком случае если мы сделаем вот тут два разных воды летом и room в должны вынести работу с умом вы должны вынести в тот толики модуль я понимаю но
01:09:38 - 01:10:38
это низкоуровневой оффлайн старридж он имеет как бы к ну он имеет четкую цель то есть это оффлайн сторону моста на устройстве в это его четкая цель а репозиторий это все-таки типа то что касается логики фичи ну по крайне мере так моем видении говори опять же я не типа не последней инстанции для такого объема приложения это типа может сыграть вот репозитория это просто более удобно ай пи ай к нашему руму чем сам room учителя она бежит даже здесь он выполняет роль и счет того что он у тебя знает комок куда кому сходить да и что
01:10:08 - 01:11:25
нужно сходить и в retrofit и в сторож окей давай дальше смотри ты ничего мне не рассказал про две важные вещи ты мне не рассказал каким будет образом разруливать отсутствие данных и наличие данных и как это будет получаться то есть грубо говоря когда я иду на попадаем на экран вот первая ставка дал мне нет никаких данных то есть мне соответственно нужно получить их новый допустим второй старт приложение когда мне уже есть сохраненные данные я их показываю на экране и современных крючка gres вот и
01:10:48 - 01:11:48
мне нет ничего не рассказал про то как эта ситуация будет разрываться сейчас я забыл про этот кейс да так как бы нам тут это разрулить но мы можем you модели узнать состояние если сейчас что-то базе данных ну то есть там условно спасите там у нашего ребята там что-то в оффлайне есть у нас и мы можем просто выбросить другую модель то есть на собой модель кто отвечает например за просто кот интервью да у нас там сил classic до вас будет объект который просто проводить чувак покажи на весь экран прогресс и там какие-то другие частоты
01:11:18 - 01:12:43
простит меня ты говоришь state просто этом не именно проданный вот как будут данные прилетать в этом плане вот смотри я открыл экран да понятное дело что у него там стоит прогресс как вот будут обновляться данные как как там будет происходить вызовут мне вот это интересует история вот тут примере он идет в room- он делает из себя просто выбрасывает подписку на состояние нашей таблице примеру да и параллельно просто стартует там припустим сервис до либо там либо word мэнэ либо что то еще с походом в сеть и
01:12:03 - 01:13:15
потом эта сеть а наш когда вернет данные они просто базу данных попадут я поскольку у нас уже понять а как понять в you модели вон смотри какая может быть ситуация первая ситуация что может быть хорошо из рома пришёл к какой-то там flow допустим или обсирал был он попал в моду на его показываем мы одновременно сделали запал запрос в retrofit фишка в том что наш то retrofit может нам вернуть пустой что ничего нового нет мы ничего не сохраним брюс и соответственно не будет апдейта как понять что прогресс то нужно было
01:12:39 - 01:13:48
показывать или нужно скрыть вообще как остро загрузится в этой ситуации с прогрессом а может retrofit сервис вообще нам ошибку выкинет сделать какой то еще маленький маленький сторож среда state нашего запроса где хранить его и так же делать они вам не но это сложности не кажется что это уже начинается какой-то over ну тут можно пойти другим путем который меня мелькнул 1 голове но мне не нравится это убрать его тут loader по второму обновление на это крайне костыль это требования то есть это должно быть
01:13:14 - 01:14:23
супер шью ой то есть визуально должно быть понятно пользу южный мы сейчас подгружаются да ни нет а когда поэтому да вот мы тут заведем какой-то эстетик который будет у себя хранить вот это вот мы сделали где kit ага а вон у тебя не было идеи что объект который из репозитория возвращается что это будет какой-то стэплтон глубже сам будет грубо говоря вагон загружать что-то там грубо говоря он будет возвращать там a fly какой-нибудь и потому и знаю там объект типа что там данные говорит типа что там
01:13:48 - 01:14:57
еще стоит laughing что частота еще подгружается потом обновлять каком-то этом году стриме и прокси ровать стрим из рума и говорит что сейчас они уже все загружены или два города данные говоришь там какая-то ошибка еще произошла при загрузке mortal также на этот объект откую то брал эти данные почему так он жеж когда мы смотри когда мы из репозитория будем возвращать такой объект он у нас мы просто можем смотри мы как делаем то есть я беру из из рума получаю какой-то там объект в обзор был либо flow сразу
01:14:23 - 01:15:34
запускаю retrofit сервис и я же контролирую и в и 1 и 2 то есть когда я первый делал запрос я выдаю все что у меня есть из репозитория то что мне пришло из думай говорю вот сейчас-то текущие данные и состоит он там laughing когда мне заканчивает retrofit я в этот же стрим который вернул из репозитория новый не оригинальны которые у меня в руме был а новый стрим я ну вот него выкидываю новый апдейт event с новыми данными с новым апдейтом это же говорит что вот вот теперь это твой новый апдейт вот то есть фактически у меня будет
01:14:58 - 01:16:03
какой-то как этот стоит фул сап стоит full запрос в репозитории ну да я поняла нам то придется еще вот тут конечно расширить mapper что вот это разрывало ему так mapper у нас модели маппет он у нас нема предстоит стать получит если вы никогда не перематывай ну так стоит это же можно промотать это не проблема но водоносы просто решение с заведением отдельного 100 раджаб от хранения состояния запросы душа китаем тогда у них уникальные идентификаторы всегда придумывать и прочим не выглядит намного сложнее и с
01:15:30 - 01:16:48
ним потом будет сложнее в поддержке на почему кое-какие индикатор ему нужно ввести старуха когти в базе данных я понимаю так тебе чтобы его понять какой то запрос с каким состоянии нужен тогда канаде которую выдернуть туда-то а если у тебя несколько запросов будут идти ну да на тонкость ну да сделай запрос retrofit а тут и тут же обрабатывать и вокал beck но впринципе да я понял окей то есть мы прямо здесь и линду обрабатываем и здесь но при этом сразу делаем return с подпиской на room наш окей так давай дальше смотри ты ничего
01:16:10 - 01:17:33
не сказал про важный момент про pagination она же должна быть потому что нужно может быть много данных как нам все это соединять мер жить но тоже важный момент ну тут конечно нам тогда вот тут мы таким вот простым и репозиторием парочку матери а не обойдемся нам нужно нужна пачка история потому что у каждом штате же все спать и тут начнется своя pagination кто-то по одному кто-то по первому кто-то по 3 это это честно вообще я эту задачу дай слава богу что мне она никогда не попадалась потому что на трудноразрешимые очень то
01:17:00 - 01:18:04
есть это честно нужно очень поднимается чтобы устроить pagination по множеству источников не ну мы можем сделать мы можем немножко обобщить конечно мы можем ну на самом деле это практически но я не говорю что это не невозможно но скажем это с кучей будет каких-то iv там грубо горя у нас там если вот так то мы тут накладываем такими нужно лишь мы не знаем несколько элементов есть несколько где мы прошли сколько где там закончится нужно держать постоянно стоит обо всем плюс они могут обновляться то есть эти
01:17:32 - 01:18:40
же источники которые живые они могут обновиться в любой момент тут а то что источники но может обязать такое над плане поджи нации можно сделать некоторые нажать по факту по 12 папа джонс а не так много у нас есть поджи наций по индексам где мы говорим чувак дай нам с датой start and тайна вот эту порцию свою и нас есть поджиматься по тегам когда быть тебе возвращает просто ну то есть мы делаем какой то запросит обратно возвращает наши позже плюс тех какой надо передать ему говорю для следующей порции прокат
01:18:06 - 01:19:17
это два типа поджи нации которой у нас есть ну по ключу какому-то ключу по тегу называю да да по ключу факт это у нас всего нас это два типа поджи нации больше то у нас нет то есть мы можем абсолютно спокойно просто сделать некоторую абстракцию также виде наверное абстрактного класса там по дженсен вот это вот сделать там 2 имплементации там 2 абстракции одна вот такая которая по индексам 2 та которая по ключам и дальше пусть они принимают например да поделать in дочерние следующие которые вот имеет эту всю базовую логику
01:18:42 - 01:20:01
с руль и нам сама это добавлению к вере всякого такого которые принимают этот объект и там какая-то линда который мы из этого объекта селектор по фактам из этого объекта брали какой-то field который мы передаем вот эту общую логику разруливания т.к. либо разлили разруливания индексов и вот мы это все дело аккуратненько закроем понятно не на словах данные словах она звучит намного проще чем в практике у меня есть похожий classic откопали ну а на этот голос кучи источников я же говорю с одним источником все
01:19:22 - 01:20:32
просто с места с двумя уже начинать становится сложнее вот а когда у тех может быть произвольное количество все еще сложнее становится просто подумать что как это два паттерна копипастить хорошо типа сеть плохо сделать как опасен хорошо и по капле постить работу спаджи нацией возможно окажется домена разорванные штуки это будет лучше чем пытаться возводить абстракции окей так я не очень понял какие тут модели будут использоваться на каждом из слоев поэтому мне бы было интересно вот наши дата модели которые позже но тут у
01:19:59 - 01:21:15
нас выбора не особо вот это все дело макать их в domain модели ну и фиг с domain модели довольно простые я их же и сохраняю базу данных то есть этот не увидел смысла делать до прослойки какой-то эти домены модели прилетает в а где model view model а до этих маппером которые из domain модели сделают ю ай модель хотя тут тоже спорный момент но с моей практике большинстве случаев юрий модель нужно поэтому я основывают на статистике его это все дело отдается во вью в единой модели который просто плавится
01:20:37 - 01:21:50
напишу так а зачем вот делают отдельно модель для с сервиса для 100 раджа и для я с какой целью это дата логика и как бы юань я понимаю ну да таргитай они одинаковые схожие совсем грубо говоря с бэк-энд присылай то же самое что сохраняю базу данных и на его и впринципе показывать все поля объекта минут а че мне делать разные модели такой это это не связанного проще сколько этим я в целом не если бы если backend шлет поля прям как надо тогда бы domain модели data model это в одну стопку борту спокойно скинуть
01:21:15 - 01:22:29
если вот прям мы знаем что бег preset как надо и у нас нет задачи сделать какой-то там пульте модульность с разными репозиториями либо все еще чем то тогда бы конечно бы это объединили я не соглашусь тут опять же есть проблема того что это сегодня так давно может быть совсем не завтра и добавим их независимость но их независимость лучше и мапперы в принципе то есть вы не позволяют себе и меня все просто все поменяется модель на одном уровне или как начнем криво что-то выглядит это тебя начнет затронет все слои сделать
01:21:53 - 01:23:01
слои будут зависимы друг от друга провязаны на эту модель это но не очень хорошо у меня была целая имеет ни с ним связаны с между слоями ну да но у меня было такое что нам надо было просто ввести новую модель но этот тип регулярка и пять минут и зависания сида который пробежится и везде все поправит создали новый объект сделали replace и импорта в replace объектов вот и хорошо как это можно поправить любой момент времени я уже лучше прошли там современные движки который наверно тоже могут делать
01:22:33 - 01:23:40
да но почему бы не закладываться сразу нормально потому что него гадаем как правило не угадаю то есть но есть вещи которые понимают работы с бизнесом я понимаю что ну вот это не скоро захотят то есть когда эти вещи там долго работаешь сам в одной доменной области ну это же не должности понимаешь бы элементами на власти да да ты можешь так предсказывать это я в него 3 метрах бью себя по рукам и вот понадобится сделаем вот пока живем что было просто и понятно что не было лишь не прошло и потому что
01:23:05 - 01:24:12
ну вот тема 3 pro которые сейчас у премьер ну как я могу заменить их кода генерации а матери которая заменяется кода генерации это уже такая себе идея хорошо я в принципе для себя узнал все что хотел возможно у тебя есть какие то вопросы про проект ой и августович сейчас я убрал хорошо то есть про проект про компанию не знаю сколько возьмёт пускалась его интересует да как какие этапы проходят код вот фразы чуваки надо вот эта фича дав того что он вроде как он переливается побрал чан какие ривен проходят какие чеки все что
01:23:39 - 01:25:09
происходит но у нас настроен сиай мы как бы все соответственно прогоняется через него у нас там настроен статический анализ кода запускается ты все что можно то есть есть немного тестов мы их тоже запускаем но активно тест ниппелем просто мы активно активный сильный стартап которым не до тестов вот до порой бывает что немножко [ __ ] кодом ну просто потому что приходится в силу скорости но стараемся держать какую-то планку качества то есть типа код мечты вряд ли наверно нас сразу получится но если у нас все
01:24:29 - 01:25:46
взлетит впрочем у нас нам проще будет переписать все заново чем сейчас терять время на кайф этого добавляйте лишние модели когда не только для того чтобы просит нет принципе это не геморойно и это время немного не не отнимает той скорее отнимает потом проследить откуда эта модель и понять где она сейчас применяется ли прочим и индификатор модели кто там из написан кто до боли прочим это легко говорит откуда она прилетела и где она должна использоваться мы явно не пропускаем модели с ненужных слоев откуда-то даже
01:25:08 - 01:26:17
без модуля лизации приложения там пограбил модулем и прочему явно хотя боже чекаем что наши модель они прошли это легче даже прочитать skoda review какой-то такой кода провести то есть это намного упрощает жизнь кстати что юзаете как интер чистая час интересно дтп это правильно решит d-link android линд в принципе все что есть стандартная open source прозвучало странная фраза дтп и квиллинг ну так конечно не это две раздельные тузы просто detect имеет extension который умеет себе каталин дотации имеет
01:25:42 - 01:27:03
все что метки 3 до если взять так formatting а также есть capering по факту но она просто да это фактически как плагин дефекта который оборачивает каталин ну я поэтому к бунту это воззвание разные я тоже люблю этот литр окей хорошо plaque понятно не знаю там как релизе тесь ну то есть частота релизов какой процесс релиза сколько программы пока в первую версию разрабатываем поэтому никаких релизов у нас нет окей [музыка] целом понятно поставку технологий ну то есть что юзайте ну кроме того что все
01:26:23 - 01:27:44
самая модная молодежь не знаю там что вы знаете для тестов что и знаете для там дядя pro series лакей тира либо для чего ты там еще код лемко рутинный dagger джетпак стек и узнаем там много из него пока он полз пока не брали скорее мы так смотрим вот когда стабилизируется начнет больше документации появляются думаю будущих это маленьких экранах сможем попробовать вполне но просто сейчас он слишком часто меняется и мы поговорим только временно его поддержку а что для навигации для навигации navigational архитектор
01:27:04 - 01:28:27
компонент у нас принципе все не так плохо у нас довольно неплохо все это сделано и при правильном в использовании то есть м или как он там улучшился его можно хорошо юзать но это когда он уже лучше когда появилась back stack потапом до этого или не было проблем у меня 10 не про меня были с ним проблемы он не выдержал bios то есть было персии там у нас по google navigation но он в принципе да то есть я думаю когда вот все упираются с ним потом табов multiple множественный baxter в принципе там какие-то к стали есть и библиотека этого
01:27:45 - 01:29:04
куча есть у нас там с этим сезоном много проще оказалось вот нам принципе повезло скажем то есть у нас нет фантасмагорической фантазии дизайнеров в плане того как приложение должно уходить куда плюс я думаю что наверное в 140 все-таки мы уже увидим фрагмент множественные back stack во фрагментах и в принципе много вопросов упадет само собой ok есть есть есть ну не знаю там что вы знаете как хостинг систему я занимаюсь все в моно река правильно приложение как будто смысл разделить не знают мчится с интересно что вы
01:28:25 - 01:29:56
знаете хостинг для git системы отрастать не снесли стремно наших серверов и держать блин у нас как бы не настолько типа сверх secu но типа и почему нет каких-то жестких требований плане нашего бизнеса или чего-то поэтому без проблем то есть приватный jet хоп все то есть если кто то очень захочет спереть а не сопрут и плюс все-таки сейчас на текущем этапе развития компании нам сейчас заниматься своим хостингом всем прочим ну этому просто опять же потеряем время деньги и вот начнем как это делать свой хостинг
01:29:20 - 01:30:42
ради своего хостинга который по сути нам принесет только самоудовлетворения в плане того что сказать что добуду на свой хостинг поддерживать развивать и все да еще платить за какую-то систему которым на ней развернем да зато спокойно спать спокойно засыпаешь и кишит хабом сплю спокойно еще новые плюшки получаю каждый раз ну тогда да хорошо окей в принципе на меня таки общего просмотра размер команды и это последний вопрос ну команду мы сейчас активно набираем думы 3-4 человека собрать у меня все по вопросам которые там когда
01:30:02 - 01:31:28
некоторые вопросы не для и чара руки хорошо все давай тогда немножко разберемся что у нас было до да да в общем смотри как получилось то есть принципе поначалу собеседования то есть пока тлен теме у меня сложилось впечатление что ты понимаешь ты знаешь но проблема с вооружением своих мыслей то есть не всегда ты мог что-то донести какие-то вещи ты знал но не вот так типа чтоб немножко под капотом от сеньора смотри мои лично ожидания ценю рад и стонут на какой уровень проходила интервью у меня ожидалось что то есть я
01:30:47 - 01:32:01
всегда ждал первых и сеньор это самостоятельность то есть тот человек который знает как разработать фичу там архитектуру и прочим то есть принципе если он знает общей концепт того как вся система выстраивается ему это передали то он принципе может спокойно течь из архитектор следующий момент то что он понимает не только что за implement но и последствия этой имплементации под капотом третий момент это в том что он должен уметь то что он сделал или то что собирается сделать описать или передать кому-то то есть до что грубо говоря чтоб
01:31:38 - 01:32:48
у него все-таки скиллы уже по коммуникатору и пусть он спокойно при может мент риск вида там junior of middle разработчиков в команде и соответственно то есть ну разгружать ли да вот то есть это скажем такой человек который еще не отвечает за всю систему за архитектуру всей системы и прочим но уже спокойно может пилить в рамках устоявшийся каких-то правил самостоятельно и эффективно работать с другими более младшими членами команды вот вот так вот вот от таких понятий отталкиваюсь опять же то есть типа можно
01:32:13 - 01:33:19
сейчас меня начнут как-то это там закидывать чем-нибудь но это это моя позиция это мое мнение взгляд на сеньора вот и я я вот таких вот для меня это план корпус у нас в индустрии нестандартизированное то в целом поэтому типа как с архитектурой сказать мне что я не прав или не прав нельзя я художник я так вижу красная фраза совершить review если вы сеньор компания а вот все еще сеньор просто в компания да то есть вполне возможно какой-то компании вы на джина не потянете вот да поэтому вот то есть смотри эта
01:32:46 - 01:34:04
проблема была что вас на или за что у тебя знание есть но вот то что ты не мог что-то донести изложить более четко какой-то знаешь вот такой мысли что я в одно приложение мог понять начинал харрис это примеры хотя я хотел получить конкретный ответ то есть это говорил о том что ты не можешь конкретную дату из не знаешь конкретного ответа чёткого одно там 2 предложений начинаешь знаешь что вот как применяется прочим да я вижу тут и на практике это понимаешь но не вижу что понимаешь типа в чем суть печи
01:33:24 - 01:34:17
без бот в абстракции от написание кода вот она собеседование как раз там собеседника краста в целом то есть сдай если много топовый какие-то собеседник компании которые там это устраивают в кучу этапов который там проверяют еще походишь и все да там ты как бы это все продемонстрировать но скорее кодовые этапы они не всегда первые идут хотя это как у кого этот может быть как и тут может быть то что ты можешь просто теоретические знания свои не показать хорошою соответственно провалиться хотя практически у тебя
01:33:51 - 01:35:04
скилов хватает то есть потому что по собеседование это такая штука которая нутру нас нет бывает что кто кому то дают как эти знаешь он занят эти приставы и задания но честно не все соглашаются выполнять потому что первых найти даже четыре часа это очень сложно а там 8 когда и тают и лицам на выходные это вообще такого моему все типа до свидания вот и поэтому может случиться не очень конечности потом компания мечты в рот хочешь попасть ты конечно его выполнишь это понятное дело но не для всех вот по
01:34:34 - 01:35:41
поводу android в принципе про жизненный цикл фрагмента тоже получилось ты так плавал то есть тоже опять же немножко так вот как как-то ты ответил на все в принципе вопросов не было все было окей но опять же то есть так вот нечетко я понимаю могло сыграть давление все прочим но как бы фрагменту значит для меня типа жизненный цикл фрагмента это тот вопрос который уже сдают наверно любом собеседование и отвечать на него прямо вот четко четко вообще типа это задача уже даже любого разработчика наверное ну это на мой взгляд опять же
01:35:07 - 01:36:21
вот поэтому я ожидал прям четкого развернутого ответа понимание почему как что там происходит как эти вызовы работают и потому что на самом деле очень важно потому что с этим когда ты начинаешь implements всякие навигации анимации или какие то другие фичи ли сталкиваться с кем-то богами то опять же в них начинаешь опираться в вас в знании особенностей этих вот вот по поводу архитектуры тут смотри как получилось а так дальше даже не поводу архитектуры задачка-то что было про загрузку большого файла мне там все
01:35:44 - 01:36:49
понравилось все было классно прямо вот как я хотел все ответил все рассказал про все сел в проси особенности про все штуки да поэтому там вообще вопрос не было там было все классно вот прям вообще супер супер дальше смотри архитектурой задачкой получилось уже как-то немножко размыто то есть я видел что ты понимаешь ты какие-то части стенам начал самом начале греки потом pro-kit абстракции но почему-то начал фигачить конкретными библиотеками там retrofit амру мамы прочим это я просил тебя просто какую-то
01:36:17 - 01:37:21
абстрактную схему то есть наверное не стоило так специфицированы на технологиях но я я не могу это внести типов kotaku какой-то вот прям простая я в целом вот как бы я наверное буду я бы не спицы педроса просто написав сколько-то там сторож оффлайн тип искал будто на словах что этом возможно взял бурун для его реализации вот я редко пишу потому что retrofit сервис сразу любого дрочит rapid series даже если у вас на проекте не retrofit он понимает что это ну ну какой то христа и пиа и просто какую она взяла в
01:36:49 - 01:38:07
ней как бы вот вот поэтому вот так по поводу там коммуникации между слоями тоже как-то так было вот немножко что-то расплывчато прочим то есть опять же я ожидал более стабильного и четко вот этого формирования базового конце то там про pagination про более вопросы таких глуп с раскрытием всего этого опять же вот опять же типа вот хотелось у службы вот более четкого прямо вот такого базово по крайней концепта прочим вот хотелось прямо четкого четко услышать и увидеть его на схеме я его сразу не увидел вот
01:37:26 - 01:38:39
хотя в принципе ну вроде приложения такое простой его всегда даю может уже кто-то слушает там не был на содействие вот к сожалению больше давать не смогу после подачи той подарил тебе подарил тебе это приложение я смогу найти да то есть теперь теперь я думаю никто из нас лучше не стоит задавать это соби собеседованиях вот но тут на самом деле смотри чем разина то есть даже я могу эту сабину могу эту задачку кому-то задать все прочим то есть тот фишка в чем что очень легко даже вот я эту задачку даю всем абсолютно любому уровню
01:38:04 - 01:39:16
там и джону и метлу и сеньору просто легко очень понять таким образом разницу между специалиста насколько глубоко он продумывает задачу насколько он смог какие краевые аспекты там где он говорит что здесь здесь могут быть простой не могут их решить или прочим но это уже другая задача то есть то что он там не может не хватает знаний или не знает и другом если он хотя бы эти краевые аспекты видят может рассказать понять вот это уже начинает различать специалистов то есть на одной и той же задачи как они себя проявят то
01:38:40 - 01:39:40
есть мой отдел добавить текст и они все должен отправиться на и делали но если там нужен обаять кто-нибудь сложную ой вот здесь как бы проявиться гибкость между тем как это сделает грунт когда ты увидишь там кучи вложенных лают и прочим или которым будь сеньор который там он напишет эффективным layout в один уровень где-то можно ли кастом usa и зайду это будет очень классно работать очень быстро и вот это отличает фактически реализация на воде тоже функционала вот вот тут было очень как-то плавающим и
01:39:11 - 01:40:11
вроде знаешь какие-то моменты с наруто ты все делаешь верно в другими тот начинают задавать вопрос или что такие-то вещи спрашивать меня такое чувство что как-то все-таки нет поэтому типа твердо значит сказать что там типа было вот ответ на уровень который ожидала сеньора я не могу сказать вот хотя потому заданию как меру сказал про загрузку я придумал все у меня щас архитектурой порвет не тут делать нечего все тут то как быстро закончим разойдемся вот но все таки вот я бы тебе опять же порекомендовал потренироваться
01:39:41 - 01:40:38
в том как это выражать графически даже просто потому что это на про передать или описать даже то что ты сделал какую-то базовую архитектуру где-то заложил прочим это очень полезно потому что говорю для сеньорой выше навык коммуникации и умения передавать свои мысли очень важен без него одну как бы ты без него будешь сеньор такой синьор помидор разработчик назовем их так то есть которую сам себе крут все да но толку от него в команде или каком-то переносит знание прочим это очень очень очень трудно то есть таким
01:40:10 - 01:41:17
человеком иметь дело потому что ты практически вы заменить не можешь ничего вам он еще может быть токсичным и не работать нормально в команде это тебя не касается ноте в целом были вот такие люди которые закрывают информацию в себе вот я все таки я я например я я в принципе это опять же мой за гиббон но я придерживаюсь больше людей в команде тех которые любят шарик знания то есть это что-то рассказать что-то поделиться что-то сделать там не знаешь этих закинуть что-нибудь интересное и что то есть но люди которые вот как бы работают
01:40:43 - 01:41:43
как единый организм из которой вот хотят вместе улучшать приложение разве можно не типа по отдельности по отдельности может можно набрать лучших специалистов была возможность но я предпочту лучше команду сплоченную которая эффективно растет месте чем специалисты которые независимо друг от друга что-то там развиваются вот вот как бы типа возможно у тебя есть какие то вопросы и я тебе еще поотвечаю я постарался максимально широко дать обратную связь то вопросы наверное только такие то есть ну типа я понял
01:41:13 - 01:42:21
типа примеру который говорил типа наверное не нашел такого что я прямо вниз целом позитивно в целом и позитива в целом позитивно если у меня спросили брать или не брать явка к нему сказал как минимум стоит испыта спасибо если она долго менять работу окей вот да как-то не знаю спасибо за опыт это результата что меня есть практика все это время от времени хожу на интервью но чисто что вообще понимать как бы что происходит вокруг тебя но здесь было круто существует ли есть в компании существовало я возможно даже опыт бы
01:41:47 - 01:43:05
принял в целом я бы сказал кинулась потолку к ним можно прийти туда предложил меня онлайн без sms я не буду я боюсь тут слишком много людей там самом деле набраться смелости собеседница туда же какой-то момент был больше 300 человек это нужно как бы имеется очень не сильно как это быть очень уверенным себе очень сильным и на самом деле это очень непросто то есть люди стрессует даже просто хотя на собеседовании когда-то еще как это знаете то есть тебя за стеклом таким не видим на себя еще смотрят 300 человек это еще веселее то
01:42:26 - 01:43:37
есть и намного может давить поэтому вове можете устроить там в комментах овации сейчас вова большой молодец спасибо вова ещё не рассказал что он же ваш есть свой подкаст я вот тоже узнала есть да когда вова написал я потом вспомнил 22 вова или как там называется android история называется data android виду я и 2 2 вода а ну значит а вот да вот поэтому да то есть вот видите то есть но я могу не поэтому я после того явно я вспомнил про подкаст после того как него вину заявка вот зашла понравилось я
01:43:00 - 01:44:21
решил сделать до на этом наверно у нас я вот еще какие то вопросы ребят если у вас есть какие то сейчас вопросы ко мне к вове в.а. слушай а еще забыл вот вопросы которые ты задавал в конце они в принципе неплохие вот что-то для себя хотел ими выяснить размер проектами количество костре и на них и никто про это никогда не скажу толком правду не ну я я не на людей спрашивали на то люди вот я прихожу на текущие вместо работы мне люди часто так чувак типа ты приходишься рифат время на рефакторинг никто не дает сонет
01:43:40 - 01:45:05
еще полгода хороша на самом деле так на самом деле еще есть важный вопрос то есть ты вообще должен понимать то есть мы собеседование для меня такое там это как бы в две стороны такое движение то есть ты должен понимать что и ты должен познакомиться с этими людьми и понять хочет ли ты с ними работать так и они должны понять тут устраиваешь ли ты хотели бы они чтобы ты был вот в их команде разработки вот я например люблю людей ставить к нибудь интересный вопрос создатель на собеседовании то есть которая вообще не стандартный я например
01:44:23 - 01:45:38
спрашивал 2 посмотреть типа там какие-то компании shagren а почему вот вот там ну и мы с как центрируем ноты приходили вот почему ты работаешь в этой компании вот чё тебе здесь нравится вот что тут типа что такого ты получил здесь чего не мог получить раньше там на предыдущем месте работы или прочим вот и это вопрос которому ты особо не подготовишься и который на самом деле показывает вот типом может какие-то вещи от для меня на самом деле то есть один вопрос один ответ на такой вопрос очень открыл много интересного компании
01:45:01 - 01:46:09
позитивного то есть там прямо на рассказал про такие вещи про такую атмосферу которой реально классная и которые хочется быть тоже любит какой ваш челлендж челлендж вот я не очень люблю когда начинают задавать вопросы оля вот какая у вас была самая сложная задача которую вы решали table дома везде сложные задачи были я как как бы трудно вызвать то есть я как бы мы не хочу с какие-то легкий задачи где-то решать или прочим то всегда были какие-то вызову что-то да всегда было интересно и поэтому всегда хотелось что-то типа как это
01:45:35 - 01:46:50
посоревноваться прочим то есть поэтому это тоже такой вопрос который вот очень интересный ты ничего не узнавал про продукт вообще вот это вот плохо ты не узнал про продуктами виду как про бизнес вот это очень важный вопрос я тебе тоже рекомендую узнавать потому что потому что аминная вареза узнает что с этим бизнесом будут потому что тебе деньги платят не проект of business и вот нужно понимать откуда бизнес инвестируется что вообще происходит и прочим даже особенно если вот стартап ты идешь сказать блин ребята чел у вас есть
01:46:15 - 01:47:22
горит вы за какие деньги вы живете прочим то есть что я полностью блин не зарплаты будут а кормить просто будут в офисе и всей опцион дадут который не факт когда тебе вернется и ты про это вообще ничего не узнал и вот тут надо узнавать очень сильно то есть спрашивая прямо у людей узнавая за какие средства идет финансирование что там прочим то есть ну узнай про этой постарайся если еще компаний обычно если это какая-то публичная компания и прочим ким там бизнес ангелами что-то можно поискать в интернете какими там раунды прошли или
01:46:52 - 01:47:50
прочим вот и это тоже очень важный вопрос можно ты про это узнать нужно мозга можно мой стартап через полгода прогорит и ты останешься у разбитого корыта из хорошо чистить через полгода они через три месяца а ты откажешься от какого-нибудь другого опера просто потому что там не знаю что тут тебя вот завлекло в этой компании маленькой ты что-то был вал каком эффекте и согласился то есть узнавай про такие вещи все таки если ты тем более человек вот сеньор с опытом то есть то узнавай про вот эту стабильность
01:47:21 - 01:48:22
поможет уж не хочет через там 33 6 месяцев снова идти искать работу потому что компания прогорела и просто не хожу в маленькие старта ты я понимаю но суши но мы как бы песочницу стоп они отправили вот и я как бы зрителям тоже рассказываю вот чтобы я обязательно спросил даже с какого компания там не сняла офиса не показал какой на крутой все равно спрашивать это всегда особенно если вы у них нет готового продукта у них там какие то вещи с репутация может утонуть загуглите заранее или прочим где-то найдете
01:47:51 - 01:48:55
обязательно спрашивайте такие вопросы если на пресс загубили что там у компании плохо репутацию занятым массово уволились у них сотрудник или что то еще не стесняйтесь задать им такой вопрос и узнать меня не только нам сотрудников которые там где нибудь какой нибудь сойти с работой были ли кучу какашек на начальство а узнаете еще . вот этого начальство почему так произошло вот потому что как этот тактично люди всегда пишут типо в интернете и всегда этого будет то смотрите на ситуацию с двух сторон не
01:48:24 - 01:49:23
смотрите на нее из 1 вот это наверное вот те вопросы которые бы я рекомендовал бы эти задачи на основе своего опыта еще не всегда дают из которой я этот набил за долгие годы своей работы как и про вопросы нужно задавать вот на интервью лучше всегда говорить честно и искренне это тоже мои тоже мой совет это типа это это просто уже это абстрактный ты уже не касается этого интервью вот то есть я наверное наверное да тут уже писали что это вот тут андрей деркач писал типа да кирилл честный кандидат говорит что
01:48:53 - 01:50:05
думает обычно таких не любят это поэта обычно проблема для меня да то есть но как бы изменяет самому себе тоже это не знает кому мерзко и противно и лучше бы с нормальным человеком чем работать в крутой компании быть каким-то другим знакомое это я в этот и я сейчас в этот момент вспомнил не знаете я думаю друзья сериал всеж любили смотрели и там была серия как чэндлер он работу там пришел тот его из друзей и к нему коллега по работе подходит там бабе привет типа как твои делам его спрошу тебя бабе называет
01:49:29 - 01:50:41
ингрид он как-то шел с пончиками искр и сказал мне бабе хочет пальчиком такой а я хотел почек и вот так чендлер стал бабе потому что он хотел пончик и кем-то другим казаться все вот и поэтому вот такая [ __ ] да вот и вот в этом случае то сейчас достану эту ситуацию что лучше быть самим собой и как бы не выдумывать да и вести до на самом деле была очень классного большое тебе спасибо что ты согласился всем кто нас смотрел наблюдал за процессом до запись обязательно будет не переживайте это все задают в
01:50:06 - 01:51:13
комментариях я не привык что записи всегда выкладываются ничего не прячется вот запись будет вы сможете все это посмотреть я когда анонсировал это первое вот это вот собеседование пробной такой скажем я получил достаточно много заявок если вам этот формат понравился если вам хотелось бы поучаствовать и левак даже посмотреть просто пишите мне что это интересно я тогда организую это снова мы найдем снова героя которая будет готов перед парой сотни человек показаться и выпустили выпустить все то есть все все из себя изнутри выпустите
01:50:40 - 01:51:52
показать мы может попробуем просто беседовать какую-нибудь большую компанию не стартап мы уже в какого-нибудь его там не знаю вами будет большой банк будем собеседовать до в какой-нибудь большой большой банк будем собеседовать будем менять да поэтому обязательно ставьте лайк тогда этому ролику пишите свои комментарии что там хочу еще что-нибудь еще то есть каким то образом давайте мне об этом понять это очень важно это очень полезно и я еще подготовлю кем будет интересных задачек специально уже на следующий раз да вот
01:51:15 - 01:52:27
на этом у меня все вов очень просят ссылочку на твой подкаст ты мне ее скинь я в описании и добавлю и можешь зайти там android бродкаст огс тоже скинуть хорошо все на этом у нас все сегодня всем ребят хорошего времени дня в которой буду не смотрели хорошего вам android пока пока пока
01:51:51 - 01:52:34