Экспертное собеседование на позицию Senior Android разработчика

Подготовка к собеседованию на Android Developer

Транскрипция видео:

  • а [музыка] и привет снова возвращаемся с нашей любимой подборочка того как один эксперт побеседуют другого узнаем разные интересные кейсы много много чего полезного сегодня нас ждет собеседование с одной стороны странную с другой стороне страны вообще непонятно даже до сих пор не знаю как правильно из кого компании назвать откуда у нас будет основной эксперт которые будут проводить интервью дим привет дим из какой-то сейчас компании я не могу понять все достаточно четко понятно компания называется дзен платформа

    00:00:04 - 00:01:25

  • конгломерат которые содержат пока пока индекс но скоро возможно станет не он нам с папой скоро поделят и узнаем кто с кем будет жить хорошо да не зеленый банк у это уже хорошо с одной стороны до в общем дима человек довольно с большим опытом несколько лет и проработал в революции квали так давно стал тем людям цену до этого много чего успел сделать преподавал в android академии московской в общем я думаю люди тебя знают и представлять нужно а подлодка crew конечно же кто создает подлодки круз сколько-то сезонов от был там шесть все

    00:00:57 - 00:02:20

  • зря здесь зон да вот прямо тебе должны выдать маечку на подлодке такой со звездочками тип как у танков только там подол точной подгонки с торпедами получается ну торпеды долили под лодочки такие нарисованные ok да и интервьюировать сегодня у нас ты будешь мишу левченко смешав все понятно очень просто миша из яндекса ну если быть совсем точным то из автору который из группы индекс ладно скажем так из группы яndex . вертикали там вот такое разделение . . сейчас не очень удачно типа индексы . там продолжение есть поэтому

    00:01:39 - 00:03:10

  • окей хорошо да я думаю смеши вы тоже довольно знакомый и по его выступление и по его опыту и в принципе я думаю человек миша к примере мне миша сразу 7 что-то ассоциироваться смешать это во-первых классный канальчик телеграме с мемчиками прямо порой есть чего посмеяться хорошего прям заходит и конечно это раз построитель нас m white dick декларативные вот этих вот подходов которые соответственно активно он агитирует как еще и доком пол за так уже из приходом во все верно да все так да дим сегодня ты будешь проводить

    00:02:26 - 00:03:39

  • собеседование расскажи нам пожалуйста про формат что нам все нуждается какая будет структура и что ты ожидаешь от миши ну как подметили части youtube раз мы из индекса значит будет одни жесткие алгоритмы но структура данных поэтому обойдемся простым базовым интервью называется технической интервью где спрашивает язык платформу и по сути это все теория сегодня мы не будем писать каких-то задач их не готовил сегодня просто теория побеседовать понять что за опыта человека оценить глубину его знаний и соответственно принять решение

    00:03:04 - 00:04:31

  • об эфире правда человек уже в компании поэтому может быть на переходе но посмотрим посмотрим я думаю это ближе водяного я думаю хорошо я так понимают миша ты ожидаешь наверно уровню сеньор с его опыта навыками ну сегодня это узнаем но думаю да как минимум человек которые часто ходят по конференциям и сам выступает я думаю точно готов к вопросам которые сегодня могут прозвучать сейчас друг он очень умеет хорошо выдавать себя за сеньоров да что я самозванец ну либо будем раскрывать смазал анус топа делается

    00:03:55 - 00:05:23

  • надо прям было такое дело зубанов раскрытия самозванцы такой и такой миша типа улыбающийся хорошо в общем тогда не буду вас задерживать давайте приступать ну давайте в таком случае поскольку я сегодня на правах со беседующего значит задаю вопросы я но давай так во многих компаниях когда я собеседовать и где имею опыта беседующего технически интервью она делится обычно на три части где первой части мы просто беседуем общаемся задаем тебе вопросы касательно там опять же опыта и решение каких-то ситуаций выдуманных

    00:04:38 - 00:06:12

  • исключительно может быть и из реальной жизни во второй части это уже сугубо техническая часть задают вопросы касательно как раз уж там языков с которым нам приходится сталкиваться нашего любимого android sdk вот ну и и возможно если будет время какие-то общие вопросы просто на эрудицию так скажем в компьютер sciency да ну и последняя финальная часть это часть диеты можешь задавать любые вопросы мне на реальном собеседование само собой такая часть суперважно чуть позже раскроем почему вот ну и заодно

    00:05:25 - 00:06:39

  • посмотрим как ты с этим справишься поэтому предлагаю начать мне тут сегодня насоветовали что после каждого из этих этапов я буду давать легкий фидбэк где постараюсь описать зачем я какие вопросы задавал что я ждал в ответ на них и как то так вот у меня в этой части находится ноутбук на котором я выписал примерные вопросы которые потенциально сегодня задам часть из них устройство вот и я если что буду туда какой коротко чердак записывать поэтому не переживай я с тобой но иногда куда-то сторону подтягиваюсь так вот ну что ж тогда

    00:06:02 - 00:07:28

  • начинаем с первой части как и обещано первой части мы говорим про тебя про твой опыт и до из этого и начнем где ты находишься сейчас где работаешь что за проект над которым ты работаешь да я нахожусь сейчас в команде автору вот мы мп соответственно занимаюсь я приложение android приложением автору и всем что вокруг него связано последнее время у меня немножко расширился круг обязанностей вот в том числе я занимаюсь не только фичами в данном приложении но еще и инфраструктуры вокруг него я занимаюсь

    00:06:45 - 00:08:16

  • тем что слежу чтобы наши авто тесте кипра гонялись за тем чтобы по ним строились красивые отчеты за тем чтобы автоматизации некоторых процессов которые у нас устроены вокруг вокруг релизов вокруг процесса по доведения задачи до выкладки и так далее чтобы она строилась это называется по-разному кто-то это называет по мобильный devops кто-то это называет типа девелопер experience команда кто платформенная вот занимаюсь я вот такими вот штуками ну и кроме того я отслеживаю техническое развитие проекта помогаю планировать

    00:07:30 - 00:08:56

  • что мы будем улучшать в техническом плане в проекте вот какими средствами мы будем это делать за сколько в общем такой вот немножко менеджмент без уклонов в административка просто распределение ресурсов на решении технических задач ну или реализации сколько у тебя в общем опыта в android в разработке вообще в разработке у меня чё-то около семи чаш и точно не помню лет опыта вот начинал каких-то студенческих проектов затем я получается занимался we are разработкой вот когда это было вот самая свежая

    00:08:13 - 00:09:51

  • новая тема вот а затем я устроился в яндекс автору и с тех пор уже почти 5 лет я здесь вот прошел путь от младшего android разработчика до соответственно вот этой вот странной должности которую я писал минут раньше ну замечательно ты упомянул что ты отслеживаешь техническое планирование сын проекте а расскажи вообще и фреймворке ты бы отметил или какие-то технические решения с которыми тают который ты внедрил или который ты любишь ли ходишь внедрить ну естественно то что у всех на слуху кампус мы активно внедряем вот

    00:09:02 - 00:10:31

  • прорабатываем как на этапе новые фичи уже на нем пишем принципе нарабатываем опыт вот еще мы смотрим пока в сторону картин все еще смотрим вот и есть какое-то понимание того того что надо бы на них например переходить и так далее да но в то же время есть понимание что пока что это не вписывается в общую канву технического развития есть гораздо более приоритетной задачей вот кроме того еще борьба с легаси решениями некоторыми занимает довольно большую часть технического планирования занимает далеко не

    00:09:46 - 00:11:09

  • внедрение каких-то новых фреймворков и подходов вот но какое то борьба кольца с каким-то legacy вот так же по инфраструктурной части могу сказать что там это например конвенцию плагин плагин и вершин каталоге вот такая вот штука как бы попытка как-то уйти в сторону от большого засилия и тестов в большее количество unit тестов и интеграционных в общем множество разных вещей не обязательно это фреймворке чаще всего это методологии какие-то подходы принимается ну про вершин каталоге и вот эту всю историю на собеседовании

    00:10:28 - 00:11:56

  • мобильного девайса сегодня за разработку вот расскажи кстати раз вы посматривайте накрутили что что сейчас используется для многопоточности rx java 1 . x неплохо-неплохо не посмотрите x или может быть три да смотри так как на проекте используется в даем архитектор которую я в том числе как бы внедрял в проект она разработана специально чтобы г-жа в этом не мешалась вот и поэтому я там немножко перестарался и сначала хотел чтобы оно было легко отделима от проекта но в итоге как показала практика оно

    00:11:15 - 00:12:49

  • настолько сильно не мешается что-то не замечаешь что ты на какой-то древний версия java пишешь вот потому что все эффекты изолированы и таким образом ну вообще пофиг хоть на x и титры пиши но это не всегда удобно это одна из причин по которой переезд на картины задерживается потому что на самом деле сильной нужды в этом нет все экранчике которые найти не испытывают проблем с многопоточность you традиционные до традиционные которой написано традиционном стыке образца 2000 16 18 годов когда этом писали 2 петли на

    00:12:06 - 00:13:32

  • хх и texture из кейса вот эти вот не тракторы там да там очень показывает насколько люди я в том числе не умеют писать и мыслить потоками вот и так только кажется простым на самом деле это довольно таки сложно принял хотел пошутить что был бы клин легко бы перешли там же все заменяется да все легко заменяется кроме основного я execution движка катит в котором все эти из кейса работает ну или хорошо чуток сдвинемся в сторону расскажи пожалуйста что у тебя за команда вообще сколько это android-разработчиков как

    00:12:49 - 00:14:24

  • команды формируются да у нас порядка десяти к android-разработчиков команде занимаются ну как бы есть определенные зоны ответственности так называемые стримы вот и каждому стриму прикреплен 12 разработчика они составляют месте там союз разработчикам backend разработчика менеджером там и тогда и так далее составляют от куют кросс функциональной команда к что называется правильная я не очень силён в терминах отжать вот но в общем какую-то команду которая пинает в рамках стрима задачки понял давай утра зацепили задачки как

    00:13:36 - 00:15:06

  • они у вас вообще приходят откуда они спускаются и как разработчик понимаешь что муж тут надо сделать до в рамках вот это их вот команд есть некоторый проектный менеджер который понимает что ну что важно сделать пройти какие фичи затащить какие вытащить и так далее кроме того сама команда заводится дочкина какие-то технические улучшения проектах не касающиеся продукт затем это все сваливается в одну такую большую кашу глумиться и выставляются приоритета и дальше каждую задачку получает разработчик в зависимости от его уровня

    00:14:21 - 00:15:57

  • он ее либо прорабатывает либо вместе с более старшим товарищем садиться за ее проработку и далее перед проработку делать где тот момент когда можно сказать что разработка фичи закончена ну когда фичу [музыка] после после сбора релиз кандидата от тестировали как бы небольшим таким смоуком и она 10 работает и после выходки не прилетело никаких как крышей все метрики и показывают что он which are там раз катилась после выкопки эксперимент и там или еще чего-нибудь и все окей иногда в принципе задачка сто

    00:15:10 - 00:16:49

  • процентов считается закрытой вот до этого на в каких-то промежуточных статусах валяются окей интересно и давай смоделируем такую ситуацию поскольку на собеседовании представим что у тебя есть такая задача есть какой-то дедлайн вы взяли эту задачу в разработку сидите занимаетесь ей но где-то там середине срок это понимаю что в онлайн это фича уже не вписывается вот какие твои действия по разрешению данной ситуации во первых стоит уточнить что это за дедлайн мы завязанным на какой-то маркетинг и это

    00:16:03 - 00:17:25

  • прям тютелька в тютельку должно выйти или это дедлайн оля кто-то закончился перед топ-менеджментом что кровь из носа будет в этом квартале и всё да ну никак какой вариант ну типа потому что первый это жесткий дедлайн 2 это все-таки на уровне каких-то договоренность ну поскольку чуть тяжелее будет ответить на то что это жесткий дэдлайн давай пойдем по этой ветке vod-ok по этой ветке тогда ну понятное дело что нужно разобраться в причинах того почему мы не успеваем то есть если ну во первых кто не

    00:16:44 - 00:18:10

  • успел кто виноват как говорится давай при новые слоты разработчики единственный соответственно и деньгами я имею я имел ввиду все ли готово для задачи то есть она не движется потому что оно само по себе сложно и ты продолжался или еще из-за чего-то или же не хватает каких-то ресурсов вот дизайн не так что все готово все нам не просят лай так вы связались смотрелось или я не знаю ну да да мой любимый шум харям типа лично личная ответственность в такую в таком случае все просто не с кем общаться некого винить не все шестым

    00:17:26 - 00:18:54

  • пышное вот значится здесь нужно понять чего не хватает возможно задачу можно как-то раз параллели и тогда стоит обратиться к своему как бы руководителю затем чтобы тебе выделили объяснить ситуацию объяснить почему то задачка приоритетной важная и обратиться чтобы тебе сняли с какого-то другого стрима разработчика помогли и можно ее распарить либо же у задачи есть какие-то на самом деле вещи которые в мвд не особо вписываются вот их мог ответить еще на этапе как бы разбора задачи дано тебе могли сказать что ну на самом деле

    00:18:11 - 00:19:49

  • давай пусть будет давай сделаем вот возможно стоит здесь сделать второй подход к тому чтобы отрезать вещи которые не вписываются в них какие-то лишние шаги какие-то модификации промо пробки типа по всему об до новых фич этом еще какие то вещи которые на самом деле можно докатить и после из-за и никого это не убьет вот какие то дополнительные интеграции какие-то дополнительные фишечки то есть ну тут для каждой задачи нужно смотреть вот соответственно получается два стула либо раз параллель задачу если она

    00:19:00 - 00:20:10

  • получается распараллелить если это точному ну ты уже видишь что это может дать какой-то выхлоп они вы все сойдетесь стороны какой то сложные штуки ну и резать к кости резать углы но у меня целиком устроил ответ окей тогда в этой секции последний вопрос расскажи про свой самый большой пока мой самый большой faq от как раз таки был связан все-таки как раз такой же ситуации что как оказалось фича фичу ну во первых я не до конца понял сроки которым она должна была готова быть вот то есть там была целая куча

    00:19:35 - 00:21:19

  • проблем 1 вот сроки и коммуникации сроков сложностей и так далее задачи вот затем была проблема в том что я довольно долгое время потратил на риф актами не знаю об этих строках я решил заняться сперва займусь рефакторинга вот в итоге этот факт был прям космических масштабов то есть там было две фичи ну вернее два экранчика да и один ты кранчик это не были кранчик а именно вот прям юзер fallout 2 юзеф истории условно говоря и вот одну users торе и я начал делать четыре дня дедлайна вот это было прям

    00:20:32 - 00:22:04

  • очень жестко естественно естественно мы ни фига не вложились в это дедлайн вот естественно я проработал там переработал этот пока и с тех пор я вот как раз таки и в такие вещи постараюсь не попадать и если есть какие-то нереалистичные сроки я них сразу же говорил еще на этапе проработки задачи и стараюсь прям так сказать что у ребят как бы я могу вам сказать что сейчас что мы не успеем либо за пару дней до конца что мы не успеваем типа вам какой ответ лучше и интереснее понял ну и что стараюсь не работать

    00:21:18 - 00:22:47

  • сверхурочно на этом первая часть тогда собеседование в целом закончена поскольку я обещал после каждого этапа давать какой-то ответ то вот давайте сейчас это я расскажу собственно первый этап где мы просто общаемся с кандидатом и в целом тут нету каких-то вопросов на которые можно ответить исключительно правильные ли исключительно неправильно весь смысл этого этапа познакомиться с кандидатом в первую очередь немножко расслабить его сказать потому что собеседование это стресс и каждому нужно разгрузка вот но и само

    00:22:05 - 00:23:29

  • собой слегка подгадать как этот кандидат вписывается к вам в команду например если вашей команде два человека и один поднять свои ищите ему замена то допустим человек у которого опыт работать только в команде с десятью ну звучит немного не так но хотя вроде как крутой опыт типа человек знает как что будет команда есть она пойдет о расширении но совсем хуже другая ситуация если у вас команды например 10 человек а у человека опыт работы только в команде не больше двух людей он тогда в команду описывается уже чуть

    00:22:52 - 00:24:01

  • хуже но опять же это вовсе не означает что это человек не подошел на этом этапе и так далее вот далее ну из человека выбивается информация о том какие плюс-минус 5 фреймворке он использует это в целом может как-то влиять на дальнейшее прохождение интервью например если я вижу что человек отвечает что знает о риджал значит можно спокойно спрашивать вопросики по ней вот и при этом если человек решил посмотреть на крути на ну наверно можно опустить и по крайней мере не ожидать что человек обязательно

    00:23:26 - 00:24:35

  • должен в них ответить вот еще что подмети до когда спрашивают про самый большой факап в целом важно услышать что человек не робот он может ошибаться у каждого могут быть факап и это могут быть очень жесткий так оп и так далее но очень важно услышать то что человек сделал после этого пока по какие выводы он для себя сделал к чему пришел и ну здесь так наложить что история про то что делать если ты не успеваешь закончить пищу и самый большой факап это примерно про одно и тоже вышла вот но суть как раз услышать какие выводы для

    00:24:00 - 00:25:19

  • себя человек сделал что нак вообще сделал и как то так вот ситуации типа что делать когда не успеваешь в целом в каждой компании ответ на этот вопрос свой то есть есть компании которые абсолютно нормально приемлет услышать ответ что я начну перерабатывает есть такие компании это большинство и наверное ну ладно не буду грешить статистике я не знаю вот но есть компании где это например неприемлемо услышать отверстия человек пойдет перерабатывать потому что ну теперь работаешь перегоришь не захочет это

    00:24:40 - 00:25:52

  • делать и в дальнейшем на месяц выпадешь из работы и на тебя нельзя будет положить поэтому все хотят услышать примерно то что сказал миша я просто повторюсь что это возможно перенос сроков если это возможна дополнительная помощь извне если есть кому помочь и да скок задача когда мы задачу нашу берем и и выкидываем что-то что может не так важно в первом при виде вот как то так ну что тогда предлагаю двигаться непосредственно к технической части погнали ну погнали мы android разработчики пишем в последнее время накоплен вот но еще

    00:25:16 - 00:26:51

  • недалеки те времена когда писали мы на джаве и соответственно начинать мы будем немножко джавы эта штука называется объектно-ориентированным языком вот и расскажи пожалуйста что вообще за объекты что это такая за сущность и пойдем дальше но я не буду вот эти вот вопросы там типа штрихом показывал книгу философии да это будет не так не в ту сторону не переживай оки а собственно говоря объекты это некоторой сущности у которых есть а данные которые они в себе хранят и методы которые можно у них вызывать собственно говоря это

    00:26:03 - 00:27:38

  • попытка побороть проблемы структурного программирования ну и не структурных тем чтобы объединить вот в какие то вот такие вот пакетики аккуратненькие модули данные и методы которые над ними оперируют и заодно при помощи инкапсуляции как-то спрятать от внешнего мира внутреннюю machinery того как на самом деле устроена логика внутри объекта ну пропустим историю стены какие там есть аттракции полиморфизма вот эта вся история может сеньоры заводчики мы это знаем вроде как по обязательно и сразу перейдем к тому где собственно поле

    00:26:51 - 00:28:27

  • знание не ура я должен быть максимально сконцентрированы а именно что у нас джаве происходит с теми объектами которые нам вдруг уже не нужны а их в определенные моменты времени в зависимости от настроек собирает сборщик мусора комод или не собирает но это уже зависит от того как устроен его алгоритм окей что такое сборщик мусора что это за штука такая сборщиком мусора это компонент собственную виртуальной машины java который ответственна за то чтобы освобождать память от объектов которые уже не используется как понять

    00:27:38 - 00:29:03

  • используется гетто или нет из крутов мэйна и thread'ов должны он должен быть достижим то есть на него должны быть ссылочки вот как только ссылочек на этот объект нет от которых можно дойти до одного из крутов он считается мусором его рано или поздно сборщик мусора соберем хорошо тогда давай сейчас ну немножко под углубимся в те термины которые ты сказал все ли ссылки по которым он достижим обязательно гарантирую что он не будет удален или у нас есть какие-то другие виды силы а ok во первых то что он объект есть

    00:28:22 - 00:30:09

  • ссылка еще не значит что его не соберут вот в отличие так как у нас все таки нормально такой сборщик мусора именно сборщик мусора а не какой-нибудь reference каунтер как у наших друзей и завез разработки он корректно обработает даже такие штуки как два объекта ссылаются друг на друга и больше никто на них не ссылается вот вроде бы ссылки на них есть но они не достижим и поэтому они соберутся ну и конечно же есть называемые вик референсы которые как бы явно для сборщика мусора совмещают что я в принципе держу ссылку

    00:29:15 - 00:30:46

  • на этот объект но он мне не особо нужен ты можешь его собрать если больше никто его не держит есть там еще какие-то ссылки типа фантом reference и еще какая-то но я честно говоря ни разу не пользовался и не помню вообще для чего они могут понадобиться возможно не для чего хорошо ну да неназванные сутки тасс авторы но действительно в android разработке чаще всего мы используем только вик либо пользуемся сильной ссылкой окей ты также упомянул что наш супер заместитель замечательный сборщик мусора

    00:30:02 - 00:31:22

  • он построен на неких руках что это за руты такие ну как раз каждый jal программы есть мы вот то есть есть некоторый class main и вот соответственно от мэйна если идти то это первый врут а также у каждого thread'а который создается нашей программой есть свой три транг из которого тоже можно найти собирать собственному все руки которые и насколько ну еще в статические ссылки тоже да и с таких неназванных экстерном функции или как они там называются нативная короче нативный окей на тему нового что у нас примитивы вот у

    00:30:43 - 00:32:22

  • нас здраво такая не до конца определенный язык вроде как все объекты но не все да ну если быть точным то что то ссылочный тип а что танец и сочный тип ну и кроме того до объекта не объект в общем и есть так называемые примитивные типы все остальные типы как бы как происходит у нас есть некоторые стык нашей функции то есть порт память вот где хранятся локальные переменные если это примитивный тип то он прям хранится вот вот туточки на стыке то есть примитивными являются всевозможные виды чисел ок это in short paid

    00:31:36 - 00:33:14

  • че-то там лонг по моему какой то еще был чак вот все эти вещи хранятся вот прям на стыке вот все остальное хранится где-то в кучи и мы имеем только ссылку на них на их отличают строки и масел окей хорошо расскажи тогда что такое утечки памяти что это за ситуация такая да о утечкой памяти в java мире называется ситуация когда объект тебе больше не нужен но на него где-то осталось ссылка и он все еще остается в памяти занимает место и если такие временные объекты если такие временные объекты много-много

    00:32:24 - 00:34:15

  • создавать то рано или поздно память закончится потому что их никто не собирает и даже когда ты будешь приближаться к ограничению по памяти которые с которым тебе запустили все чаще и чаще будет больше мусора пока в один момент как бы он вызовется ничего не освободиться и ты свалишься с out of memory exception собственно этим утечки памяти и а по какой пример есть может быть номер лика на андроиде как нам искусственное воссоздать да у классический пример мы не не в нашей власти так сказать жизненный

    00:33:27 - 00:34:52

  • цикл android компонентов таких как activity activity контекст фрагмент бью вот они все создаются из и высвобождаются системы и перри создаются вот и если мы удерживаем на них ссылку но и прах прошляпили момент когда перри создалась там уже новая view новый activity которую созданном система старая вроде как должна была собраться но она осталась вместе со всеми ресурсами которые на тебя окей хорошо принимается ну и в завершении говорит про горжусь коллекций расскажи какой нибудь может банальный алгоритм его очистки

    00:34:16 - 00:35:50

  • ну короче как происходит работа джош collection ну вот он трудов пошел ему какой-то объект не нужен что он с ним сделает да этот алгоритм насколько по нему помню называть маркин sweet вот собственно он помещает все объекты как мусор до которых не добирать при этом он для оптимизации вот насколько я помню это дефолтный коллектор джаве я просто не помню в какой версии они по моему с 9 меняли дефолтные garbage collector я не уверен что в андроиде точно такой же вот тебя могут нам принес да я понял я имею ввиду

    00:35:05 - 00:36:24

  • что generation of garbage collector насколько я помню он в ортис какого-то api я сейчас точно не помню но этих алгоритмов и но нас же интересует тот который в андроиде вот но по моему вот самый актуальный все-таки generations и суть его в том что у нас есть несколько пулов объектов вот и мы вот свежий выделенные объекты это я накачан и ration в первую очередь проходим по ним высвобождая память если память по-прежнему не хватает то мы идем в older generation вот так называемый как туда попадают объекты если он не

    00:35:45 - 00:37:13

  • собрался при предыдущем more can slide то соответственно ну он все еще нужен и перемещается к более поздние generation вот это все основано на такой спекуляции что чем дольше объект живет тем больше вероятность что он будет жить еще дальше так как с языками программирования ну да посмотри физически эти объекты в памяти перемещаются когда они ходят по этим поколением или нет а насколько я помню это вовсе не обязательно им достаточно побыть помеченным вот но фрагментация hippo тоже довольно-таки большая проблема насколько я помню одна

    00:36:31 - 00:38:08

  • из обязанностей вот как бы - это памяти виртуальной машины это дефрагментировать хип то есть аккуратненько сложить ровненько объекты чтобы между ними не было пустот для того чтобы удобнее было в дальнейшем выделять память потому что когда у тебя память единым таким куском гораздо проще из нее отрезать скока те надо чем искать среди множества дырочек ту которая достаточного размера прозвучало действительно хорошо хорошо нас есть такой метод даю который присутствует у всех называется он cashcode когда мы вызываем его на объекты что это

    00:37:22 - 00:38:50

  • за функция может что-то коротко расскажу зачем она нужна в общем да иногда нам бывает нужно каким-нибудь образом получить некоторый индификатор грубо говоря объекта вот причем не его адрес памяти или что то такое что то что поможет нам передать как бы все многообразие его полей состоянии типа текущие вот какой нибудь коротенький ключик вот по которым мы можем там его например складывать в маму или еще что то вот для этого хорошо подходит хэшируются функции вот они любой но они так сделаны что любой input сводят

    00:38:08 - 00:39:45

  • какому-то конечному числу байты если можно условно так сказать вот и таким образом чаще всего рекомендуют это делать взяла мире по крайней мере путем умножения на простое число хэш-кодов твоих полей из соединения но общее это может быть любая хэшируются функция ok если мы берем нативную реализацию не перри переопределяем метод кашпо до берем нативную то что нам это число может сказать так да там там была какая-то хитрость я честно говоря уже толком не помню там брался идентификатор объекта но то

    00:38:56 - 00:40:43

  • что можно дико где багере найти и еще что то я уже подзабыл какая дефолтная реализация единственная она не учитывает поля класса это совершенно точно могу сказать самое-самое практическое знание из того как оно реализовано это то что не учитывает поля класс учитывая только его собственно говоря и оденьте ну в целом все так ну просто на всякий случай одно из самых популярных раньше по крайней мере вычислений хэш-кода это было взять его ячейку памяти в которой он находится и и поместить как число вот

    00:39:53 - 00:41:31

  • но тут бы был хитрый вопрос от смотри если мы берем java машину где у нас объекты реально перемещаются по разным поколением и дефрагментация происходит то как так выходит что хэш-код вне зависимости от времени когда мы вызовем вернется наверное него зачисляется он лениво вычисляется ну ладно тут действительно все это я помню это яблоки хорошо но до для тех кто может не понимает и не разрешают что это значение за котируются для объекта и соответственно если мы первый раз вычеты получили ячейку памяти условно а дальше

    00:40:43 - 00:42:05

  • куда бы этот объект уже не переместился если он менялся то соответственно мы получим тот же хэш-код поскольку deliver a хорошо давайте дать немножко правах и шмотом что это такое почему вообще она придумана и про коллизии поговорим да это одна из самых прикольных структур данных собственно говоря шмапы это реализация интерфейса map в этой стандартной библиотеки вот и это как бы но баб идейно это некоторая собственно говоря mapping из одного пространства как бы значение в другое то есть придаешь ей какой-то ключ она тебе

    00:41:25 - 00:43:08

  • возвращает некоторое значение или вычисляет зависимости от реализации на самом-то деле вот и ну и не возвращать ничего если там ничего не лежит либо если значение посчитать невозможно вот вот такой вот такой контракт чем-то похоже на функцию от одного вот хэш map это популярная можно сказать дефолтное де-факто реализация в живом мире который все используют вот благодаря ее некоторым особенностям и довольно эффективной реализации вот работает она на основе ключей вот как раз таки которыми является

    00:42:18 - 00:43:55

  • хэш-код объект ключа вот этот хэш-код короче мапо себя представляет некоторое количество багетов вот и когда мы берем хэш-код хэш-код это чисел k если мы его разделим на количество пакетов ему другую получим место как бы как бы адрес багета noindex верни макетов который можно положить этот объект если же несколько объектов с похожим hash кодом да ну-ка верни который бы один и тот же индекс возвращает то мы записываем объекты в этот же bucket вот там там насколько я помню старый или инкит лист я уже не помню что-то там

    00:43:08 - 00:44:58

  • короче какой-то возможность сохранить несколько объектов вот им дальше уже просто идет сравнение по и груз то есть если же не произошло ни никакой коллизии то и в багете однозначно там его сразу возвращаем если же несколько то мы проходимся по каждому сравним по эклз с ключом и берем до которое нас интересует вот это позволяет вот позволяет иметь довольно таки производительную реализацию вот и очень быструю быстрое изъятие и как бы помещение в в эту структуру данных а именно в аннотации там от единицы

    00:44:06 - 00:45:56

  • поливают константное время вот потому что мы просто обращаемся по индексу в большинстве случаев ну либо же от какого-то м в котором вот идет сравнение темпов атаку по очереди за ну и для того чтобы приходилось меньше делать хэш мапо насколько я помню сама себя балансирует в этом плане то есть в зависимости от количества зависимости от количества подбираются bucket и я уже не припомню при каком там типа проценте заполнения еще при каких условиях назначается образом около 70 обычный да да ok а как у нас вставка это происходит

    00:45:01 - 00:46:35

  • если вдруг хэш-код одинаковый нет ну и я же уже сказал мы в параде одинаковые но одинаково у нас могут быть одинаковые хэш-коды можешь могут конечно сюда но в любом случае мы происходит потеря информации при выполнении к решающей функции поэтому к лизе там неизбежный но чисто территории все верно вот ну таким образом мы находим этот bucket и присоединяем в конец ну вернее сравниваем появился если не нашли никакого который бы равен который бы заменить надо то выставляем в конец покере сталкивался с такой структурой как link

    00:45:49 - 00:47:21

  • dge map да да и сталкивался только в теории только на страничке википедии на курсах по алгоритмам вот в линд кошмар некоторые иной способ обработки коллизий вот я его честно говоря уже не помню потому что и супер давно уже видел окей носят давай так про конкор инси обычно надо давать задачку а мы сегодня гуляли что по теории пойдем поэтому про конкуренцию дави я немножко пропущу про комментарии что нужно спрашивать жестче я тоже выпущен какие слухи и давай подзови такой последний момент но опять это

    00:46:37 - 00:48:28

  • [музыка] так почему если мы делаем интеджер равно 127 интер равно 127 b равно 127 мы получаем и сравниваемые ну [музыка] да я понял ваш розовая сразу давай да сразу отвечу все дело в том что когда мы как бы создаем интерьер от примите воды то есть создаем из примитивного типа референсной мы занимаемся бокинг boxing и factory method in to cheer . и вылью of the to the использует пул в этом пуле 255 от 0 до 255 насколько я помню уже выделены и они соответственно берутся из пула поэтому они посылки одинаковы

    00:47:36 - 00:49:28

  • потому что сравнивание все 2 равно жки в джаве это все-таки сравнивание по ссылке вот и таким образом можно себя в прикольную ситуацию загнать как например сделано было когда-то в телеграме где делали log по единичке и лучше ли все локи по единичке в приложений потому что это был один и тот же объект вот ну вот такие чудеса разработки ну что же предлагаю на этом закончить или перейти к котле ну вот давай сразу с вопросов обычно просто на этапе прокат на любят спросить а что тебе вообще нравится вот

    00:48:34 - 00:50:08

  • это все но так было когда кот не только вышла сейчас уже можно мне кажется просто до перехода и сразу давай продать и класс что это такое и зачем он нужен ой это 2 2 в моем списке топ фичей код вот и самая прелесть в нём том что это принципе обычный класс вот но с некоторыми ограничениями и сейчас параметрам его конструктора должны быть только свойствам вот что для чего это сделано это сделано для того чтобы сделать класс который хранит как понятно из названия данные вот и что мы знаем о классах хранящих

    00:49:22 - 00:51:00

  • данные это то что если данные хранящейся в классе равны между собой между двумя то эти классы мы считаем равными принципе у них нет такого понятия как identity если у нас есть то так вас person там с именем и фамилией а там типа элис ба-бала вот и второй класс тоже или слабовато это один и тот же дата класс это не две разные колеса бобовых [музыка] поэтому за на сгенерируется и coles и хэш-код используя как раз таки вот эти вот свойства из про мире конструктора класса вот еще за нас генерируется tostring что

    00:50:15 - 00:51:51

  • иногда может мешать особенно если вы не хотите в строчках скрывать реальные названия полей в классе вот ну поэтому различные cisco тары в последнее время научились их тоже ассоциировать вот он генерируется ласту string который красивенько влогах выводит все эти классы которые вы можете быстренько где башни таким образом и кроме того еще генерируется прекраснейший мой любимый метод копи который позволяет сделать копию 2 класса но с измененным одним-двумя там тремя сколько хочешь полями потому что все

    00:51:03 - 00:52:25

  • остальные по умолчанию заполняются значениями из свойств предыдущего класса также генерируются методы компонент 1234 по моим 5 на 5 останавливается вот для того чтобы где структуризировать первые вот несколько нокий можем ли мы его наследоваться даты класса от это классно наследоваться полом можем по моему в этом нет никакой проблемы но честно говоря я не представляю зачем это может понадобиться типа если не можем то это даже хорошо это это это вообще не нужно делать но реально используйте композицию то данные

    00:51:45 - 00:53:24

  • нужно композиций склада до наследоваться нельзя и можно ли создать даты класс без свойства какого-либо ну то есть пустой пустой на тебя будет указать код будет говорить должно быть хотя бы одна а это свойство ok все так что у нас за классы unit in a freek вот ли не о это не совсем классы это тип вот особенно тип над и это точно не класс вообще не класс вот тип юнит еще хоть как-то можно эмулировать как объект вот ну как объект там типа моею нет и везде возвращать мою нет вместо юниты в принципе ничего не поменяется

    00:52:39 - 00:54:21

  • единственное что тебе его видите придется писать нельзя будет опускать вот это аналог ну юнит это аналог войтыс шоу только в джаве есть вот с маленькой буквы для возвращаемых типов функции есть вот большой дженериков подлине это один и тот же юнит вот и по сути это символ тон который означает что ты ничего не вернулась функций но она завершилась нормально вот а над find это тип у которого нет значений вот-вот нету никаких значений множество его значений пустой и поэтому он очень удобен когда ты ничего не вернул на

    00:53:30 - 00:54:48

  • самом деле твоя программа закончилась типа внезапно немножко то то есть это такие нас возвращают re-therm возвращают броски функций фу блин броски исключений и [музыка] бесконечный цикл который wild а как так получилось вообще что мы действительно этот момент можем подставлять везде есть мы можем сказать наша функция возвращает string она ударила дело в том что в код ли не все таки он гораздо младше джавы и успел позаимствовать очень много прикольных вещей с разных областей развития языков программирования числе и

    00:54:09 - 00:55:35

  • более развитую систему типов и более консистентными и таким образом тип на sin является так называемым ботом тайпом это значит что он является подтипом любого типа которые бы ты только не создал любого библиотечного типа точно также как тип и не является над типом любого таким образом у нас вот выстраивается такая вот иерархия типов внизу который на фильм поэтому называть потом вот и есть и не верху и таким образом в любом месте где мы любое значение просим мы можем подставить над и это аналог как же он по моему

    00:54:52 - 00:56:17

  • раскрыта называть сам дефайны не путать с с ним вот в свитке по моему есть какие-то ноги то есть в общем многие статические типизированные диски программирование которые появились чуть-чуть уже вот 10 практически все имеют некоторый аналог такого над и он очень удобен тем что ты можешь писать код он может компилироваться так чикаться вот и ты можешь заполнять эти дырки который ты оставил позднее хорошо unit сколько у нас инстанциях юнита на приложение насколько я помню один ну да а сколько тепла вместо sat nav n

    00:55:34 - 00:57:04

  • go нету инстансов на . у него не может быть инстанция у него нет значения это класс это не класс это класс над и никлас тип и класс это разные понятия не закрылась да так я прямо сейчас загуглил сходил посмотрел это класс ну покрайней мере синтаксически он объявлен так возможно он специально имеет какие-то хаки но это класс при момента в то же время приватные конструктор больше про россию типа в как он в нас выстраивается то есть [музыка] если вас инстанции окей уже мы так фотик функциями делали в

    00:56:23 - 00:58:05

  • жабу все времени создавали класс приватным конструктором в этом суть ладно давайте дальше пока плену у нас есть такие штуки как онлайн функции еще появились онлайн класс и но давай прямой функции что это такое ну собственно говоря и онлайн функция эта функция тело который ставится вместо ее вызова вместо метр окей да это просто это нам дает вообще да что нам это дает дает это несколько вещей во-первых линды которые эта функция принимает можно пометить как кросс онлайн вот и нет погиб можно никак не помечать они

    00:57:24 - 00:59:06

  • просто будут вот весь код каждой в лимбе он ставится в место где мы вызываем вот есть несколько модификаторов это но онлайн который говорит не вставляй сюда ничего вот лямда это лямда выдели под нее нормально класс ну нормальный объект вот нормально визы не надо ее не звонить есть кросс онлайн который позволяет сейчас я же им пользовался есть кросс онлайн который позволяет насколько я помню вставить линду некоторые прям объект который ты создаешь внутри этой онлайн функции вот так или звоните ее внутрь объекта к в которой ты зовешь

    00:58:22 - 01:00:08

  • внутренней функции насколько помнят корень вопроса вот смысл новый но и на то есть мы сделали функции онлайн и сделали новый но и нуне но у тебя может быть типа по по ролям который теперь дал эту функцию не кланяться а парочка тебе нужны именно как лян ты идти по и ты их не хочешь ну получается что это такое чем мы выигрываем этой моей функции вообще выигрываем это что мы можем псевдо синтаксические конструкции таким образом создавать таким например образом вы работать лет плавился утром who's the cave . лес и прочее прочее тысячи их

    00:59:28 - 01:00:58

  • красивости синтаксических вот которые делаются получаете бесплатно потому что все таки лямды особенно в андроиде 16 которые у нас то и в этом в джаве 16 который у нас в андроиде это довольно таки дорогая штука потому что создается объект фигня вот и хочется этого избежать прикинь если бы на каждом лет твоей кодовой базе создавшейся века это был это было бы жить жуть как обращается чего второе для чего используется онлай функции так для рифа и generic of как мы знаем generique в java прикрутили версии 1 и 5

    01:00:16 - 01:01:41

  • вот до этого их там не было соответственно для обратной совместимости их в байт ходе и как не было так и нет вот они существуют только на этапе компиляции называется так называемым стирание дженериков поэтому нельзя например у нас следуют имплементировать 2 интерфейсы параметризовано разными дженериками вот потому что с точки зрения типа байт-кода это одинаковые ну ладно это уже немножко отдалился вот но иногда этот самый дженерик хочется потрогать вот хочется сделать какую-нибудь онлайн функцию красивую которая не знаю

    01:01:03 - 01:02:20

  • там имя класса будет получать каждый раз вот [музыка] понятное дело что она должна работать на любом классе поэтому мы объявляем как generic вот но так как это дженерик мы не можем до него достучаться к душа его не будет брендами как такое пойти мы вставляем код функцию вместо вызова там известен generic он известен потому что это вместе вызова вот там либо другой онлайн функция с рифа джон эриком либо уже место вызова с конкретным типом который компилятор может подставить под этой функции расскажите пожалуйста

    01:01:41 - 01:03:05

  • вот такой вынимаем функции есть еще такой потом такой есть один правда как по-русски / но типа неприятная обратная сторона медали вот-вот онлайн функции публичные иногда ломают инка ментальную компиляцию если тебя несколько модулей комплекса на 2 в 1 сможет быть сломан и если ok почему бы нам тогда вообще на уровне компиляторы не взять и не сделать так что все функции станут онлайном чтобы нигде не какая gun . не проскочил потому что есть трейдов между количеством байт-кода который нужно проживать и

    01:02:26 - 01:04:09

  • и вот какой-то там накладными расходами на виртуальный вызов и на самом деле виртуальной машины java пользуется тем что она такая вот прослойка между байт кодом и машинным кодом таким реальным выполнением и она все-таки начиная вот на андроиде начиная но получается заканчивая android 50 а потом снова начиная android 2626 по моим 26 я не уверен в 26 или 27 типа андроиде появилась снова обратно джастин тайм компиляция но в общем в любом случае виртуальная машина все-таки сама может какие-то вещи до казаться что здесь

    01:03:22 - 01:04:51

  • какая-то функция часто в виртуальный вызов и и происходит оно коротенькое сильно не раздует байт код и ее можно заменить и вот то есть такого кроме того такого рода оптимизации выполняют еще и r8 то есть на самом деле компилятор как раз таки становится и наладит некоторые функции но некоторые если это не приведет к потере ok как сказал бы я просто отвлекусь на секунду раз уж мы зацепили этот комментарий projet я видел комментария саша ефременкова которому в целом нету смысла не доверять который говорил что официально объявлена

    01:04:13 - 01:05:46

  • 24 андроиде по факту по-моему так удар шестому писал но я не буду сейчас честно говорить цифры потому что там эта штука тоже плавала окей что я хотел спросить я хотел спросить если какие-то ограничений вообще онлайн если кейс когда мы не можем его использовать кисть когда мы не можем объявить функцию как онлайн я про по мнению не никогда мы не можем онлайн использовать по какой-то причине какой-то причине не можем использовать иной честно говоря такую тонкость я уже не помню по моему по моему есть какие то хитрости

    01:04:59 - 01:06:29

  • ну как-то связанные с лямками сильно проще ну ладно надо понимать как это вопрос формулировать чуть-чуть соли был режим подталкивал но речь про то что если у нас лямда лежит в одном модуле короче 0 функция лежит в одном модуле и она вдруг что-то берет из этого модуля а у этого модуля internal а я понял когда мы таким образом утекает наши приватные или internal какие-то вещи да через она не течёт в этом и прикол ты не сможешь такой функционал ну да окей ты про рей fight как бы это вообще отдельный вопрос но ты его

    01:05:52 - 01:07:26

  • получается вместил уже поэтому чтобы окончательно добить через нафан тебя можно ли generic на find поставить да так это же сникла скастовал ну то есть тип дженерик это про типы ладно немножко то может и может она так можно ставить потому что это класс можно даже можно насинг с вопросом поставить расскажу что такое ключевые слова обжиг вот ли не ключевое слово объект это вот такой вот приятненький шорткат для того чтобы реализовать довольно популярный поттер синглтон вот и [музыка] таким образом можно определить класс и

    01:06:40 - 01:08:22

  • сразу же получить его instance в виде его ссылкой по его имени очень удобненько никаких там типа . instance никаких миллионов способов сделать синглтон и споров о том типа такой способ труш не через статическое поле через и на окей окей давай тогда чуть это дальше этот вопрос разовью когда мы еще можем использовать это слово именно как ключевое а но так как это soft keyboard насколько я помню нет сейчас я лишнего сказано это стереть вот в общем так как джаве некоторые некоторые ключевые слова немножко разные

    01:07:33 - 01:09:11

  • означают в разных контекстах также искать решили продолжить эту фишку вот мы можем стать он анонимный объект при помощи ключевого слова комплект для этого достаточно давно выражение написать объект и почему хотим наследоваться окей и если суд третье применение этого слова ну это тот же самый обжиг который первый общем-то тоже не сильно другой но нет подожди хорошо когда ниц элизы инициализируется компании ruukki так компания обжиг инициализируется интересненько я бы сказал что он инициализируется

    01:08:22 - 01:09:54

  • ну давай сделаю ставочка что он инициализируется в во время загрузки класс logo так и есть тогда получается 2 1 тыс ленивый ну типа да ладно но все-таки немножко что-то мне не верится на самом деле не статика компанию джек это статика условно просто так подожди это реализация именно синглтон паттерн то есть он будет создан при первом обращении надо без добыл chicco key хорошо хорошо окей на этом в целом про котлин все и давай попробуем придется по андроидам вот ну и начнём с простенького что ли ки у

    01:09:21 - 01:11:13

  • нас компоненты есть давай основные основные основные компоненты у нас есть activity сервис брат каст ресивер и контент вот если бы ты захотел самая ранняя точку входа в приложение отловить как бы ты это сделал самую раннюю точку входа но я бы взял ранее доступны нам допустим разработчика да я взял applications по моему он кредит достаточно и может там есть еще какой-нибудь он но скорее всего он kreed ok на самом деле контент-провайдеров инициализируется до апликэйшен класса давай тогда а мой мой этот трюк как раз

    01:10:22 - 01:12:04

  • таки используется в этот бак verbose он так используются и и джетпак либби какие об старта до что-то для мы же ринга вроде бы ok разница контекстов ну я знаю что ты знаешь что такое контекст скажи про город эта разница да есть applications 9 контекст и ну все-таки activity контекст у него есть тема у него есть какие-то параметры которые больше для отображения в.ю. то есть скорее всего создать какую девушку с apple кеша к текстам не очень хорошо окей ну в целом так есть еще какой-то там отличие по

    01:11:15 - 01:12:59

  • запуску сервисов но я сам честно скажу плохо знали ту разницу поскольку и сервисами особо не пользуюсь окей у нас приоритета процесс есть у нас linux подобная система есть процесс котором наше приложение вот он может быть какие-то разных процессах зависимости от чего android это может прибить что это за приоритеты короче дано есть 1 самое главное приоритетным то что прямо на экране то с чем взаимодействует пользователь затем насколько я помню идут приложения которые имеют запущены for грамм сервис

    01:12:09 - 01:13:35

  • вот затем уже идут при все сами приложения в фоне вот в обратном порядке все это будет убиваться естественно вот так а если он возможно даже не сервис запущен допустим ну она у по моему у нас одно свернутая другой свернута на запущенным сервисом окей ты имеешь ввиду убьется ли она ранее если разница вообще между ними в таком случае блин по моему по моему с какого-то момента нет с какой-то момент вот for гранд-сервис точно типа какую-то тебе надежду даёт нам то что тебя не убьют это по-моему это вообще не всегда

    01:12:54 - 01:14:24

  • проходах зависит от производителя устройства но запущенные сервисы возможно какой то приоритет имеет но опять же это зависит вполне того насколько агрессивно экономит батарейку твой huawei ok принимается ну давай тогда наверное один из моих любимых вопросов как нам передать данные с одной activity на другую передача данных с одной activity на другую ну самое простое принципе это послать intent послать им blend это activity положить туда в экспресс банк с какими-то данными либо льстите нужен файлик да это положить юри жку вот

    01:13:44 - 01:15:27

  • и все это отправить в activity можно предварительно их сложить контента войду чтобы получить спокойно без всяких проблем вот это первый миллион работает даже стоя activity не твоя короче вот если в принципе это обе твои activity они в одном процессе только ничего не мешает это сделать он типа через какой-нибудь дианчик вся вот теперь переложить эти данные например используя какой-нибудь поттер репозиторий не знаю ну давай задержимся на первом варианте ты сказал что можно положить bangle что мы вообще

    01:14:38 - 01:16:19

  • в этот банду можем класть в банду можно положить примитивы можно положить строчку можно положить serial ой забыл объекты и пасовал объекты что это за объекты такие сериалы замерзла до сериала из был объекта it объекты которые реализуют интерфейсе резьбу вот это такой тип стандартный с бородатой джавы интерфейс вот который на самом деле просто маркеры на интерфейс тебе ничего не нужно реализовывать кроме насколько я помню можно реализовать сериал айс как его и de nuit отолью идея помню когда ею иди для

    01:15:30 - 01:17:04

  • того чтобы там что-то при миграции у тебя был стабилен вот и это не было заново ну в общем у него есть какое-то применение но она в контексте как бы передачи данных между activity не имеет значение оценки вот и собственно говоря если все поля твою классу примитивы или сериала is able to все об он у тебя просто стерилизуется передастся и там где или в другой стране и если какие-то твои поляне сериала и своими примитивы и они тебе на самом деле не нужны их можно пометить transient и они не будут реализованы будут по умолчанию вот

    01:16:16 - 01:17:47

  • инициализируем 1000 сказались портал был что удачи однако однако на заре android девайсы были не очень шустрые вот и не всегда сериализация работала очень гладко тем более что она я вот сейчас могу вообще типа знаешь небо возможно использует рефлексии я не уверен вот но какими-то какими-то нечестными явно методами типа без реализации никакого метода вот вдруг какой-то магии эти данные добиться явно тут что-то нечисто войн и был придуман такой интерфейс парсел у него уже есть побольше методов у него

    01:17:04 - 01:18:51

  • уже есть в райту парсел ride from портал и ты уже руками прям пишешь как ты ну вернее руками чаще всего ты нажимаешь генератор сила был или типа собака порылась в последнее время приходит на помощь вот как ты собственно говоря эти поля собираешься в парсел затаскивайте испортила вытаскивать вот есть оптимизация для того чтобы читать и писать сразу массивы этих данных отдельные методы вот поэтому как бы можно добиться кое-каких успехов я смотрел когда-то давно что портал был вот порядок типа но где-то в 3 раза

    01:17:57 - 01:19:22

  • быстрее сериала из его что они очень много на самом деле в масштабах типа сегодняшних девайсов и того как они могут проживать сколько всего да это не самая не самая страшная на самом деле то там цифры порядка вот я не помню там на секунду или масть все-таки нельзя миллисекунд и там типа десят нет десяток много ну короче короче там достаточно мизерная уже разница нужно масштабах в сегодняшних вещей которыми занимается девайс ok ok есть еще такое external ой забыл штука сталкивался с ней когда-нибудь или нет

    01:18:40 - 01:20:07

  • да я про нее слышал это вот как раз таки попытка чуть-чуть убрать магии по моему сериал из было самое главное эта попытка сделать неких стабильную версию сверла и забыл насколько я помню основное применение было этакий аналог ну ни какого формата данных который можно послать типа по сети и на другое джалла машине открыть и посмотреть гонки pro version ность мы обновили приложение где-то там мы при храним наши сериала зубы и послал бы так делать и вот мы добавили новое поле или там поменяем порядок полей не знаю как там поддержать

    01:19:23 - 01:20:53

  • парторгу объекте и сирила и забыл объекте это изменение слушай по моему все ral ой забыл ты не поддержки как по моему по моему как раз таки для этого и был экстракционной заполнена но я не уверен вот в парсел был нужно модифицировать write упал шутки про оля миграцию сделать и давай тогда вернемся к той задаче когда мы перекидываем объекты вот у нас есть наш объект он там класса типа силы или послу неважно и вот мы передали его на другой activity мы получим реализованный здесь реализованный объект

    01:20:09 - 01:21:40

  • или это будет тот же самый объект который мы передавали на 1 activism вот тут вот интересно насколько я помню насколько я помню в случае парсинга там есть какая-то хитрая оптимизация и мы можем получить в принципе то же самое но я вот тут вот немножечко не уверен и я это никогда не проверял потому что я в основном не кидаюсь между activity объектами у которых есть айдентики то есть типа там тупо данные и здесь вот и как бы но насколько я помню если это все в пределах иного процесса то мы получим 1

    01:21:01 - 01:22:21

  • . но я могу ошибаться но что-то такое я помню хорошо если все ограничения на этот банду да есть насколько помнит одинаковой всего лишь ну это разнится от винта но действительно есть и что-то типа около мегабайта так скажем бойкая как тасовал туда картинку так вот и на моем тестовом девайсе все было нормально да на девайсе друга у него была лопата больших таких размеров сточных вод взялась картинка с xxx теперь и она уже туда не влезло его бы просто а давай подумаем почему у тебя могло влезть если

    01:21:43 - 01:23:37

  • она это ограничение превышала не превышала она не она не превышала в том-то и дело у меня был маленький аккуратненький телефон в котором картинка 2 собираемся ситуацию когда как и теперь давай симулируем туда ситуацию когда мы пытаемся передать какой-то огромный объект как раз картинку и как вам это правильно сделать как это правильно сделать ну не передавать картинку ну то есть сам убит папу сами болты этой картинке не передавать передавать записать в файл и передавать ссылку на файл какие но мы же выяснили то что мы

    01:22:40 - 01:24:08

  • когда оперируем врагов одного процесса хотя бы то мы передаем получается ссылки на объект и значит мы можем просто и картинку то передать она все равно не будет стерилизоваться 10 реализоваться ну и про ссылку передаем но банды хитрый вопрос у меня кажется здесь есть ну типа не знаю да и то в любом случае плохая практикой проще тут не думайте всегда передавать ссылки типа потому что однажды ты передашь между процессами и у тебя все завалится то есть фулл бык но если останется время я этот подарок

    01:23:25 - 01:24:47

  • скрою продавать действительно интересная штука так ануида единственно у меня вопрос здесь остался как так происходит что наше приложение может умереть во время открытия то новые activity ли не знаю правильного activity убили там запустили приложение вновь и короче мы этот объект не теряем как происходит так погоди ты имеешь ввиду вот вот это вот как бы пересоздание activity например при перевороте или полностью смерть всего процесса но я про смерть процесса имел ввиду ты так имеется ввиду данные сохраняются которые

    01:24:08 - 01:25:37

  • направляются а ну их хранит как бы что у нас там за это отвечать активней он хранит у себя все эти int n текке бережно и стартует наш activities не да именно так так но маленький клочок вопросов по чьему то чего view на конце и начнем с того что непосредственно есть сама view а именно что там за методы так называемый сайкл и зачем каждый из этих методов нужен вьюшки так и свинью я немножко этот того же повторить пожалуйста вопросы о на секундочку потерял мы забыли про передачи данных и сейчас хотим поговорить про вьюшки и

    01:25:06 - 01:26:47

  • начнем просто про базовый класс view вот у него есть какие-то основные методы что это за методы зачем мы примерно каждый из них нужен да основные методы методы веб-сайту имею ввиду то что то что мы называем циклом да то что мы называем его семью хотя он сильно более упрощенный чем новой всякой фрагменты или activity вот все что принципе нас интересует это он а то что винду когда мы три от точились затем идет некоторый грубо говорят цикл вот сейчас он миша и andro по моему по моему там достаточно

    01:26:02 - 01:27:33

  • методов если это просто бью они viewgroup ну мы proview говори но все-таки про этот метод про которые ты не упомянул что это за метод так вот тут я уже помогаю посыпался посыпался миша так давай так вот у нас view мы его присоединили к виду мы в принципе готовы наши brent пытается нас замерить мы замедлились затем а затем нам нужно злая учиться все знать на шею настоящие размеры то есть мы какие-то сообщили которые мы хотим а затем нам нужно показать ну типа нам уже прислали те которые мы должны занять и затем уже на

    01:26:48 - 01:28:24

  • дроп вот ну и потом когда-то в конце нас от did a chat window ну да [музыка] если какие тут методы знаешь типа как у activity есть он restart который нас там куда ты возвращает вот что за подобные методы у мишки так но есть получается invalidate или который говорит что ну все все фигня давай по новой и измеряться это самая милая так а второй тогда какой а второй получается ну перри рисоваться должен ты сейчас погоди not valid и и на какой то из них перерисовывает какой-то из них ну как бы все все заново начинает весь

    01:27:44 - 01:29:29

  • слоев один из них наблюдает это про перерисовку и 2 даже request layout a-data да если мы вызываем инвалиды эту вьюшки это гарантирует на мою перерисовку или коментики это интересный вопрос по моему если мы в какой-то момент его вызываем то он проигнорирует что-то такое какая-то такая логика но я не хотел правые группы ты сказал смотрел ли ты когда-нибудь кого наследуется ли группа от view все так от view вот ну потому что это это вьюшки просто какие-то плюшки могут в себе содержать другие вершки ну а так это

    01:28:42 - 01:30:21

  • хорошо кровно как нам программно поменять размер игрушки вот у нас есть банальнейший java там квадрат какой-нибудь на 100 на 100 dp мы хотим программно поменять в размер ну мы можем просто-напросто поменять ему но как это сделать просто ну само собой но как на награжден так по идею ну достаточной изменить высыхает мы хотим визуально чисто изменить или как ну мы хотим чтобы увеличилась ли у егора создала да ну так по идее нам нужно изменить его лайалл params вот в них изменить новенький white white хоть другие параметры

    01:29:35 - 01:31:26

  • которые могут быть вот в этом loyalty в котором находится потому что я вот и бывают разными с разными правами вот нам нужно поменять эти значения и попросить родители все пири-пири лойолы как так ну типа ты вот начал провисы хайд почему мы плюшки просто не вызовем реальная девушка тоже из родного новости но потому что в юшка не существуют в вакууме вот и рядом есть другие вьюшки их нужно растолкать в родители типа подвиньтесь дать ему место кроме того родитель может наложить на вьюшку определенные

    01:30:46 - 01:31:56

  • ограничения типа фиксированные высоты и ширины тогда мне никак это не сделаем кроме так уже не знаю там адские лихие из какой-то визуал такую штуку без расстался понятиями челнов но если мы там попытались бы просто вот эта точка биз . кипр оставить ее там не знаю рекой стояла твой язык на это views какой бы вариант прокатил или нет если вы вызвали рекой словил не только тихо ну потому что они насколько я помню такие представляются родителям сверху окей я тогда последнюю тему затронул кто немножко под затянулась и уж прям не

    01:31:21 - 01:33:05

  • совсем насиловать давай затронем и церковью немножко что это за зверь такой давай коротко раз у тебя есть багаж сценарии там из прошлого android так скажем почему он пришел на замену listview это чем lies you take был плох но да что там пару вопросов да когда пришел в android разработка там уже был ресать review и уже не было действию по большей части вот но всем еще рассказывали новичкам почему такой и как я помню с этих слов list view делал вот эти вот довольно дорогостоящей операции lighting меня шарингана всех

    01:32:19 - 01:33:52

  • своих чертах если у тебя там например что элементов в которых на экране показывается только 10 это никак не влияло и ты все равно вы я учился на помощь тут пришел recyclerview который призван был минимизировать количество ну как бы вьюшек которые хранятся в памяти на такое количество которое понадобится для отрисовки той части списка что у нас попадает так сказать в наш viewport можно можно такое словечко применить вот и писателю этого добивается при помощи некоторого ну во первых при помощи некоторые абстракцию holder

    01:33:07 - 01:34:31

  • которая собственно говоря нам держит эти вьюшки то есть список состоит из какого-то количества элементов каждый элемент вот это какой-то view beholder вот и в дальнейшем тему holder который на данный момент не нужны например их типы сейчас мне отображаются на экране они перемещаются в некоторых объектов из которого не готовы достаться в любой момент если мы достроим для элемента который использует этот вихрь я немножко про list view не уловил нас если допустим 1000 объектов листа это мной на экране мы там видим 10 насколько

    01:33:51 - 01:35:12

  • реально нам создаст как бы вот этих объекта 5 же я ни разу в жизни не создавал listview вот ну вернее создавал я понимаю что там при по папе вызывают но создается list your вот но типа там явно были какие-то проблемы с производительностью и явных никак нельзя было решить кроме как распилив на три части эту здоровую гигантскую вьюшку и на вертеп сверху каких-то оптимизаций то есть ну опять же это когда-то давно мне про такое рассказывали про такие страшные вещи которые приходилось раньше творить

    01:34:31 - 01:35:56

  • с тех пор не то чтобы ими кто-то пользовался окей давай тогда привести к view такие вопросы если у нас удалился какой-то элемент добавился элемент и мы не знаем на каком а на какой позиции он стоял как нам лучше всего сказать адаптеру чтобы он обновился нос на месте метод на тихой что то да вот и у нас какой то элемент списка удалился как нам узнать ну и сказать адаптеру перри рисоваться а ты намекаешь на дефать свет ходимо ну например да как один из вариантов можно воспользоваться прекраснейший штукой

    01:35:14 - 01:36:52

  • дефо tellus которая реализует алгоритм поиска насколько я помню кратчайшего пути руи тактирования как-то так он называется вот в любом случае он смотрит на два списка на предыдущий и новый который ты передал и пытается понять какие элементы нужно передвинуть какие нужны танки удалить добавить и так далее для того чтобы из старого списка получить ну и как это сделается какой-то разумное количество этих самых действий вот и таким образом он все это вычисляет и в дальнейшем вызывает соответствующие методы

    01:36:07 - 01:37:43

  • ну вот с тем что он вычислил вот для работы div utils тебе нужно две вещи тебе нужно первое каким-либо образом идентифицировать эти объекты то есть у них должны быть какие-то dish ники может наш код попытаться за использовать еще какие-нибудь вещи которые уникальным образом дефицит уют элементы списка вот и кроме того сами же элементы могут оставаться на своих местах и быть одними и теми же но у них может меняться какое-то внутреннее состояние таким образом можно еще какое-нибудь состояние которое можно

    01:36:54 - 01:38:14

  • сравнить проектов вот определить и тогда будет вызвана анимаций очень я как раз века классника если ты ли не отключил в настройках давай рассмотрим такой кейс когда у нас есть список в нем куча элементов и один элемент этого списка это там 30 вьюшек и когда мы понимаем что а мы в чем какие-то данные этот список который прогноз погоды например вот и мы знаем что у нас скоб и это ведь атлета подол в каком-то одном городе и вот это все как нам эффективнее всего в нашем списке показать то что вот изменение произошло но при этом

    01:37:36 - 01:39:01

  • не перерисовывать вообще всю карточку этого города например целиком так еще раз у нас есть одна такая один такой или my огромность белых городов до где одна карточка это конкретный какой-то город его там погода на 40 дней вперед и ветер какой-то вот мы какой-то список вечером которые нам эти данные присылает хоб нам прислали что какой-то ветер там где-то подол в каком-то городе как нам максимально эффективно эти данные отобразить списке так и я не а не очень понимаю на самом деле вопроса в том плане что эффективно

    01:38:19 - 01:39:36

  • максимально эффективно отобразить изменение одной какой-то ну от клюшки этой здоровой вьюшки который является элемент вас пирса написал в любом случае вариант когда мы берем через div util считаем позицию там этого города и берем и перерисовываем всю карточку города там 40 music я не знаю а как нам вот взять и перерисовать только одну эту вьюшку ну в таком случае у нас если изменить ну если а техника стабильным на изменился контент у нас есть некоторый call back насколько я помню честно говоря это уже

    01:39:02 - 01:40:17

  • давным давно у нас замазано все delegate адаптерами и я уже не помню что там конкретно называется но в любом случае есть некоторый кал бег по которому ты можешь заново забанить эту здоровую свою вьюшку и уже внутри типа если ничего не изменилось кроме вот этой вот вьюшки ничё там не трогай не перерисовывать только вот здесь вот смести не знаю там показатель ветра в какой-нибудь положение ну эта штука называется div you think all back но между внутри deputy и у него несколько методов может вспомнишь не вспомнишь не

    01:39:39 - 01:40:59

  • вспомнить честно на вот тут вот не вспомню но кажется там должен быть callback соответственно на то что у нас элемент наверное удалился добавился нет не то совсем нет тогда это не это кубик за сравнение элементов один называется app contains 7 и 2 0 а этом за сейм надо на один сравнивает посылки другой по наполнению ну по-моему не только по ссылке но потому что то ему package ну поэтому там 21 посылки но тут так обычно еще звучит вопрос то почему и в том 2 но наверное ты уже устал ну и я же по моему

    01:40:19 - 01:42:04

  • сказал что но типа если посылки они равны то это то нам не нужно пересаживать по моему вьюшку сейчас там чуть тяжелее мы сначала прогоняем как каждый список проверяем что они по ссылке равно не равны вот дальше если мы поняли что посылки не равны например то дальше мы можем скормить контент вот но тем не менее у нас есть два абсолютно разных методов почему нам всегда не проверять по контенту ну потому что так быстрее потому что посылки по мере проверять быстрее очевидно ну ладно на самом деле и то есть как бы

    01:41:16 - 01:42:41

  • часть ответа потому что анимации в таких штуках и юзает один метод который просто сравнивать посылки сразу понимают поменялось что-то или нет вот в целом у меня по сути все ну есть секция на такие общие вопросы где можно было бы как раз про и мая и поболтать и и так далее но тут дело в том что это понимаешь ты не ответишь поэтому на самом деле можно под заканчивать ну и данную рекламу но обычно риджалулла сопровождает какими-то задачами конкретными вот мы как-то говорили сегодня просто общаемся вот

    01:42:05 - 01:43:33

  • поэтому на этом пожалуй все по поводу конкор нити в чате поскольку вижу спрашивают могу ответить что опять же конкор инси очень хорошо спрашивается в рамках задач опять же когда есть конкретные какие-то примеры и так далее вот просто общаться про конкор инси на словах объяснять что такое команда на сайте барьер и так далее ну это совсем не показать но это показатель не знаешь ты это или нет при этом поскольку мы говорим про android собеседование но далеко не каждому android-разработчик это вообще нужно вот

    01:42:50 - 01:44:22

  • я обещал дать мне фидбэк по второй части ну да и третья часть это должны были быть твои вопросы ко мне если что можешь задавать вот сейчас я только легкую ремарку по второй части уже тогда к моему кубику перейдем ко второй части важно спросить языки непосредственно травы и котлин поскольку это база на которой строится наш android sdk и банально чтобы читать исходники мы должны понимать эти облака потому что в исходников вы можете встретить и как и котлин и джаву и видит и странные конструкции а главное когда вы пишете

    01:43:35 - 01:44:52

  • свои приложения вы должны пользоваться тем что нам дает наше из dk андроидовской и делать это эффективно безошибочно и так далее поэтому языки надо знать видел очень много про нежелание так сказать несоответствие вопросов теоретических и вопросов реальных то есть и по зачем так углубляться в какой-нибудь garbage collection это все как он чистит и так далее на самом деле без понимания того что такое garbage collection как работы как он ищет какие-то ненужные объекты это далее вы никогда не поймете что такое

    01:44:14 - 01:45:34

  • настоящее утечка памяти вы звучите что можно потерять контекст будете говорить на собеседовании что это дело в контексте но если попытаться копнуть глубже вы скорее всего не сможете ответить как потерять какой-то другой объект который нестандартный у меня вскоре очень любили говорить так что если вас научили читать яблоки задача давит на груше какие-то то вы сразу теряет если не можете ответить на самом деле это вот пример того самого вот папа длину спрашивал основные вещи непосредственно даты класс онлайн

    01:44:54 - 01:46:13

  • функции ключевые слова и также ключевые какие-то структуры типа юниты на фильм в целом плюс-минус понятно по джаве как уже озвучил garbage collection и все что касается вообще memory модели которые у нас есть memory management да это же сам путаюсь под конец вот и также структура данных кошмар самый основная да тут надо было спросить и само собой как решается коллизии потому что это вопрос на котором очень много людей сыпется вот собственно все про android успели зацепить немножко основные компоненты

    01:45:34 - 01:46:59

  • приговорили отвлеченный вопрос про контекст чем разница какие есть приоритеты процессов разобрали задачку с передачи данных из одной activity другую поговорили про портал был вот и немножко затронули вьюшки и и к углю в целом это по сути пример настоящего собеседования которые я проводил в инвалюте в том же в том числе вот обычно у нас это проводили два человека потому что даже одному себе следующим иногда тяжело замыливается плюс это добавляет больше субъективности к оценке которые interviewer дает человеку поэтому

    01:46:16 - 01:47:31

  • все-таки лучше когда два человека задают вопросы которые мне интересны и принимает решение уже как бы отделены друг от друга а потом это решение матрица и соответственно приходит какому-то итогу вот ну все получается 3 часть на настоящем собеседовании эта часть там где миша должен задавать вопросы мне там обычно вопрос такой компании и так далее вот но я не знаю тут как кирилл скажет будем и это помещать на стрим или нет по поводу гдк но в целом что хочется отметить вопросы вообще цель этого второго этапа позадавать вопросы из

    01:46:54 - 01:48:24

  • разных сфер обычно еще надо обращать внимание конечно на те сферы которые супер важны и вашей компании например если у вас очень много уделено внимание это ешь camry сайт убью так далее то ожидается что человек хорошо знает вопросы подготовлен к вопросам прорисовал его знает что такое адаптер делягин делегаты вот эти все вещи может легко ответить там про всякие div у тела и так далее вот но опять же если у вас специфика такая что у вас очень много нога по точке я например на что есть такая компания

    01:47:45 - 01:48:48

  • в россии непосредственно в москве офис крупно известная в который очень любит спросить мага по точку и очень детально там у вас и и спросит и будут делать на этом огромный акцент в реальности в большинстве компаний на копа . на уровне как выставлять семафоры и так далее ну да редко пригождается в компаниях и вообще нужны эти знаний по этому вопросу из разных сфер на разные темы и безусловно мишу мы готовы брать на сеньора кто во что в чате там я видел разные абсолютно комментарии вот по поводу ошибок но можем по порядку вот

    01:48:17 - 01:49:41

  • меня что-то это 1 тут оставили как-то неловко неуютно верните вас ко мне скажет все мои ошибки в лицо можно так в общем [музыка] я пропущу что было правильно вот я буду говорить что неправильно это вовсе не значит что что-то плохо как я уже сказал мы готовы принимать на сеньоры и так далее я оцениваю я если бы я принимаю решение то в целом бы я оценивал это как смирный уровень с легким [музыка] таким как сказать допущением того что recycle view был отвечу недостаточно хорошо но сейчас поясню почему типа принимается так вот

    01:48:59 - 01:50:35

  • значит первая собачка была это может запутался может нет что у нас память делится на кучу и стек и ты сказал что стек функции не знаю намеренно не намерена ты так сказал но должен быть стек потока вот оттуда уже могут включаться вызовы функций в него ну просто это достаточно серьезный может надо я имел ввиду скорее стек фрейм текущей потому что я имел номер разговаривал про локальный переменных тот момент ok далее по поводу джесси root of ты назвал все но вот этот вот труд main я не знаю откуда он пошел очень часто на

    01:49:48 - 01:51:07

  • собеседовании слышал про то что applications in class это тип дрессируют или main класс дрессируют и так далее да не тряси врут это поток который зашел в эту функцию это не никоим образом не связано с тем а вот новые 3d да ты их назвал в том числе тот который создал такое приложение короче поток и то есть тот же сирот а знаете что ещё ну да produto класс там непонятки с наследованием были но пришли к тому что наследоваться само собой нельзя про на финк просто на пол значит самая ранее инициализация ты

    01:50:27 - 01:51:50

  • сказал африке что он кредит на самом деле контент-провайдер чуть раньше стартует вот про передачу картинки если коротко если коротко то ты как раз упомянул сегодня про ключевые слова transient она говорит что исключите стерилизации и в чате видел классный комент про то что ограничение на самом деле она не на англ сам она и байдер который через себя этот баннер будет пропускать случае какого-то меж процесс на взаимодействия и так далее а так как мы выяснили что при передаче данных мы иногда получаем

    01:51:13 - 01:52:23

  • ссылку на те же объекты то мы можем целую картинку передать помеченный как transient вот и вдобавок плюс его куда-то приходить и получается так что для идеального случая супер эффективного и так далее когда мы передаем картинку transient am там и без полной задержки получаем ссылку сразу на саму картинку без этапы ее сохранения он там где-то фоне может проходить нас это не волнует вот но при этом всем в случае силе зации дестабилизации в этом поле ничего не будет вот значит провисы хайд от вьюшки я

    01:51:48 - 01:52:58

  • немножко вначале не понял ты вроде как начал говорить что просто берем property вот но потом уже три скалы и от params и еда в этом и суть для тех кто вдруг не знал висока этого у вьюшек это readonly property вы не можете туда с этим никакие данные вот и никакой request layout вас не спасет после этого вот про list view какая штука list you на самом деле классный инструмент который работает на все 100 вот придумал что если его использовать с паттернами холдер вот поскольку в listview паттерн beholder не было

    01:52:23 - 01:53:43

  • обязательным люди городъ или очень много ошибок проблем и так далее что дальнейшем привело к тому что списке лагали на каждый scroll списка у нас вызывался если говорить о на языке риса кровью на каждый scroll мы вызывали он клеит и он buy для тех кто все наверное понимаю что метод oncreate он безумно тяжелый мы там надуваем юшку и все вот этого дела вот поэтому если listview написать по нормальному на бехолдер паттерне то на нем этих проблем нет но церковью все-таки существует нашем мире поскольку у нас принудительно заставил

    01:53:05 - 01:54:14

  • лизать этот поттер также есть еще декораторы анимации 9 вы короче много-много всего вот эта вот да и почему-то самом конце это отметил это было там где то в середине просили лайза был как раз тут такая фишка сериала из болта поддерживает очень четко миграцию вот этот serial виде это как раз та штука для поддержки миграции условно вот в то время как на портал был немного потяжелее тут действительно над руками как то все это sachen лети [музыка] очень легко можно ошибиться так скажем вот но мы сейчас говорили про минусы как

    01:53:39 - 01:54:59

  • я уже сказал в начале плюсов огромное количество то есть на все вопросы остальные у меня в целом какие-то претензии нет и действительно по ответам по тому с чем я сталкивалась на собеседовании сам в одном революции около 150 их провел разных типов то есть там где это скрининг где-то 2 часа вы и полные вот я навидался нового вот и могу сказать сказать что мишу молодец под конец немножко по свету санари сайкл view но опять же как для интервью я бы сделал для себя по не делал бы на этом сильный акцент

    01:54:19 - 01:55:37

  • потому что было видно что под конец действительно человек устал и плюс в начале мы выяснили что миша последнее время работала там с билда ген томи со всякими такими штуками ну наверное потерялся тот навык вьюшек так сказать вот ну не на кончиках пальцев вот и наверное и ну единственный момент опять же я слышал что в некоторых западных компаний по опыту там моих знакомых и так далее бывает так что в общем тебя не прерывает со беседующих его так как ты отвечаешь а но так и идет вот в чем проблема того как отвечаешь ты

    01:54:58 - 01:56:26

  • ты начинаешь супер развернуто опять же возможно это в силу того что мы сегодня в онлайне и тут надо на публику поиграть так сказать вот поэтому хочется так развернуто шуточкой с юморком и так далее вот в некоторых западных компаниях я могу точно сказать что эта штука работает именно так interviewer тоже откинется назад такое да без проблем отвечай в этом веселитесь вот и ответишь на одну 3 вопросов и тебе конфеток и поставил что за два часа ответили треть вопросов поэтому типа reject просто сразу вот но

    01:55:44 - 01:56:55

  • это такое легкое замечание на будущее что на настоящем собеседовать надо быть серьезнее но опять же я говорю здесь всего понятно как бы достаточно ясно от меня все окей спасибо за развернутый фидбэк вот на самом деле про вопросы со беседующим который вот в конце интервью у тебя есть зависимые пять минут тут на самом деле практически те же самые вопросы что дима мне задал вначале меня чаще всего интересует давай я их просто проговорю без договора потому что уже почти два часа но этот болтаемся вот меня прежде всего интересует да как

    01:56:20 - 01:58:05

  • устроенный процессы разработки в команде насколько широко моей ответственности как разработчика потому что в некоторых компаниях есть там специально выделенная должность оля аналитик который разбираем все это за по косточкам это его делаешь вот я бы еще узнал про устройство вот практически как и ты про устройство ну как на министра тивные где команды как они с между самцами действует я бы узнал ну так как мне интересны прежде всего кое-какие определенные роли в том числе вот этот вот самый мобайл

    01:57:16 - 01:58:35

  • devops далее я бы попытался узнать если у вас платформенная команда как туда люди попадают и так далее с нами ну как бы с намеком на то что я бы хотел в итоге оказаться в ней вот ну и конечно же немножко про культуры в компании в основном про word line баланс в обязательно вопрос про переработки вот возможно немножко про архитектуру можно спросить самого интервью если это не так было не было понятно из описания вакансии так далее какой стек какая архитектура вот вот такие вот обычные вопросы на на

    01:57:56 - 01:59:19

  • сколько влезет насколько удается задержать интервью обязательно нужно спрашивать чтобы это для вас не было сюрпризом первый день работы на самом деле ну я тут только поддержу но тебе могу сказать единственное что не стоит доверять этому на сто процентов потому что обычно ребята расскажут как всего зашибись и круто но все равно можно отметить какие дикой какие для себя наброски которые можно на финале задать непосредственно над нами нанимающим обычно они но как бы чуть более готовы говорить например процесс

    01:58:37 - 02:00:02

  • общем от меня слова благодарности миша действительно очень неплохо сегодня прошлись по вопросам без всяких сомнений я могу сказать что собеседником не ты бы прошел отлично ну вот на на таком обмене любезностями спасибо за интервью на все дела ворот вопросы тут должен возникнуть наверное кирилл просто фокусник да я ждал этого момента было прикольнее я вышел час из-за спины девчат [смех] все это время это было лишь игра или как рефери между нами поделился хорошо да ребят большое спасибо вам было действительно интересно хорошо

    01:59:23 - 02:01:08

  • вот если вас всех и том кто смотрит остается вопрос впрочем пишите в коменты я ребята за что дурного не ответят запись этого видео останется на youtube не переживайте все хорошо если он используется чем эту смотреть свежего хорошего тона busty вышел выпуск новостей эксклюзивно только для патронов поэтому смотрите ссылочку комментов тоже добавил но на этом наверно у нас на сегодня все пойдем отдыхать набираться сил и запоминать только нужно проходить saves спасибо что смотрели ребята пока всем пока пока

    02:00:28 - 02:01:34