Подготовка к собеседованию на 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 каналы и чаты
Транскрипция видео:
она [музыка] всем привет с вами android бродкасты я кирилл розов сегодня мы продолжаем наши интервью интервью собеседования кто как называет прямом эфире если на сегодня исключение сегодня интервью буду проводить неё мы берем мы как всегда я выбрал точнее при помощи лёши быкова лёшка стать привет давайте добавим на лишь привет привет что не лёша будет проводить собеседования да мы собирали людей если вы пропустили когда это можно было сделать где прочим ну смотрите внимательней потому что нас и telegram
00:00:03 - 00:01:30
канале android бродкаст из которой можете подписаться обязательно это делаете потому что там проходят все сборы там проходит все объявления анонсы прочим там это точно никогда не пропустите я каждый месяц до каждый месяц стараюсь проводить собеседование и соответственно собираем людей вот в этот раз мы отобрали человека ну точнее я собирал лёшка выбрал кандидаты которого будет делать делать кто будет собеседовать вот краткая ли вообще давайте я немножко расскажу лишь и если вы еще не успели прочитать лёша разработчик компании
00:00:56 - 00:02:03
революционно сейчас у нас в лондоне занимается созданием приложение револю то финансово фильм текстов то подумал знаете очень большой крупный помимо этого лишь является google developer экспертом по android и многие из вас могли его еще знать застать когда он вел не закрыта шпарит android academy moscow курсы так как это правильно назвать что что это было это комьюнити unity ну вообще он выступал дак сильно ти получил новое поколение android разработчика вот и самое интересное что как раз на сегодня он будет собеседовать
00:01:29 - 00:02:40
дима дима привет и дима один из горячей которого у него еще свое время получился вот поэтому скажем это будет такая встреча мастера и падавана спустя сколько три года или через сколько для прошло с новыми где-то 3 33 года вода убил 4 бы год 4 вот как раз на сегодня мы посмотрим на что на что дима способен чему научился и в какого специалиста он вырос вот смотрите какой формат свой формат принципе точно такой же сейчас это будет примерно около час час пятнадцать 1:30 своего собеседования в рамках него моники
00:02:05 - 00:03:30
вопрос ничего не задаем потом после этого мы обсуждаем соответственно уже результаты дима расскажет как ему было собеседником сказать какие у него впечатления поделимся этим обсудим ножка и потом подключаем в конце на ваши вопросы важно вы можете вопросу своей закидывать но скорее всего они за труд на в истории потому что история и все было гармонично поэтому вопрос лучше всего закидывать именно будут конце когда мы прямо устроим этапе ntsc секцию вот но всякие интересные штучки я подмечу также не стоит подсказывать
00:02:47 - 00:03:47
когда хотя можно подсказать давно чтобы дима не смотрел в комментарии да вот это самое главное чтобы дима сам сам себя контролировать его сможешь как ты сама контролем все хорошо я закрыл справишься все закрыл я помню как индусы типа когда мне рассказывали в и пами как индусы проходят собеседование с тетрадкой но эта тема но эта тема другого видео да все я на этом вас оставляю если вдруг нужна моя помощь я тут я вас слушаю просто позовите меня скажите кирилл приди и я соответственно придут и могу
00:03:17 - 00:04:31
со всем разобраться все ребята теперь вы сами по себе так отлично но обычно глава то что давай наверно перейдем на то что было комфортно но вот сколько мы друг друга знаем вот 8 до меня зовут лёша и родить и работа в компании android подкаст и образца известен тем что планирует запустить финн тех вот потому что сейчас это модно вот наш иммунитет очень хорошие условия он даже оплата в биткоинах адвокация на марс все все вот и в общем будем делать тоже не стали и соответственно ищем команду вот и о
00:03:54 - 00:05:09
начальство будет интервью которое продлится этому 1:15 в процессе будем обсуждать различные темы такие как возможно java код ли нам дует из детей немного текстуры и в конце я отвечу на все вопросы которые у тебя не могут возникнуть в нашей компании к постам работается и так далее но хочется отметить что мы не просто наверно будем сегодня в каком-то таком сухом режиме все обсуждать не очень нравится позиции беседа в режиме наверно такого диалога больше подкаста очень интересно что ты думаешь на ту или иную тему
00:04:36 - 00:05:48
вот так что каких-то сухих вопросов как работает джесси и так далее сегодня не будет и любой соседнего общее это стресс вот это абсолютно нормально с молли мы делаем это сегодня публично вот если будут какие то вопросы вот просто спрашиваю я постараюсь в общем это матч и сделать так чтобы ваш массу раз пошел те максимально комфортно вот так же время процесса я могу что-то там печатать это не значит что ты кисой с друзьями не значит что мы планируем столик в баре сегодня вот после этого интервью вот я
00:05:11 - 00:06:32
буду делать какие-то заметки от очень вот и также я могу тебя иногда перебивать вот и мощи вырезать что тема себя исчерпала и нам пора двигаться дальше потому что у нас очень лимитированное время ну скажи у тебя есть вопросы о процесса пока все понятно я готов стартовать ok до того как мы начнем нашу техническую часть нибудь роз поговорить о тебе вот я вижу по твоим у или думаю что ты работаешь как 1 и 5 расскажи чем ты там занимаешься как ни странно я там android разработчикам работаю пишу обычные бизнес-приложения вот понял
00:05:52 - 00:07:26
что ну хочется развиваться развиваться дальше вот и это такой формат максимально стрессовой чтобы пройти собеседование поэтому за оплавился во к вам в компанию подкаст сколько сколько у вас человек работает на андроиде небольшая команда у нас 4 человека расскажи про свою роль именно в канаде моя роль но наверное в локальном смысле это это synerdocs из этих четырех человек я займешься ну как бы когда 4 человеком там может кто кто угодно может кем угодно мне кажется вот и ну я занимаюсь положением
00:06:39 - 00:08:14
которые которые работает для клиентов там для трека посылок и так далее вот со вторым junior разработчикам делаю code review ну и пилим фичи всякие 3-9 ну стадо стандартный floor где-то раз в две недели мы делаем ну релиз там с какой-то новой новые фичи примерно так уходит 2-3 недели как это делать как автоматизировано или выкладывать руками и сам процесс отрезного pipeline а перед смысле этот опросе а и вопрос или в целом это вопрос такой ну в общем как это делать с матом не знаю нажимаем на кнопку нас подгоняю с тесты или там
00:07:27 - 00:09:05
мы нажимаем на кнопку собирается build мы аплоудер или в студии собирается по поводу по поводу тестов они они гоняются нося этом с винтом там с дефектом и котелен вот но это обычно перед перед имиджем мастер прогоняем вот а сама сборка руками по 1 собирается через ограду тоску и потом уже консоль google то и окей понял расскажи из нас сама самую крутую фишку которые ты сделал такое со мной pro 1000 это хороший вопрос ну в целом это был интересный опыт работы в компании потому что когда я пришел
00:08:23 - 00:10:13
приложение еще была не в релизе вот и пришлось мне пришлось да ну то есть мамой задач было довести его до релизного состояния зарелизить и поддерживать дальше вот и сейчас она уже где-то год там прошел с момента релиза и в целом в целом все идет неплохо а как я понял расскажи ещё одну но плохим быть инженером это значит перескакивать наверно через всякие ямы через всякие грабли и так далее и вот перескакивать к сожалению не всегда удается расскажи про свою не знаю сама самую критичную техническую ошибку
00:09:17 - 00:10:39
либо сообщал ну были ошибки связанные с тем что до этого я работал на другом проекте и там не было никакой документации куча legacy кода и приходилось как бы ну код был очень хрупкий и ну такой в одном в одном месте что-то меняешь и в другом месте анала она отламывается и ты не понимаешь почему зачем и всячески думаешь о том разработчики тур написал это до тебя или ты там были постоянно ошибки связанные с тем что никто не знает как это работает и ты просто пишешь нуга это так был случай с тем что не
00:10:01 - 00:11:25
только сколько по времени вот присутствует облагает кодом оба же до которой довольно-таки старая вот расскажу подробнее как потом работали с ней и сколько времени у плохо ну там было я начал работать в компании 2018 году и там была приложения которое у которой сам самое с на них там коммент по-моему не шум 2013 году был и там можно было найти все атомы джаву ясен тоски и все что хочешь и ну как она восемнадцатом году по моему он еще не был зайди сзади причин на ужин уже тогда он был не очень в почете и ног
00:10:48 - 00:12:08
постепенно был такой процесс рефакторинга приложения пири-пири переписывание накоплен ну там когда удавалось там писать новые фичи или захватить старые какие-то бомбу более понятным образом написать добавили тест и начали их гонять перед мужем веток и а при добавили модели модуля лизации в приложении это сильно помогло как бы сильно снизила процент вот всяких всяких ошибок в чем была ошибка вот номер в чем в чем была ошибка вот именно твоя то что долго работали с техническая ошибка была случай когда
00:11:28 - 00:12:52
его примеру кого как в этом течёт кровь что тоже равно и столько ошибок было а ну я имею ввиду что как когда ты не угадал с логикой и оказалось что она работает но не так как ты подумал и посмотрел по ходу и потом клиент заказчик который как для которого делать это приложение говорит что ой она сломалась она она она она не работает так как мы хотели такого рода вещи так расскажи по 8 долларов скажи что-нибудь другое тогда вот какой нибудь бог да который по имени возник нубладо была такая история банальна там
00:12:15 - 00:13:40
был у нас идеально туз пик и там в дебаг режиме все было хорошо ну то есть на наде важный сборки с таким сбил дом и все все зависимости подтягивались и получилось так что в релизной сборки что-то пошло не так и ее как бы отдельно никто не проверил ее просто отдали заказчику они выпустили продакшн и оказалось что там какой-то заходит на кайт экраном просто крошился и никто это не понял сразу такой печальный опыт расскажи как можно было бы такое предотвратить выкинуть to speak и засунуть dagger и
00:12:57 - 00:14:40
затащить dagger что в проекте прям много-много туз пик будет липнуть мой мир реально загар допустим нереально тогда ну наверное нужно допустим сделает но если у нас есть два два билда 2 пилот варианта по типу дебаг и релиз то можно сделать еще один вариант билда например курей в котором будут включены в серии ну как бы релизные режимы для всех библиотек для всего всего ну там всякие опускаться и тому подобное и уже вот эту сборку отдавать на тест тогда то есть она будет собирать все все те же ошибки которые
00:13:49 - 00:15:17
могли бы возникнуть в реализме сборки аж был вам пример или да да вам-то modern times грантами покажу то что вам кто-то поможет без каких-то ну да да то есть это это могли быть самыми некоторые банально протыкали бы все экраны ну либо какие тут наверное нужен как какой-то lightest и ленту and test чтобы этот экран был открыт хотя бы мы убедились то что он он а он открывается и смог смог то есть такой провести как я по поводу качества кода в целом да вот ты когда пишешь фичи в общем как то обычно гарантирует что
00:14:34 - 00:16:11
вход катера ты написал написан корректно написано хорошо и не содержит магов и следует 1 типа какие то ну вот на на том проекте мы писали юнит-тесты это сильно помогало ну то есть протестировать там ну да там был lime pie на максе вот можно было там протестировать что дергаются нужные методы в нужных кейсах вот и и его тестов не было но в салон если бы если добавить туда еще его тесты это сильно был помогло in the end это наверное был бы высший пилотаж на но до этого мы не дошли лишь я не ну назад и меня выкинуло
00:15:24 - 00:17:08
ok ok хорошо я понял кроме ей тестов вот какие еще что еще можно делать чтобы что чтобы достичь хорошего качества кода продукте мои там чтобы избежать магов и тогда я думаю я этим этим не пользовались при разработке наверное стоит посмотреть эту сторону поэт всякие методологии по типу пдд плюс я думаю нет ну и как бы про практика review кода коллегами может сильно не сильно помочь нам может там уж там увидит то что ты не увидел ну и плюс юнит you are in the end ств да хорошо понял вот расскажи что вот очень расстроен арно постою зоны
00:16:24 - 00:18:18
роста вот очень интересно узнать какие они у тебя вот что ты в данный момент изучаешь вот и как-то это изучаешь то есть вопрос про то в чем я хотел бы усилить свою экспертизу ну сейчас в целом до этого у меня был опыт на но относительно не больших проектах вот и был небольшой опыт там с моделью лизации вам нога модульных приложениях соответственно вот я вижу как зону роста зону роста для себя и иметь о по трапу опыт работы и навыки ну там супер apa hotel каких-нибудь но иметь представление о том как
00:17:25 - 00:19:02
выстраивается архитектуры для больших приложений вот из того что как пытаюсь это делать пытаюсь найти информацию на эти темы виде там видео на ю тубе или курсов и попытаться освоить и по крайней мере воспроизвести это в своих тестовых проектах эпохи вообще большое за все вот твои ответы вот дома можно переходить к технической части водки рассказал мы сегодня полу техническая дискуссия будет вот нежели интервью вот мы делаем проект с нуля в отдел и множестве тех вот расскажи-ка финального начнем с языка на
00:18:17 - 00:19:47
каком языке ты высшего описать примерно знаю ответ но я бы и я буду стала сто процентов накладки написать расскажи чем вообще код лучше чем у каждого ну наверное это разный в разной среде разработчиков это холивар на вопросы каждый может найти плюсы минусы но для меня ну банально это работа с лобби с ну лабильности в котле не она удобнее и вроде как не вроде как от точно меньше позволяет тебе создавать ошибок там смп и ну или бат вот проблема вот мол обелить упомянул вот так а какая обратная сторона но у цельсия
00:19:05 - 00:20:42
в коридоров да да да то есть в каком случае на сайте может быть наоборот вагон [музыка] каком случае насыпьте может быть врагом ну возможно в тех случаях когда тебя как-то явно ты используешь там не знаю хотя я хотел сказать что библиотеку который там явный тип он не null обильный мод а ты туда зачем-то хочешь передать null что этого как бы не сможешь сделать это кот не из компилируется и пахнешь ну да да ну кстати мне мне кажется что вот это стопроцентная благо может течь очень часто народом а затем
00:19:53 - 00:21:26
еще и проектами на поскольку на облаке я проверю на канал вот если там немного покажу что то вот но очень часто этих настолько много что приложение легко загнать в стоит вот из которого он тяжело будет потом выйти вот и мы даже не знаем что шились просто типа хорошо я бы не понял зачем тогда сесть это написал омлет с вопросиками и там какой-то блок кода у тебя был он лабильный тут и об этом не узнал просто прошел дальше и твое положение как бы не понятно где зависла да такое может быть вот такие острые что еще любишь кофе
00:20:50 - 00:22:11
ну наверное всем известные нам прикольные фишки по типу сил класса extension of data классов [музыка] в чем минус этого сам чем минусы ну это может быть неким оверхендом то есть виду ну их сказать функциональности что для нас там компилятор генерирует методы дополнительные и если они тебе не нужны то ты тратишь на это по идее время для сборки плюс какие-то там байт памяти там была эта статья где замерял чувак сколько занимает than that i класса и не и не да там есть там есть разница но она про не сильно критично
00:21:33 - 00:23:16
скажи влияют ли это к которым производительнее skoda в целом на производительность кода получать так что мы не да у нас больше кода чем больше кода из нас будет супер много кода как-то будет лить сражение ну у нас в любом случае она этапа количество методов это не ну и у нас везде час multifix по идее с этим проблем у живу уже точно не будет ну единственное что вопрос в количестве бойцов на самом деле ну окей вот это нам нам увеличивать размер наших бинарных файлов по идее там или или или размера пока с нами мы тратим время при
00:22:25 - 00:24:04
сборке я понимаю но при компиляции кода чтобы эти методы нам создать вот это это это две возможные проблемы то есть в тех случаях когда дата класс он не используется по назначению и не какие фишки как бы тебе не нужны ноты я объявил когда-то скажи всегда ли вот этим используем дата класс мы можем не переопределите метод эклз хэш-код или нужно руками взять и переопределить я с ними не сталкивался но я думаю что есть получается что у нас эти методы до якутска шкот аннигилируется на основе полей которые у нас в конструкторе
00:23:16 - 00:24:52
объявлены и только в конструкторе если ну поля какие-то в теле класс то они не но в автоматическом режиме не будут использованы есть короче моделька все в конструкторе неправильно работает чуть но да я думаю такой так это так вот такое может быть если у тебя какой-то из параметров это generic там кто-то обо всем выйти и то есть чтобы ну грубо говоря там какой-то класс окажется в итоге и вот в таком случае ну думаю что может по разному работать если там разные реализация вот этого типа вам что в общем то так страшно как они
00:24:04 - 00:25:33
применяются написали на кухне вот как мы можем узнать ну это же создается просто класс обертка и мы выживаем вот хорошо модуль с тобой за котлин все круто все здорово вот что будем делать с архитектурой я думаю пойдем по классике ну то есть как как минимум нам нам нужно придерживаться принципов чисто архитектуры то есть разберем слои ну в моем по моему опыту она себя себя зарекомендовала хорошо то есть первые там буква s ii solid целом работает и помогает время жизни ну то есть там separation серым и таким образом мы
00:24:50 - 00:26:38
просто где отделяем друг от друга не зависит но не то что независимый а те части приложения которых разные зон ответственности и чем чем лучше они разделены тем нам проще с этим работать помимо того же нам польши с этим работать какие еще benefit а мы получаем от клина клина педикюр но уже в целом от любой архитектуры ну то есть она становится всегда более поддерживаемые то есть порог входа в такое приложение он уменьшается соответственно cc как скажем так затратами разработчика будут будут ниже
00:25:48 - 00:27:03
для для для бизнеса на мой взгляд вот есть он правильно написан ну и плюс это икона экономия будущем денег на рефакторинг и переписывания и так далее плюс нам проще протестировать это все также меньше подверженность ошибкам богам если у нас ход связаны руки вот таким но мы выбрали клину что будем делать презентацию потому это наверное второе их олеварн его вопрос мне кажется потому что все все думают по-разному ну такая вкусовщина я я работал раньше на или pin на максе потом появились life that you модель плоские я
00:26:29 - 00:28:02
попробовал и мне понравилось сейчас ну сейчас все все уже с наверное смотрят плюс-минус в сторону м вот где как ты где-то между мдп войну на мой взгляд хороший вариант том смысле что можно во первых во первых декомпозировать state какого-либо экран да допустим один объект и им им просто управлять вместо того чтобы дергать там куча методов вьюшки как мы делаем это это ведь это в mvp и плюс у нас там нас не хранится ссылка на нашу view и мы просто среди за изменением state of чем проблема поколением в
00:27:18 - 00:28:59
клиенты об этом узнает о куземка чем это плохо ну в целом я вижу проблемы что если это был плохо приготовленными питу это может быть утечкой памяти то есть если мы прям прям явно взяли и сохранили какую--то ношу вьюшку в президента ри презенты живет дольше движка умерла ссылка ссылка вытекло первая первая проблема вот и 2 на 2 на больше связана именно к управлению вот этим сайтом когда у тебя один метод одна точка входа там для обработки стоит на мой взгляд это удобнее но мы можем сделать это и сам бы
00:28:10 - 00:29:45
пирамиду можно в case 1 метр сделать там не знаю interstate какой-нибудь вот если там недавно творишь не принимается во всем она будет какая то есть только одна пуля не получается или но в целом да ну наверное то есть еще нужно просто следить за жизненным циклом это и юшки и и тогда все будет хорошо то есть обнулять нужный момент туда с посетить новую актуальны и так далее чтобы переварить работать . памяти вот как вообще утечки памяти проекте можно найти кровель и камере я не успел сказать ну по идее мы можем подключить профайлер
00:28:59 - 00:30:26
и сделать дамп памяти и у нас там будет список текущих ассоциированных объектов и если ты там повертел экран пару раз и у тебя там уже 4 фрагменты лежит ну там или ну как каких-то бьют то что что что-то пошло не так в чем вообще проще чем мы ну ключевая разница в том что у нас нет нет вот этой зависимости на view то есть наш наш вот этот компонент я модель он не знает объем вообще ничего а презента ну а pvp презента знает правил и он пытается ее управлять разница в том что м веке эта реализация
00:29:43 - 00:31:28
паттерна обзор да это кажется более удобным при коммуникаций сушкой именно более удобный нет имбирь и как бы ты реализовал и вильямсом не используя в блузке архитектурные компоненты и модель ну у нас [музыка] получается ну у нас уже есть в юшка по сути и нам нужен какой-то какой-то компонент который должен переживать изменению конфигурации то есть более только живущий и вот тут уже будет вопрос как как это реализовывать по-моему там какие-то в начальных версиях объем адель и она как-то работала там на реке и на фрагменте
00:30:40 - 00:32:25
которые не уничтожался помогал тем самым переживать вот этот цикл пересоздание смысле это можно сделать без gt инструмента очень допустимым сами пишем вот реализацию это тоже давай представим что не смотрел вот одно и писать самому то есть такие очень какие вопросы вас интересует когда создавать когда уничтожать и наверное все но там понятно вообще будет слайда ты или там с аналоговой когда ты тем лишь возможно там все понятно давай на эти вопросы ответим когда нам создавать и модель когда не строить
00:31:37 - 00:33:06
ну если мы привязываемся тут попроще она будет напоминать на примере жизненного цикла фрагмента потому что там у нас есть методы для того чтобы отследить и жизненный цикл view которой относится фрагмент и жизненный цикл как бы самого фрагмента как объекта и в данном случае нам нужно сделать я думаю что нужно завязаться просто на на методы по типу он стоит и он restore configuration стоит чтобы сохранять нужные нам данные чтобы они переживали вот этот переворот были привязаны к ножам а где именно
00:32:24 - 00:34:02
где именно создавать именно новый интент view модели от фрагменты что такое тяжело во такие слова и абсолю где именно создавать instance то есть где где он должен а где он должен лежать прямо туда в каком-то мир ли жизнь на цикла или модели на создается ли эта машина шеф конкретно дается я понял ну сейчас ну так и из из из из того там мы мы мы мы пользуемся постоянно по идее в и модель она создается в не во время инициализации самого фрагмента и потом мы просто получаем call back to о том мы можем получить call back о том
00:33:18 - 00:34:55
что в юшка уже готова соответственно можно иметь как-то мне модель не создать два раза допустим повернул первая идея проверить что там как это из что банда который там пришел он не ну тогда мы мы не будем да можно очень можно через все сделать горшок диск где хранить вот вас мог ликанов да где хранить нашей модели хорах хранить уже инициализирован и объекта получается да [музыка] ну получи она должна где где-то лежать моего персонажа экранов 10 есть да мы придем культурами востока сузилась до чтобы там все 10 экранов и использовали
00:34:10 - 00:36:10
один и тот же механизм это это хорошо вопрос но она должна храниться по идее там она кстати вот к примеру если и если это фрагмент то мы же можем хранить это прямо во фрагменте ног грубо говоря а если фрагмент уже создан то мы в принципе можем держать инстанции это виде модели как мы именно сам фрагмент они вьюшку уничтожается мы соответственно из смысла в этой модели тоже нет ее тоже непонятно за грани будем лежать instance ну либо во фрагменте либо нужно придумать как какой-то ловко медленно раньше мы объявим
00:35:13 - 00:36:39
просто проявить valve модель ему дал то у нас копировать и поставим адреса за [музыка] так вот и сказал то что где то можно но какую композицию для этого сделать где-то old site хранилось от в общем где можно хранить вот сайт ну это сейчас мне испить из того что сразу приходит в голову допустим у нас есть такой вот банально апликэйшен в котором мы можем держать то есть так как это это это объект который в любом случае будет жить пока жива приложение естественно можно там какой-то холдинг сделать этих
00:36:09 - 00:37:44
и модели покажем как вариант а вот поле штыку пробиотик максим сказал они там максимов в статике в стакане ли хорошо [музыка] плюсы-минусы зачем с таким семьям в формате вот так как дела и как с библиотекой от подул и еще кент я и я не работал в моем но это когда получается вот модуль view intent смысл такой что у нас такой я постараюсь объяснить мы мы можем во-первых мы представляем экран как как какой-то state и мы можем этим сайтом управлять и то есть в юном говорит что у него есть какой-то intent то есть нами
00:36:58 - 00:39:03
они сделают что-то допустим клик и этот клик он там через резистор он по сути преобразовывает ты знаешь как раз прошу какие преимущества вот умеет есть на мой взгляд это то что у нас есть понятный набор state of и мы можем даже там сохранять их во время ну и записывать какой то лог и это помогает тестирование потому что нужно просто сравнить что текущий стоит он равен ну ожидаемым или нет на мой взгляд вот это основной и очень большой плюс какие еще проблемы вот самые такие основные но основная
00:38:01 - 00:39:30
проблема в том что если делать это на каноничных android view то у нас будет первая понял вот в общем есть еще такая вещь как все дефекты но даже не side effect и давай рассмотрим их по другому этот полегче назовем вот очень какие то события которые нам стоит не нужно хранить от как с вами обрабатывать мы мы можем это и есть просто по-моему там был такой просто extension от от гугла который назывался символ event live data и там просто был флажок что если ты обработал событие она то есть чтобы у нас она не влияло на
00:38:46 - 00:40:16
отдельный мне кажется можно просто какой-то туда горячей flow сделать и теперь в общем обстоять в одном потоке данных это все дефекты и только не раз ну мне кажется нам ну может быть это противоречит какой-то идеологии но мы же можем 100 мстить засунуть объект вот этого ивента и его хан лиц ну когда когда мы получаем стоит если этот но стоит он и ему табл нам нужно просто как бы сказать наши на шее там и модели да что мы этот ивент уже обработали и он его не хотим выше обрабатывать раки рублей хорошо . поиске
00:39:40 - 00:41:25
по вере и так далее мы наверно при этом расчет хорошо что ты выберешь против туре людей ну смотри тут я думаю мы будем отталкиваться от наших требований планов и так далее требуется просто хотим про же не сделать чтоб работал окно чтобы оперировалась в целом тут наверное нужно защиты делать еще расчет на только какая команда то есть там я я работал с se7en и там 7-я если если мы будем делать приложение на нем то там не знаю как обрабатывать какие-то кондор кейсы и в целом разработка пойдет быстрее зрение
00:40:45 - 00:42:17
веселее из если в команде такие же энтузиасты им и мы мы мы мы их набираем она примерно одинакова спрятана этот вопрос не понял я понял вот хорошо что будем делать с рейтингом чтобы использовать есть с java flow картины точнее путин путин вот и куперена всем краски можно лодыри ну ладно дикий вид тоже ну здесь у меня будет выбор из из двух стульев как говорится это либо картины либо эрик жало сразу в каком случае ведь опции не будут тебе доступны моя меду они как бы будут тебя доступно домой использовать их будет прям совсем не
00:41:37 - 00:43:20
прагматично возможно если будет какой-то требование как-то не тащить сторонние библиотеки почему такого крема не может быть ну возможно безопа безопасность то есть мы тащим как какой-то код и что-то безопасностью не связан банальный размер приложения то есть там размер приложения но там для продукта на самом деле это некритично почти все продукты если посмотреть 7 размер артефакты взять у всех будет мегабайт 80 есть даже те кто может описать похуй ну наверное стоит взять расчет там компетенции тоже три других членов
00:42:31 - 00:43:54
команды большим них вину и а я так сходу не могу спать песня собери все по тела были он бывает такое что дело ж бля течку которая ко мне за на кнопку нажимаешь два фрагмента открывается и встроить ее нужно там не знаю очень огромное количество приложением случайно сложно избыточного это это все обсуждаемо неправильного цвета хорошо в нашем продукте какой стул ну-ка побывал мне мне удобнее и комфортнее работать с державой вот ну и ее против крутим я тоже ничего не имеет и поэтому для для простоты и яблони для простоты в
00:43:18 - 00:44:42
кавычках да потому что река по идее чуть-чуть сложнее в изучении вот я бы взяла чарджоу сложнее ну вот этот изначальный барьер в том чтобы ну наверное запомнить все эти концепции с разными типами обзор в белов там subject of и так далее так далее это немножко требует больше времени для изучения но когда ты начинаешь только заниматься разработкой вот так в целом [музыка] не особо большая разница если ты уже опытный разработчик а какие еще преимущества высокого кен передали грошовый вот честно скажу я не согласен
00:44:01 - 00:45:31
что они легче поэтому можем потом отдельно поговорить если вы же причин почему они не легче особенно в реализации вот но только в действительности знаешь про использовать их легко но очень укатилась действительно очень хорошее преимущество не совсем ну на мой взгляд самое основное самое важное это практически нативная поддержка на уровне языка ну нам нужно там затащить библиотеку да но она не требует дополнительных куча методов которые есть в ирак джаве плюс проще читать вот этот код который как бы
00:44:46 - 00:46:14
асинхронный но он последовательно написан для восприятия и все пожалуй в плане performance как бы наш ну и если мы берем расчет только что крутин и это типа легковесные thread'ы то наверно можно подумать что они легковесная за счет чего они легковесная ну за счет того что это это не как бы нитриды а просто функция функции которые вызывает там как колпаки внутри себя и передает туда кришна так называемый с по моему к новейшей песен стану как в двух словах можно давать операции асинхронно вот на одном потоке года вместо того чтобы
00:45:30 - 00:47:09
мешать все равное количество потоков это действительно очень сильно помогает вот в андроиде вспомни вопрос вот в таких чтобы там не знаю как там на кенди или же в странах особенно прямо исключительно разницу по сравнению с тем что было и что стало после хорошо rx уже выбираем я взяла риджал окей хорошо в общем как вообще смотришь надя и что будем использовать если мы планируем это приложение масштабировать и надо ли резеро вать то я бы смотрел в сторону дагера вот если сейчас бы быстрая выпечка какая то я по
00:46:22 - 00:48:04
взял coin нравится в использовании не буду спрашивать про 1000 койнов данира давай про них поговорим какие самые такие критичные проблемы у него есть ну наверное это как раз к предыдущего просто то есть разница между дагерами и всеми остальными это кода генерации которая нам замедляет время сборки и на больших проектах это может быть довольно критично целом да вот расскажи как готовить dagger так чтобы он в общем допустим нам замедляет сбоку от ну пусть он делает это не так сильно как он может при
00:47:15 - 00:48:40
неправильном использовании ну и насколько я это вижу то есть нам нужно просто разделять все на более мелкие компоненты там с совками конечно компоненты и если мы модели riser у и мся то но мы как бы закрываем это все fitch модули например давай пока не говорится полной плотности все успеем поговорим еще сегодня по не сказал то что там разбивать все носов компоненты в чем проблема с от компонентов и она есть но и у тех я даже есть проблемы то что для много- модульных приложений он он неудобен не
00:48:00 - 00:49:33
говорить он сказал то что вы любили тоже так углем актуально вот в догеле используем несколько компонентов чревато в чем наверное я так не скажу но по идее когда мы делаем sap компонент сочинит я я я не помню отец ушел потому чтобы как компоненты полете грамма в других до обход видишь нас получается два способа изолировать компоненты сад компонентами компоненты по трассе а когда и ну это когда мы интерфейс получается определяемый как бы это является нашим на нашей зависимости просто там разница
00:48:52 - 00:50:20
разница на самом деле в кода генерации в общем и я после нашего соуса расскажу чем суть окей хорошо мы решили вас будет dagger и в качестве я я вот после опускают скупы да что это такое как на под капотом работает дефолта ну с помощью scope of мы можем контролировать lifecycle наших объектов и в dagger получается что у нас там есть тот сам встроенный синглтон скоб и все остальные мы можем в принципе придумывать сами ну там допустим там фича и так далее в общем y зова ну то есть мы что-то ставим скол да такие
00:49:41 - 00:51:20
проверки у нас еще добавляются помимо того что такие у нас будет 1 1 моделька жительства в нашем слову ну проверка вопрос как то может на перфоманс поверить но и на перфоманс это может повлиять так что если мы не закрыли скоб то у нас этот объект останется живым вот там есть ещё одна проблема вот как создается объект под капотом которые скопом помечен под капотом я не знаю как он состояться говорю кашу мой выборе dagger вот все ок что будем делать съеме это тоже на самом деле его на воде сейчас такая наверное
00:50:33 - 00:51:55
переходный период больше вот кучу вопросов 2016 году было меньше да была одна как линию приходили вот этого сейчас вообще и java или картины кучу чайных мимо подготовка тагира был и общем-то геры и палку и все больше вообще ничего не было вот и почему вайном тоже нужно выбирать вот что будем с ним делать ну сейчас у нас ну наверное из тех способов которые гугловские это ну либо в you либо кампус проекта вопрос есть вопрос или мы вам используем старые мехи до 2008 года да он с трибуны и я уже сказал немножко
00:51:24 - 00:52:55
с ними поработать сделать пару экранов и ну так в целом прикольно ну то есть это это любом случае будущее и она в любом случае придет вот так так как там так как мы все-таки делаем какой то важное сетях приложение да и мы наверное себе не можем позволить тащить ну вот эту штуку которая только буквально зарелизили дабы не отхватить проблем с ней здесь я думаю что можем остаться на view изначально и да и так уже примете ровать отлично как сделать так чтобы наш ей было максимально удобно для всех разработчиков и так далее
00:52:14 - 00:53:52
но и они данный вопрос такой абстрактной на самом деле до как организовать работу все время правильно мой взгляд [музыка] подработать что подразумевается создание экранчиков там днр все что сразу своей участью расположение элементов на экране вот изменения их дизайна можно я понял и я я думаю что ты спрашиваешь про эту фишку которые валюте спальник не очень-то что спрашивает реализацию этой штуки ну по сути это какая-то модульность до в плане you like компонентов и я хочу сказать ну и частным примерно будет как раз вот эта
00:53:03 - 00:54:45
штука с реализации кранов на ресайклер и когда у нас каждая ячейка это какой-то элемент в нашем приложении и за счет этого но мы можем все это переиспользовать на разных экранах дизайн всегда будет одинаково и все это будет сохраняться анимашки будут работать и так далее вот это 1 вариант 2 вариант наверное делать какие-то кастомные вьюшки ну их оборачивать делать свои игрушки которые где за будут максимально дизайном похоже и потом переиспользовать по приложению в apple большую систему да понятно да дизайн система это общее
00:54:02 - 00:55:22
наверно язык такое общение разработчиков и дизайнеров где есть одинаковые компоненты вот и в целом реализация дизайн системы будет работать а как еще быть в дизайне системе делаем из на делегатов коль уж ты упомянул вот у нас есть делегат один которая сама самое главное используется нас сотни и канав пока что только на двух но можно на сотни используется в будущем и у нас там есть текст есть картинки вот как вообще работа с текстом и картинками организовать потому что он где-то могут из опций редко tanks интернета где-то
00:54:42 - 00:55:56
там не знаю bitmap а допустим требуется то есть это один и тот же компонент но разные как бы сценарии использования [музыка] ну наверное ну на мы можем какое-то сделать композицию и у него тоже могут быть какие-то внутренние ну как их можно назвать контроллеры или что-то такое делегат и вот для подобного поведения и если мы такую систему сделаем что ты например конструктор можешь там прокинуть какую-то нужную тебе реализацию ну банально какой-то провайдер то картинки который может из ресурсов локальных знать или из сетей и вот так я
00:55:22 - 00:56:52
смотрел в эту сторону вот собственно переставим дамы принципе все выбрали вот представим что мы особо модуль что то делать вот у нас есть список чатов и нажимаем на nuke очень пока что только по списке что-то говорить вот как их делать с точки зрения его я список чатов как дела с точки зрения ну то есть взять ресайклер view сделать айтемы и вот тебе список или вот это сделать просто этом это как его сделать ну окей делегаты допустим используем так не будем обсуждать вот как и шаги сайкл готовить хорошо в
00:56:13 - 00:57:39
этом кейсе ну здесь песок чатов то есть получается что каждый атом наверное он должен иметь ну иконку да там с непрочитанными сообщениями ну да новостям у нас есть иконка ну типа юзера есть статус об тайтл справа баджи вот постоянно там обладает и приходит ну тут в любом случае нам же на 9 см и ну мы его любом случае будем использовать ну чтобы но если мы получили новые там порцию данных от сервера списка этих чатов с новым с новым количеством наших наших чад авто читается div и обновляются только те
00:56:59 - 00:58:32
ячейки который пошел готовить ну я думаю что нужно использовать payload и там с помощью полос мы можем более точечно даже память поменять в.ю. но без перерисовки этого элемента а просто поменять вот именно текст какие еще есть у депутатов ну и из и сайтом за 7 секунд ndsm а почему очень нужно два метода просто арканзасе не сделать как думаешь ну потому что нам первые позволяет нам понять что это ну допустим у нас есть уникальный айди и мы пока иди смотрим если это грубо говоря давай элемент цена
00:57:48 - 00:59:35
команде значит ну это не я понимаю этот вопрос как бы можно просмотреть в элемент одинаковые или разные ну потому что потому что если это одинаковый элемент то контент может быть тоже одинаковым разные-разные но если элементы развитого то мы вообще лишнюю работу не делаем мы не применяем в продаже не делаем лишь на работу окей вот как бы ты создавал адаптирована для div теллуса ну мне нравится подход с делегатами это довольно удобно то есть у нас не заставить розовом жеребят и есть их соловью до туда птер есть лист
00:58:41 - 01:00:04
адаптер вот через завезли concat адаптер который надеюсь мне нужно еще об это дело ну возможно [музыка] из того есть того чем я сейчас пользуюсь то есть это просто там хан из дорфман и у него есть библиотека прикольно вот и и там в принципе но у него-то на все случаи жизни есть варианты вот можно использовать ее можно просто украсть оттуда реализацию и услышал потому штуку как лист адаптер ну там по моему встроенный как будто дефицита и он не то чтобы встроены в контракте у нас есть а он он тебя обязывает его его определить
00:59:37 - 01:01:19
да пошёл он в дизайн сами можем делать просто один адаптер на все приложения вот и просто с делегатами его объявлять вот но в рецепте весь крем очень прикольная фишка которая работает из коробки вот это получается расчет дефов происходит обогрев потоки и или и вопрос в каких кейсах это плохо как думаешь каких кейсах расчет дефо по гранд потоки плохо ну наверное когда div слишком маленький и вот это переключение на другой поток она необоснованно тратит панельные ресурсы [музыка] в общем как еще можем гарантировать
01:00:32 - 01:02:16
быструю отрисовку вот у нас учат of круг кроме 2 кроме погран потока и дефить heels да ну как какое-то socket на и соединение наверное не покажешь только пыль вот дойдем ну наверное нам нужно как это сказать мне не делать к никаких тяжелых операций в онлайн то есть ну я не знаю может быть мы там четыре шили посчитает взять перемножить числа миллиона и тогда у нас будет как бы the deal умножение больших цифр как делаем смыслишь когда нам нужно видеть дигоми работать до 2 но с использованием не пик интеджер
01:01:22 - 01:03:07
использование основных слов дабл здесь проблема в apple apple apple а вы еще точки и вот в этом классе на газ теперь давай вернемся вот хорошо ничего не делала вишни и смотрим равно тормозит ну я думаю что здесь нужно смотреть в сторону того ну так что у нас по факту происходит во первых нас могут быть наверное там у утечки памяти то есть нет утечек памяти посмотрели профайлер хорошо ну я думаю в общем нужно искать какую-то работу которая наверное постоянно производится но банально это мой взгляд
01:02:42 - 01:04:09
марк какая-то загрузка больших картинных там 15 матчей что-то ботинки поговорим вот если бы картинки были локальные какие бы картинки то использовал ясно говорит можно поговорить и есть есть нами паз и вот когда мы то что использовал ну я my мне нравится svg использовать ну то есть там нет проблемы стены с нарезанием этих пяти там 6 размеров вот но для больших картинок он не подходит и если там android меньше чем 5 насколько я помню там возникают какие-то проблемы и визуальные баги с ним так в современных версий по повелось нос
01:03:28 - 01:05:04
android 5 или 6 чего-то поспрашивать появился бред вот в общем хорошо если бы ты мог правило сформировать когда использовать разработчикам вот обычной там поддержки или вы кишки вот когда из флешки ну ну там то там же по моему там есть винтовые летали новый варнинг что есть там она 5 больше чем 200 на 200 то то лучше не использовать вот если небольшие тут мы можем проседать по производительности да на самом деле я прям замигал тоже можем раз в десять по отрисовке по сесть вот что больше чем 200 каша opengl или 2
01:04:16 - 01:05:46
п п п почему он мы можем конвертнуть ввп все наши картинки и мы не потеряем практически ничего в качестве но размер сильно уменьшается с какими плюс минус там нет не разобрались какой муж должен будем использовать это хороший вопрос ну наверное я вижу сейчас если мы у нас есть несколько вариантов классических это пикассо глайд fresco и то что она работает на картинах это здесь у них просто немножко разный функционал то есть теперь пикассо он он он очень легкий и в смысле количество крыс и дополнительных методов плюс он
01:05:11 - 01:06:55
хранит в каше полноразмерные картинки и когда ее нужно рисовать и вставлять другое место он как бы не тратит на нам место то чтобы хранить картинку в другом размере глайд соответственно он в него не больше методов разных возможность нам какая то нужно там кастомизация transformation и этих тронулся смотри да рассмотрели вопрос такой как бы зависит от продукта от гифки не всем вместо пожать вот это не умеет рекорд и выпекаться не умеет он просто что не умеет вот имеет прочный lite dual port компромисс ты хорошо с картинками мы
01:06:08 - 01:07:26
забрались все равно лагает у нас слагает список да получается по сюда потому что мы там где халдира 0 и холдингом уже много чего добавили вот но но просто просто обычные компоненты там тексты и обычный там imageview вот нечетным примерами и ну то не то есть и утечек памяти у нас еще нет никакие мнение запустили профайлер кв-1с activity вот ну короче все по одному ну наверное мы можем еще подключиться к профайлер у и посмотреть отрисовку наши кадров и там есть кто то кто то нас тормозит то там будут пике такие и мы
01:06:50 - 01:08:20
можем как бы понять хотя бы в каком методе было самое мы можем понять как какой из методов у нас тормозит так сходу я да не зарежу в общем что правильно вот с в общем смотрим что тормозит видим что тормозит отрисовка вот вон брома ничего не ассоциируем вот как бы ни соли может отрисовка стандартного текста ну там помогут ну то есть это это я сейчас выдумываю там есть в андроиде при при компьютер текст и покороче что в тексте можно тормозить почему он оставляешь textview чтобы текст читает называете же при компьютер
01:07:44 - 01:09:31
ну нам по идее нужно [музыка] его его отрисовать там посчитать его размер по счету ну и зависимости от параметров может быть хорошо что еще можем сделать вот пустые стал ты сделал только вред от тексте вот все же ночь чуток побыстрее не совсем не на всех версиях работает насколько знаю поправьте меня не пап но до что можно еще сделать допустим сейчас смотрим на этапе inflate а у нас прям таки терпимо короче но подлагивает сраную день для оптимизации inflate мы можем а sing inflate делать по моему tasty
01:08:41 - 01:10:17
выносить его по гранд поток и спать или зато лагать не будет за то белые кончики будут можно совместить как эти подходы ну да и наверное мы банально может быть нам нужно какой-то сделать там шиммер анимацию и пошел по сгущенку chris de burgh да вот зачем она нужна ну получается в этом пуле у нас его размер определяет количество конечно зачем он нужен то есть как он определяет понятно спас летом да вот вопрос зачем а ну если у нас но он сейчас я и постараюсь сформулировать но это это связано с работой
01:09:31 - 01:11:24
ресайклер а по-моему я если ни разу так на напрямую не работал то есть мы можем этот пул расширить и тогда количество вьюшек которые мы можем скажем так переиспользовать она по моему у увеличивается если я не ошибаюсь возможно ошибаюсь скажу представим что вырезаем стандартных сайту и пол ничем белым вот это пан флейта критичен вот осин конфет делать не хотим вот этап и флейта критичность и для нас есть мы его либо делать на находимся в потоке ну я веду как бы именно сюда давай подумаем токи и а если он ради механизм который позволит
01:10:34 - 01:12:20
не флейте не нфл эти цветочки которые мы не факт чтобы вообще использовать смысле в самом сделать виде став какой то можно сделать вот здесь можно сделать из топ можно сделать жареный и пул можно шарина и получается инициализировать заранее вот я уже прогретый пол где вьюшки inflation и передавать вот многое можно сделать можно делать это асинхронно в том числе вот будет работать быстро будут проблемы с утечками памяти но это уже другой разговор вот хорошо с нашим героем мы плюс-минус забрались вот
01:11:33 - 01:13:02
что ночью как начать показывать как на свежую чатике показывать это к сетевому до каком-то взаимодействие с чатами нам нужны socket по идее то есть получать в реал тайме обновления [музыка] сюда поясок это нужно работать вот мы с кириллом только делаем в общем это приложение азбуки говоришь не умеет работать с высокими нет мы мы мы конечно мы можем упростить это и сделать там какую-то первую реализацию по типу long полинга и либо или запроса под по таймеру здесь аккуратно long polling это уже на уровне протокола вот
01:12:24 - 01:13:57
что полинг окей как понял сделать ну по сути это же просто повторяющийся запрос с каким-то интервал а ну то есть у нас есть ретро оператор можно через него то есть можно делать оператор ретро и он как бы и проект ошибка произошла можем за играть во если какие-то операторы которые констант на что-то и что-то иметь rx ужали ну допустим 1 секунду себя выпрашивать а ну через через интервал можно сделать в чем подводные камни интервалов о том что он бесконечно работает в нынешнем но это ладно это понятно не совсем
01:13:15 - 01:15:12
другие удовольствие пустяк мы сделали все работы интервал до прописали там менее шолто им не мешал дела и в ноль вот сделал сделали фото ap сингл делаем наш запрос макким а все что нужно посетить доменной модели ты далека деле возвращаем на ей вот о чем тут чем все по архитектуре все прямо по стаям распиле есть ошибки все работали с интернетом связано и так а какая проблема или вот этот вопрос но я не знаю мы можем столкнуться с этим себя крыши наверное как прошла на самом деле это как бы такой я уверен что
01:14:22 - 01:15:50
процентов на 95 разработки вопросником потоки у нас сделали да я по делу по моему там если зайти в долг у там по моему там компьютерный поток что чего плохого какими строим приложения и делаем 100 вопросов все на компьютере и ладно кетчуп не позволив ну смотри . во-первых можно сразу переключиться на aio а проблема в том что компьютер шин он ограничен размером по количество ядерных средства можем их все занятия тогда у нас будут фризы высокая чувства как на но я переключаю сразу первым оператором сделать
01:15:07 - 01:16:39
субскрайб он и тогда там scheduler а я тогда у нас все что да все что up stream она переключиться на нужный нам поток так ну вообще не совсем вот вопрос там где поставились софтфон если то есть все равно все что будет компьютере насадка и там где лет количество сам skype она влияет да неважно сколько вы напишите 5 5 тонов вас будет вас каждый это имеется последние ближе которые кто поводом будет актуально но проблема в том что он будет компьютере смену на компьютер типами найдет да и потом на компьютере
01:16:10 - 01:17:31
что не уже вот как это в этом кейсе мы можем поставить rss как он вот-вот под ног сингле но я не даже вот когда мы заметили что-то минут за вами ниже вот хочу больше чем как сделать очень проблема такая есть версия в нашем приложении много чего же разрабатывали вот и смотрим короче у нас там не знаю один и тот же запрос может называться пять или шесть раз при старте приложения запрос 1 этажу ну и наверное и если мы несколько раз вызвали там субскрайб на нем тогда мы идем образом несколько старше у нас там
01:16:52 - 01:18:28
не знаю сто тыщ каких-то да и в которых есть какие-то ниша лазеры и вот ниша лазеров я буду чтобы данные были свежие о какой-то дополнительных меня и идем сеть хоть раз он прям одновременно вызываем улице лизации от 100 запросов 6 не успел мы вызываем вот и спаме в наш букет так мы хотим решить эту проблему да да ну наверное там и мы можем сделать через со джек там подписаться и прокинуть потом результат всем либо у нас есть коннектор обзоров босс мы можем подписать нажать поближе потом вызвать
01:17:45 - 01:19:05
connect и тогда они как бы все подпишется ладно проката спрашивать не будем в общем можно делать через к через коллектор было всё было вот гарантированы ну каши и если вас гарантия да что за количество запросов но сократится до 1 в таком случае как думаешь вот тут я думаю да я думаю да гарантий нет ну короче количество запросов сократится не цвести он добудет 234 да вот все опять же зависит вот чем можно дать им фрезеровать так что там будет всего два но она полностью это проблема не решается хорошо
01:18:28 - 01:20:07
боффин тут прикольно в чатике package упомянули твой package поговорим как делать в общем как вообще кэш сделать я думаю нужно оттолкнуться от бизнес бизнес требований то есть мы можем просто иметь ознакомительном станут нам сказали осушено быстро сделать короче прям быстро вас нет имени ну как обычно но смотри да то есть мы наверно можем разделить к примеру оффлайн мод полноценное какой-нибудь in in memory кэш то есть который у нас много полей мама recache вот как его можно сделать ну банально
01:19:20 - 01:20:42
сохранить что-то в поле и потом это поле прочитать ну то есть к примеру у нас есть какой-то datasource там или репо или что угодно и там ну мы можем если это стильную скорее все это синглтона классе он живет все время приложение положить туда поле и проверять если какое то был в общем маски для проблема будет многопоточность здесь если мы будем как-то одновременно есть вот и если мы один раз загрузили положили и потом мы только читали то нет а если в несколько потоков будут одновременно будут читаем а не знаем из
01:20:04 - 01:21:24
3 часов еще растет вот запросто могут вправе называться ну можно сделать просто какой-то компонент там со scope'ом синглтон в котором был который положить самка конкорд кошмар и почему стали панорам кошмар почему нет я менеджер это хороший вопрос тяжело спорить тоже пошла вот какие опции еще листиками конкор кошмара ну сделать домик наверно переменную можно чтобы она у нас была синхронизация то есть у нас есть если вопрос про синхронизацию то есть мы мы можем использовать потока безопасной коллекции мы можем сами это за
01:20:47 - 01:22:28
синхронизировать там через звала тайл или этих арнольд и [музыка] этом сам из таких решений да у нас есть карандаш map у нас есть какой-то playstation 3 ст вот хорошо есть можем можем просто поставить балла тайлы просто менять грубо говоря вот можем сделать о томиком и столько вариантов коми не могу решить как использовать лучше поэтому день как лучше использовать каким случае так наверно вот задачи пришло немного отвечаем сюда как хорошее решение вот каких бы случаях да ты бы использовал а томики какие бы случаях ты
01:21:40 - 01:23:16
воспользовался находясь какие бы случаев ты использовал что то есть как вот принтером крипа и плохо и так далее ну то есть наверное вот эти все все блоки и так далее они кажутся не особо актуальны потому что мы на мы на голых трудах не пишем и минут я production иногда так написал поэтому эти нити вариант я я для себя оставил бы поэтому ну и рассмотрел бы вариант смотри и и если оба путь почему что что-то они другое но мне как то сложно сказать смотри у нас не цель одни чтобы работала у бизнеса по другому говорит вот условие
01:22:30 - 01:24:14
разные на самом деле чтобы она работала вот и вот допустим взять тяжело томики до или вот за синхронизировать по моему а томик он как бы дешевле для над точки зрения синхронизации это очень спорный вопрос по поводу того дешевле он или нет он однозначно он не блокирует да вот но он не делает одно на делаю другое что может помочь потом вот ну наверное atomic нам может как-то с большим шансом создать какой-то блок или race conditions очень простом нас есть там за 1000 потоков да у нас есть инконель это вот и
01:23:29 - 01:25:03
есть от логики вот как они будут работать по разному разному отпросился в ответила про стремно как-то разному мне кажется что примерно разница такая же как с ватой и если хронист я не помню точно реализацию самого этих atomic reference но я могу просто предположить что но если мы сравниваем это как volatile работой золотая нам позволяет только общую память использовать для чтения и но избавиться от около лог алкаша трендов и сохрани zero вать это а вот именно сам доступ он как бы не не синхронизирует имеется
01:24:22 - 01:25:52
ввиду запись в этот в этот объект я думаю что со домиками какая-то такая же должна быть тема но проблема россии я не скажу они постоянно работают вот прям этом запустили все погнали делать call в общем эту конструкцию каждый будет проверять там до скорости кущи значение типа гарри типа начнем на длилась там для всех потоков я подожду еще он сделал дуб один это будет 1000 потоков сколько мы поставим вот упадет на викенде поставим для решения синхронизма будет работать на самом деле но в krita просто не буду ожидать вода
01:25:13 - 01:26:35
тут как бы быстрее с точки зрения того что в итоге финальное значение этого погибают быстрее факт вот но быстрее точки зрения ресурсов на wacken диктор у нас есть способы считывается индивидуальную зависимость хорошо я думаю он нагло точность особо говорить не будем вот как обеспечивать как обеспечить качество нашего приложение которое мы написали качество кода до иметь отсутствие багов ну во первых но если мы горим там в плане качества кода для для работы с ним ну нам нужен какой-то code style
01:25:54 - 01:27:25
определенные нам нужны какие-то ленты и проверки на то чтобы бить по рукам за несоблюдения каких-то договоренности в команде вот ну желательно там на наверное был request их все это делаете вот по поводу тестирование давай вот по него больше поговорим ты и такие вещи сказал то что у нас есть intent тестирование есть его и тесты еще москве скриншот тест iq до не будем говорить про пирамиду вот это все не особо интересно лад интересно простые вопросы какие проблемы вот все эти тесты решают почему мы не можем что-то много пусть
01:26:44 - 01:28:08
уметь они решают одну и ту же проблему просто с разным как бы скопом и разные глубиной то бишь если с junit тесты мы тестируем одну функцию то там слоя теста мы тестируем целые контента и тесты можем протестировать там и backend и клиент и так далее чтобы ты какие инструменты для тестирования допустим того чтобы было у меня есть опыт с какао и [музыка] называлась я слышу что тому касперского есть касс пресса вроде отзывы неплохие вот но сам лично им не пользовался вон какие фундаментальные проблемы есть у эспрессо
01:27:27 - 01:29:06
почему у нас так много обрезок да еще и связано с кофе вот не знаю не знаю кейс смотрите что он делает состоит а ну допустим да . запускаем у нас может быть разный стоит нашла пропустим первый раз погнался за счет накликал вот пример свой дройд с видит и фига старый-старый пёс оставил данные за собой вот как эти данные лучше чистить ну вот допустим в unit-тест их там есть тир да он по моему функции где ты можешь очистить этот state и привести его какому-то изначальному состоянию ну либо если у нас есть
01:28:22 - 01:29:52
на презентуешь на типа илья и и какой-то но один там ему табельный объект который репрезентация стоит а то по сути мы можем какой-то сделать сохранить и не шел state его с этим перед каждым тестом и я понял про что-то меньше двух проблема в том что с таким подходом у нас один инструмент процесс работает вот один тест упадет и все упадет сразу при запуске тестов она нужна что что ступал допустим life но после два процесса есть обычно процесс до есть процесс приложение для этой системы это разные приложения он у
01:29:11 - 01:30:35
них свой жизни цикл вот их очень важно уметь правильно синхронизировать и правильно запускать вот партнер наше не будем сейчас мы не закончим вот я смотрю пошло на с тобой еще не говори а мы с тобой не поговорили про сеть на самом деле должны были в начале обсудить какие-то по классике использовал сср от рахита много вот зачем нужен профит ну он там но это просто обертка надо укусе теперь которая у дом дом удобненько нам позволяет использовать все все возможности и не создавать ну вот эти там о культе тебе collection руками
01:29:57 - 01:31:44
ноги а шо я понял вот у выпсуке туда то тоже сказал то что чад и круто выходила с опятами он чтобы использовал для этого я знаю только со китая нам неважно организация на викенде вот этим не знаю с любым соки уметь работать с факелом ну в продакшене у меня было 7 и опыта но я предположу что тратит умеет все хотим тоже работать ну там не совсем профит у меня такие же теперь вот еще в чатике вот подсказывают очень хороший библиотека есть под названием скарлетт с обычными классическими собственного
01:30:53 - 01:32:21
течки вот так к на самом деле практически все мы обсудили вопрос еще есть но мы выходим за время интервью поэтому наверное нам пора поменяться ролями и можно спросить мне все что тебе интересно по поводу компании которые передаваться окей ну в целом как по по опыту наверно но мне обычно интересно ну и сейчас я тоже об этом спрошу про проток какой вообще скажем так flow flow разработки в компании то есть какие какие процессы проходят допустим новые фичи там перед тем как она отдается разработку разработчику и какой какой
01:31:47 - 01:33:32
процесс до релиза нам даже еще очень 102 на немецком это просто отвечать вот вопрос хороший вопрос точно стоит задавать вот действительно особенно резина во многих компаниях тестированием с тем же самым сиди и вообще идея когда возникает фича притом что я ответил на твой вопрос окей ну и мне было бы интересно спросить про компенсации какие-то но для разработчиков виде там поездок на конференции оплачиваемые и тому подобные вещи ну и плюс я обычно спрашиваю про размер команды то есть как какой размер команда куда я попаду
01:32:41 - 01:34:33
теоретически и плюс не посредством тот продукт ну и если их несколько в компании над над которым я буду работать и в принципе наверно на этом этапе мне кажется всё ещё ещё ещё был хорошо просто но спросить интервьюеров почему он сам работу этой компании и может это может толкнуть на определенные размышления и инсайты я бы сказал не нужно стесняться задавать контролирование там не знаю очень такие вопросы неожиданные тогда то есть понятно то множество пояс это мой еще работает ли акции компании так далее
01:33:39 - 01:35:05
никто по делу отвечает ничего не будет потому что все таки льют официально часть вот но папа допустим не знать чему ты научился за последний месяц на коне работает компания скажу что этот последний раз сделал да расскажи что тебе не нравится в компании чтобы ты вообще захотел поменять если захотел понять а почему еще не поменял теперь ские какие-то в этом проблемы и так далее потому что интервью это не только вот процесс стало то что мы ищем специалиста даты как это ты ищешь работать первую очередь вот а мы очень хотим тебя
01:34:25 - 01:35:29
сходить потому что девятов очень мало вот как бы да вот на этом наверное можем завершить и мне в целом есть что сказать по поводу всего интервью вот но наверное можешь рассказать не знаю в общем как у тебя ощущения после в нашей с тобой дискуссия ну в целом мне мне понравился какие-то новые таки этот тонкости узнала ну то есть чувствуется си синьор ность скажем так ну то есть как каких-то таких подкапотным моментов с которыми наверное можно столкнуться только если ты сам через них прошел да и дам пофиксил и
01:34:57 - 01:36:30
что-нибудь или реализовал связаны с этим вот ну и плюс вот этот формат немного необычный то там смысле что-о как бы ты задавал общие вопросы и я пытался поймать логику да и попасть вот тут тут туда в ту в ту тему как который также спросить вот в целом интересно интересный опыт я думаю день для меня было полезно дал своей страны в общем я наверно покинуть его каждую секцию что этот понаписал вот в общем смысле вы начали сначала обсуждать часть часть который называется от тебе да на самом деле это как бы часть а тебе но
01:35:43 - 01:37:17
в целом очень многие интерьера смотрят на это как на полноценные вопросы которые ожидает услышать полноценные ответы но определенные точнее ответы вот именно в этом случае тогда мы с тобой общались допустим особенно когда мы обсуждали проблемы но вопрос запустишь по самый критичный бак у меня сложилось такое впечатление сказал то что была проблема для текитос эрик андраш сказал я бы добавил валидацию там еще и сбоку виза и так далее боковины вся и займет очень много количество времени софуса запускаться особенность большой
01:36:33 - 01:37:59
команды особенно с большим количеством моделей в будущем вот из но самое главное то не поможет избавиться от этой проблемы потому что тесты всего нам нужно гонять вот нужно менять их хотя бы там перед релизом или хотя бы элементарно просто руками я проверить вот или нет возможности то на все те же тесты тесты можно понять дарованные в том числе вот используем с использованием нативных инструментов вот хочется видеть наверно в этом вопросе проблема и вывод которое сделал чтобы эта проблема не допустить не обязательно
01:37:16 - 01:38:22
как бы тесты тесты это вывод я всегда проверяю коммерсанты тем как отправить задачи раздела тестировщику вот по поводу по поводу того как добиться хорошего качества оболочка то что сказал что то что нужно писать я не теста нужно писать тесты вот накат и не сказал что можно делать там тот жестов анализ например отступить настроить его в меня тоже хотелось бы услышать и ты не сказал про скриншот с заливными их особая роль вот сидеть и отвечать на посту что показывается как показывается вот по поводу
01:37:50 - 01:39:24
вот задачи которые ты делал а докатываться понравилась больше всего на самом деле в общем хотелось услышать в общем как-то расскажешь про что-то очень детально тебя как-то там сидел грубо говоря страдал несколько дней мы ждем сделать потому что не за то что прочитал чем-то разобрался я рассказала как это работает вот тебе вначале был кейс такой то что ты сказал я не помню что но по-моему тут пошёл на работу да и тебе было интересно дело так что все работало как вот примерно как-то так это понял вот здесь лучше что-то
01:38:36 - 01:40:00
поконкретнее сказать но это такой по полу soft skills да это конечно конечно конечно же интервью это не только технические скилл и вот мы все мы можем научиться технические проблемы надо это хорошо по ходу приложение когда мы с тобой стек обсуждали мне немножко показалось что ты немножко боишься нового вот оторваться с рексом бороться ради ржавый cry я не работал и вот есть такой опыт вот но вот особенность мы собираем команду стали одна из таких остальных проблем google сейчас рекомендует использовать каватина
01:39:18 - 01:40:31
и flow они еще сложные вот они и я бы не сказал что любящим рекси топаз обсуждаемый но люди всё равно вот новый которого заводка идут они большинстве своем все таки учат дают картины и но и на ближайшее будущее там до года через два допустит нашего правления так сильно чтобы потом не смогли бы с тобой вообще кагирова секс на там за картиной вот то есть хотелось бы как бы немножко риск все-таки добавить понятно что верстаки вот пополнила я хотел сказать тут я про я выбрала этот инструмент потому что я понимаю что
01:39:55 - 01:41:16
вопросы будут дальше по нему и так как я себя чуть более увереннее чувствую с ним то есть я его как бы выбрал в плане разработки да это это это хорошее замечание но dos прошлом или в плане разработки здесь ты там ответил свой я там не знаю как это работает теперь чувство что поговорили бы prx потом по поводу диана смотри в общем сложилось впечатление да ты знаешь dagger вот но допустим вот по допустим ну ладно скупы это еще так а именно и вот допустим компоненты и компоненты памяти это прямо критично их
01:40:36 - 01:41:59
расположение будет масштабироваться у нас будет только с от компоненты вас возникнет проблема вот с тем что у нас компонент генерится один файл вот и у нас просто из-за чтобы мы не поменяли у нас этот компонент будет пекине даже нога модными точно dagger ты знаешь но зато впечатления что к полу не слишком глубоко в него вот сижку глубоко копать не нужно но вот эти вот вещи лучше в общем этом катушек попробовать вот по поводу в целом подходов да я кстати не говорил готов ли у нас айос если у нас что-то реализовано уже может
01:41:23 - 01:42:44
у нас на сетевой слой полностью визового наездники молодцы постарались сделали нам эти платформе это повлияет на выбор сетевого стека да возможно мы бы смогли только кейтора и взять и там картины вот возможно быть вопросы отпали вот не стесняйтесь спрашивать я специально ничего не рассказывал дам чтобы ты что-то может висеть вот по поводу архитектуры очень круто было услышать что я писал принципе более европе действительно правда его нужно уметь готовить подготовить его сложно вот можно но здесь на тяжело вот я бы тоже
01:42:06 - 01:43:14
не было что-то наподобие 2м или им я искрящаяся такими вот ты объяснил разницу вот что же было в общем максимальный ход а вот с этим я и на самом деле не очень детально вот но сначала было все нам то ли сюда покопать вот по поводу по поводу я в целом секция прошла хорошо по языку и ты сказал ну то есть ты рассказал как там что оптимизировать рассказал как будет идти ход твоих мыслей на что ты будешь смотреть в будущем вот типа короче как то будешь как решение этой проблемы происходить я говорил
01:42:40 - 01:43:59
положительных словами суши все равно лагает и и вся и 1 это ты в общем а ты пытался систем на этаж очень к этому всему подходить вот это круто технически это можно почитать про лист адаптер и просились деккер кто как не делегаты самому готовить вот к сожалению ближайшие годы полтора-два актуально до каком пол всего не вытеснит вот по поводу всего остального можно прочитать в и пол и вот we pull и не только используют там для жареного риса и погиб можем сделать свой обставь укутываем и пулы и нашими халдира будет
01:43:20 - 01:44:37
будет нагревать еще до того как мы заинтересованы шоколад и мы просто будем использовать уже какие-то из-за инфляции наши и холтер и вот решил просто каждому из акт не можем грубо говоря шарин витл добавить у нас будут другие проблемы в этом плане вот но все равно вот по поводу качества приложения вот очень круто что ты от льда по поводу картины очень круто штыри по все упомянул вот про всех есть этого типа свд . там у нас png вас не упомянул 1 никто никогда не использовал их брест я использовал один раз для бабло часть я
01:43:57 - 01:45:24
сам не особо знаю ли я после зависят они почитают в общем круто 4 разбирался все дела погружался по поводу качества видно то что у тебя нет опыта именно с инструмента тестированием вот это не чисто что на самом деле да не у многих заводчиков и есть год но там был бы допустим плюс если бы ты сказал допустим от есть рассказ в чем его преимущества в чем недостатки того же стресса при тестировании вот как тест лучше всего запускать вот но это вопрос минорный то есть как бы этому всему можно быстро научиться по ходу работы вот по поводу
01:44:43 - 01:46:06
да по поводу многопоточности мисок он тоже уже поговорили сказал фидбэк на секции на той секции на каждом из 8 обсуждали вот вроде бы да вроде бы все что у меня записано вот по поводу того харит не ходите данный вопрос в этом случае однозначно ходить по поводу того на какую позицию ходить это очень хороший вопрос потому что все зависит от того что он за компания вот мы можем не знаю то есть это какой-то стартап допустим да можно было бы взять там на металл + допустим вот это крупная компания вот
01:45:26 - 01:46:39
здесь есть вещи нужно смотреть вот поэтому посидеть вот ну да в принципе справедливо если брать по совокупности знаний то туда и есть места куда еще можно углубиться кирилл тебя не слышно если ты что-то говоришь да все теперь слышно dimm а ты че нибудь расскажешь прошу ну в целом все как бы было на ну и я не чувствовал какого-то давления что ли и в плане в плане общения все все было легко и просто предприят приятно было общаться в целом мне понравилось что ну на те вопросы на которых я не имела там достаточно
01:46:03 - 01:47:42
компетенции лёша сразу как бы говорил правильный ответ и это было кстати ну то есть я еду себя отметил что там раз вот эту штуку можно подтянуть эта штука можно потянуть но это та та изначально зачем и хотелось попробовать это все в онлайне сделать вот ну вот такой себя как ребят положительные все все круто тут интересуется очень сколько у тебя лет опыта ну android 3 где-то плюс и до этого я еще была клея там тестировщиком мобилка окей так да ребят вы можете сейчас продавать свои вопросы мы на них
01:47:03 - 01:48:24
подключаем немножко он осталось времени вот не забывайте так лёши это вот к тебе про компоненты sap компонентов до гири поподробнее просят да на вдове а мне вот обидно я про это видео целые снимал бен рассказывал все вот сейчас про это спрашиваю я вас ходить и есть целый курс по рубли на канале плейлист но лёша повторить нагрева несовершенством для объяснения его не смотрел мои я уверен что она хорошая вот вообщем если мы говорим про сад компоненты до равно код которого пишемся компонентов предали его нубом генерит
01:47:49 - 01:49:11
там компонент названием tag der бла-бла-бла вот код компоненты которые вы поместите как сад компонента вас будет в компоненте которая вас ну получается первый компонент вот а если используйте компоненты подачи вас будет полностью независимы и и сгенерированные компоненты вот и в этом плане у вас просто случае могут быть компонент где 100000 строчек кодов гнедино вот письма генерация там до абдель этих файлов поиск нужных мест на занимает время как но кстати вот сказать типа что все прям бегите sap компонентов наверное нет
01:48:31 - 01:49:47
google уже активно типа экспериментируют команды с тем чтобы в sap компоненты генерацию вынести в отдельные класса не все знают про эту проблему типа это ограничение хил то кстати почему hill только на саб компонентах работает чтобы упростить его но типа ближайшее время этого ждать не стоит туда герани там прям команда сказал что у них основной приоритет это ксп то есть копин символ процессе то есть поддержка генерации котлин кода чтобы ускорить processing дагира и потом уже буду что то делать с
01:49:12 - 01:50:07
об компонентами будущем а нет перфомансом работают но типа и если вас думаю проблем вам сама плюс скорее всего руками переходить вот так еще кстати вот хороший вопрос был ты-то начал говорить про компанию прочим вот а какие требования were валют вот вот как как бы ты бы оценил то что дима прошел там не такая всего несколько этапов же were валюта данного и валют в общем да я понял сервис не от имени компании валют другие совершенно вопросы где то похожее возможно вот но опять же здесь проблема номером три вопроса про планку уровня то
01:49:40 - 01:51:02
есть о колонках вообще нужен еще один этап то есть это было 70 лет он допустим текущую компании нужно было бы еще агентов по флангу именно про количество даже типа вот от чего ожидать там не знаю там только сеньоров нанимают там был какой-то опыт прочим то есть вот она не понимаем того что дима отвечала ему бы хватило это пройти собеседование да вполне вот так вот кстати егор курников пришел хоть один из авторов касс пресса показ пресса пора уже спрашивать как пары джаве ребята сам себя не по рекламируешь никто не по
01:50:25 - 01:51:44
рекламирует до на самом деле касс пресса красная штука если вы хотите в катится в тесты или в принципе уже тестируете не знаете про неё то обязательно никакого посмотреть действительно собрали очень много хороших практик очень много наработок развивают ее активно добавляют новые штуки там уже поддержка компасу даже появилась поэтому смотрите так вот кстати да почему не стал задавать вопросы низкоуровневые например на каких процессов ных инструкция хвала тайл работает как android под капотом отрисовывает интерфейс и прочую нечисть
01:51:13 - 01:52:21
и тут опять же вопрос это всем накида можно томске его короче выйти можно можно спросить этот пост зачем вот понравится ну тебя есть много вещей до которые можно спросить как нам приложение делать так и сделал так чтобы не лагало вот там знаете так что там знаю носки да используется или нет и как она работает честно все равно вот но опять же зависит от позиции см и конечно про любой человек на какой-нибудь там знаю инженера каторгу делать новый фреймворк конечно мы выскочили по всех систем и как они работают
01:51:56 - 01:53:05
залезли по глубоко и так далее по поводу многопоточности честно скажу вам райдена много используется не так много как бы кенди но все таки много вот тонкости знать нужно но не так прям сильно допустим как это нужно на викенде мы не используем и семафоры и так далее вот и поболтаю в ответ по что типа да это штука которая условно там до позволяет нам ходить не знаем регистры процессора там какого то вместо того чтобы идти в память кеша отца он будет достаточно мне кажется такие вопросы тоже типа если ты хочешь
01:52:31 - 01:53:48
сбить збс закопать кандидат наверное уже можно типа по закидывать чтобы посмотреть как он там типа но наоборот если ответит может стать только хуже еще ситуация для интервьюера плане особенно не знаем самом деле честно это же я для меня странно задавать вопросы по темам да типа если интересно узнать что там как знаешь ну прям такие темы копать конкретно глубокий если человек будет заниматься тем что будут в аяте уайтом делом и не будет блин там бизнес-логику ленте прочим не будет заниматься низкоуровневыми библиотеками там
01:53:10 - 01:54:07
незнайка нибудь к рутин x testing писатели блин прочее то типа но блин это вопрос типа такой вот а зачем он так вот какие то вопросы то был топовые комментарии под эти по зачем я к смотрел веб-разработчик развиваться джаред лето и мэдисон так да блин сушки нет вопросов толком хорош к таких нормальных что же вопроснике перевелись на руси было той алкашам отношения не имеет [музыка] короче вопросов особо больше нет поэтому я предлагаю сворачиваться все же пошло праве валют поэтому мы не здесь не ради революции собрали до
01:53:38 - 01:55:13
самого поэтому вы вы не по адресу типа вот жаждем большое спасибо вам что пришли поучаствовали показали мне очень понравилось и я вижу и по отзывам ребят тоже было довольно классно ребята давайте пошумим похлопаем поставим лайк и в комментариях подписываемся большое спасибо да потому что действительно посмотреть со стороны не только как я провожу интервью очень полезно спасибо ребят все на этом всем все большое спасибо и пока хорошего вам времени дня в которой вы смотрели то видел запись как всегда остается на
01:54:49 - 01:55:54
канале хватит уже об этом спрашивать не уже надоел об этом отвечать все всегда остается на канале все всем хорошего вечера дня утро я не знаю когда вы это смотрите все пока пока пока всем пока
01:55:26 - 01:55:54