Подготовка к собеседованию на 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 каналы и чаты
Транскрипция видео:
по 3 . там запись отлично в общем господа всем привет добро пожаловать на наше одну из первых встреча посвящена и интервью хочу сказать огромное спасибо и сирени которая присоединилась к нам для того чтобы все это дело замутить вот динамо покажи себя там всем привет еще не видел меня на да и кто не знаете серена уже какое-то конкретное какое-то определенное время наверное полтора месяца уже нет два месяца занимается занимается подготовкой к интервью вот мы случайно набрели канал я не знаю как но мы там оказались нам
00:00:00 - 00:01:26
это очень понравилось и мы поняли что мы можем совместными всеми сделайте это очень-очень мега-круто надеюсь что у нас это получится и мы сможем дать огромный валью всего происходящего с помощью наших сил и лишь один их сил бейте вот а помимо бисерины с нами еще сегодня будет серега один из организаторов московской академии и собственно он тоже будет тут помогать получать уверенность себе прохождение интервью это одна из первых серий шепот собственно всем привет а что мы будем делать сегодня по сути дела на самом деле мы хотим это
00:00:48 - 00:02:27
прекратить своего рода такие домашние посиделки поэтому включены и камеры мне что-то онлайн и всех задолбала чтобы его немножко скрасить и включит камеры понимать что мы тут все вместе в одной лодке был бы очень клёвым если бы люди которые находятся включили камеру смогли бы увидеть ваши красивые небритые лица сидящих в шортах и там что-нибудь еще бизнес можно создать совместно атмосфера домашние вот а главное того что будет исходить это во-первых дать с тем кто собеседование или тем кто слушает понять
00:01:38 - 00:02:53
чего же там происходит на этих интервью чего что все так боятся понять чего не хватает получить уверенность в прохождении интервью в том чтобы спрашивать как будет спрашивать чего ожидают от меня услышать и получить это от из первых уст тех кто как раз занимается каждый день который беседует заборчиков на разные должности на разные уровни и может понять и помочь понять где находится вот это вот истина интервью дисклеймер может быть мы тут как бы со беседуем я усиленно серёга но даже если это вещь которую мы не знаем и это
00:02:15 - 00:03:38
нормально и это часть процесса мы все тут учимся мы совместно познаём каждый день что-то новое появляется каждый день это новые знания поэтому это ок чего-то не знать это не значит что ты не ужели лучше это просто чего-то не знаешь можно почитать и как забраться в этом вот поэтому мне такую вещь как неправильный ответ главное это развиваться мыслит понимать идти дальше у нас будет три собеседованиях у нас будет сергей белой ручкой вот так вот и сериалы один из центров в академии что давно этому столько же года полтора navi
00:02:57 - 00:04:29
больше нато был студентом 1 да это вообще бран давно вот понимаешь будут андрей андрей сделай руками андрей и артём привет вы замечены ребята если что вот так наверное нет и как бы они будут собеседовать за остальные как бы они вроде бы слушатели очень как бы легко конечно же относиться это как и по вот я знаю со стороны судить и все такое но мы не об этом тут не таких судей такого правильно неправильно лучше хуже и он уже не очень мудрости вместе с главной целью понять узнать докопаться до истины вот поэтому без
00:03:42 - 00:05:28
всяких старайтесь без того чтобы судить и осуждать нам все вместе будет этот очень круто ну и помимо этого очень важно получать удовольствие от всего того что происходит наверно главное самоцель то можешь не собрались вот и собственно мы сегодня зато многие разные темы у нас будет но на две части одна будет связано непосредственно с языком любимый кот лин java г-н garbage collector и все такое и всякие подобные штуки от activity фрагментов fly сайтов до всяких блага модульные навигации дагира и всего такого вот поэтому
00:04:36 - 00:06:07
будет весело и как и сказал это одна из первых старше stretch следующая встреча будет посвящена saw скиллом что это немаловажный фактор в интервью и как бы на мед находится катин который даже не снилось команда организаторов и она поможет усиленный нам сделать вторую часть посвящена из обстрелом и это тоже будет мега круто вот на этом все я замолкаю точнее nismo калия тут но начинает говорить теперь серега тогда ехали вот у нас давайте по регламенту начнем наверное с того что я обкидал какой быть общий вопрос сначала
00:05:21 - 00:06:44
мы идем по порядку скорее это будет сергей артем андрей у меня позу так вот ну а дальше уже как решит бог хаоса как мы не договоримся вот и второй такой небольшой спойлер как и говорил ранее цепь собеседования проверь это что-то человека грубая может решить задачи это как у мысли то есть то как он может решать задачи когда столкнется с какими-то на с какими-то сложными кейсами которые до этого не встречал поэтому некоторые вопросы могут быть могут звучать немножко странно тифа нету берут кассе кнопки а ты не
00:06:05 - 00:07:18
спрашиваешь как устроен горбач коллектор да и вообще зачем тут делаешь вот собственно делается для того чтобы проверить как человек мыслит как человек решать проблемы но если будет слишком жестко у нас есть кодовая фраза серого пощаде вот и собственно после этого я не буду так дальше жить они таковыми и унизительное ну ты можешь сразу one ok давайте начнем свой вопрос у нас это структуры данных вот вопрос к сергею скажи пожалуйста какие ваши структуры данных есть и каким образом они реализованы в g&g и в код мире
00:06:41 - 00:07:56
структура данных у нас интерфейса коллекции это нами дальше берётся нас тиски эти листы да там реалисткой наши листы и map и и деревья значения да нет ну собственно деревья огромное количество бинарный или другого поверхность диска что углубляться можно исполнить самый примитивный часто используют релиз которым использую просто которые по индексу но затратно тула что поставлять постоянно после у нас слейтер листы это списке только или стоимостном основана массива обычно вот этому и липкий рис ты у нас это просто список
00:07:20 - 00:09:15
который имеет ссылку на следующий элемент реализации типа такого просто знать доставать верхний элемент или наоборот первый элемент некоего я очень немножко дроид-мышь уточню по поводу того как устроен лист смотри крошку основана списках вот можешь сказать как происходит инициализация то есть бензовоз препонов листа дальше идет а если это массив собственно что дальше у нас есть некоторая к пасте до которого доходит ничего просто ну то есть начале 16 элементов вот соответственно можем червячками задать если нам изначально
00:08:29 - 00:09:43
нужно больше базель наш и если доходим до определённого там объем обычно около 6 процентов то у нас перезаписываться в новый он там обычно в полтора раза вот так в общем так все верно там то есть нет места 1610 но это не столь важно вот мы с точки зрения вот самого листа то есть нас есть 0 изоляции когда мы просто пишем string скобочки квадратные как жаль было вот если у нас такой массив переполнится что происходит на мы получим типа это тошиба исключения так окей в принципе по местам в принципе все
00:09:13 - 00:10:35
хорошо давай пойдем по другим коллекциям что там ещё есть но песня все мапы самая часто используя хэштег то есть она основана на но тоже нами странная лизации целом она основана на банкетах корзинки в которых в каждом сторожик еще связанный список вот есть некоторых и шансы 2 читается в триндец и когда мы пойдем какой-то новый элемент ума по у нас ключевой поэтому хэш входу быстро вычисляется вычисляется и без когда мы пойдем в этом списке и туда мы пойдем наше значение если нас опустим бывает когда у нас одинаковые
00:10:02 - 00:11:23
хэш-коды разных причалят мы кладем их получается в этот пакет но уже связанный список задач гошма поступить количество но максимально мало вот если становится очень много нужно перестать создается лирическая копать передается но там она реализуется с помощью и еще есть другая нация вот если нам нужно увеличить 3а создает новый рай потому что по-другому никак мне не нужен ты станешь man cries передается внутри татары копируется соседи сполна такмак чуть поломок вам том насколько я помню в принципе все
00:10:43 - 00:12:25
правильно счет нас как там работает когда она переполняется я точно не помню но все остальное что там есть какая-то entity которая у себя хранит там необходимые выключил и и их ешь и потом поиск помню как поиск работает он работает похожу но при этом и по ключу тоже вот вот это как в джаве у нас реализация нашего хэш мапо хранится там скорее всего не отвечу на вопрос точно не помню чтобы не врать и никого не обманывать вот давайте такой вопрос смотрите у нас кошма построиться на хэш-таблицах до
00:11:45 - 00:13:11
грубо говоря каким образом нас определяется размер этих таблиц то есть насколько глубоко мы можем то что ты пожить мы можем сходить классе просто просто кометами пресса любит эффективный вот оно как это плексом литва что именно происходит ну то есть маленько образом определяется насколько глубоко мы положим помолчали мы уже по просто взять и все класть в один пакет на можем образом это происходит сложно сказать хорошо скажу там не получается есть список n 3 так называемых которых содержится связанный список вот этих вот элементов
00:12:33 - 00:13:59
то есть ключ о каком при когда хэш-функция отрабатывает камне резцом после того какое распределение на распределяет по индексам свете включи то есть и так определяется какой батик полос значение когда встречаются коллизию да то есть ответственно просто связанный список добавляется элемент по этому ключу прошел с точки зрения каледин можете рассказать что это такое то есть из за чего это происходит как это решать как там не допускать если вдруг у нас такая ситуация что для разных объектов получился
00:13:26 - 00:14:50
одинакового их ешь посчитался ну вот то это называется коллизией и тогда у нас будет проблема что мы будем просить один объекта нам могут дать не тот наш объект который первые найдут соответственно как это чаще всего решают делают более сложных ешь чтобы вероятность коллизий было крайне малого так с хэши разные но при этом странный объект ну смотри как бы хэш объект сравниться не только пока skoda то есть там есть какая-то и какой то еще дополнительно слова машина что за 2 слоя по ключу еще сравнивается
00:14:09 - 00:15:28
мы будем сравнивать как мы поймем что ключи и совпадают а ну-ка должно быть разные то есть hash марки да то есть если бы это один и тот же ключ соответственно мы получим сам результат если мы будем соответственно складывать туда мы просто обновим результат который ну точнее значение которое там уже существует положим по этому ключу хорошо смотри есть контракт хэш-код и кого сможешь рассказать цвет пищи как то есть это связка как у нас происходит ставка значения в hush pop ставка значениях сша ну смотри у нас
00:14:58 - 00:16:18
начинаем не смотрю нас есть br объект есть например объект код зовут барсик чему то есть кот зовут мурзик как мы поймем что это разные коты вот и как мы будем вставлять кошма по она мы можем в принципе чтоб понимать если и так остальные объекты мы хотим скажем их потом сравнивать как по ключу как скажем что код это будет наш ключ к нам тогда надо переопределить метод эклз и уже по какому-то признаку уже самим определять тогда на че иначе да мы не сможем найти одного и того же кота то есть если мы создадим
00:15:38 - 00:16:55
два разных экземпляров они будут разные потому что по-моему там адресуется память или что то типа того темпом адрес памяти в 6 пользовался когда мы используем или как-то так я не помню точно это такое там было но так принцесса что и так еще нас они на слышал микро само как-то далеко пошли это на самом деле просто если и связаны в списке больше одного объекта к metabo ke ke дальше уже появился круче сравнимся мода на самом деле все верно сначала просто плохишу взрывающие высчитывается baked дальше боккетти ищется гекко
00:16:18 - 00:17:37
мы как-то слишком то ли глубоко латали немножко не туда свернули давайте пойдем дальше с вами обсудили лист массив и мы при что есть еще деревьев деревья расскажи пожалуйста каким образом деревья реализовано [музыка] деревья куча разных они в целом это некоторые просто объект имеет одно или несколько ссылок на другие листья свои какие-то деревья не иметь ограничений 100 бинарное дерево это только два объекта и правых всегда больше ли какие то там граф это так сложнее джаве раза есть какие-то или зации
00:16:59 - 00:18:32
которые как раз имитируют берем там есть три сайт точно есть 3 map и есть какие-то грамма практика сегодня использовал но что то есть я думаю клетка кто-то на практике использовал если честно тоже ни разу не сталкивался с деревьями последний раз на в университете с ними разбирался вот поэтому про деревья вопросы я точно ничего не знаю как конкретно реализация не так хорошо но мы обсудили деревья но при этом забыли про сет вот можете рассказать как устроен cr-z по-моему там все было просто омоет там просто есть
00:17:47 - 00:19:15
итератор интерфейс и в принципе все как-то так и от него наследуется уже все остальные ребята все остальные листы тамары листы все операторы то что такое итератор по-моему это был интерфейс котором для того чтобы оперировать и компом было два метода это наверное и и и и нас [музыка] что такое так все-таки элементы не могут повторяться разные менты эти повторяемость элементов обсудили ужин их шопах наверное не буду опять же дублировать вопросы по про контракт cascade эклз ну давайте так знаю йонатана василий нас есть по
00:18:32 - 00:20:17
первой части какие-нибудь дополнение забыли про мой любимый стык даже тоже очень крутая дату старта я прям помню на нём валился на в интервью в одной из без зверской компании который кати работает кто как имплементировать systick вообще как он работает на типов lifa lifa вот эти все фишечки ну да правильным gold line cash правильном направлении гребец но типа этапами как мягко скажем давали реализовать свои но там есть тоже чтобы сохранить некоторые но если это стоит а ты хамишь обычно он тоже xt порезать по-разному то можно
00:19:29 - 00:21:03
на мастере можно нати полярик через весьма ли cyclist что хранишь то ссылку на последней вот а он хранит ссылку на предыдущие скатывать дагестан берешь его похоже историю как составить нам и пересоздавать перелить переполняются последние wh тела конец конца достает хранит значение свое и ссылку на следующее значение как то так то реализовывалась это если это лимпит лист конца тебе надо хранить только получается если the rain ты должен перезаписывать последние давайте разберемся с главной функции я могу делать со стеком
00:20:22 - 00:22:01
сверху подносики но очень похоже на оператор который достиг это уже не фифа прозвучали это не фифа отличный телефон правильно окей и как то есть допустим я хочу это реализовать с помощью victis то что происходит когда я добавляю элемент во первых нужно есть некоторая ссылка которых они ты на последний момент ее нужно перебить записать на добавленный элемент который добавляю что должен сохранить ссылку на тот который был последний перед этим когда ты достаешь его оттуда делать все обратно понятно то есть элемент отдаешь
00:21:25 - 00:22:51
этот перед описываешь последние который ok чтобы я допустим давали ему там давай не закончил не давай продолжай смотри у меня вот скажем так базовые вопросы какие самоочевидно закончили сейчас немножко повеселее будет но это еще по колено пока александра структур данных смотри такое очень часто вопрос вставка значение linked лист либо в рай лист быстрее если в конец то выйдет лишь при всех случаях если там arraylist типа несортированный ты поставляешь конец быстрее начинаешь постоянно пересортировать
00:22:12 - 00:23:45
короче вставки очень любили сотру где то есть мы у дивинити рич сортируете надо короче найти элемент подвинуть остальные a free olympus давай еще раз вопрос с вами у нас есть a living is linked ли старый лист мы вставляем значение вот расскажи пожалуйста при каких сценариях ставка в релиз будет быстрее при каких сценарий будет легче крис быстрее новые рельсы сниму и вставлять появился googledocs это место весьма не выяснена мне важен порядок если нам ничего интересно то есть просто побыстрее в остальных случаях
00:23:03 - 00:24:15
волю быстрее хорошо смотреть если у нас тут есть дефо массив вот и мы вставляем значение когда у нас вместо массиве закончилась в этом сценарии корабль кассового метода вот время как леди быстрее потому что народ по 5 наш пересоздать всю эту историю с массивом посмотреть эту этот вопрос такой немножко до мотать кандидата в общем 10 до сих пор можно кричать стоп-слово да просто слова каждый обычных этот вы слышали про то что массива перри создаются ленты глисты у тебя грубая всегда скорость но очень попугаю говоря скорость постоянно
00:23:41 - 00:24:57
в реле старт у тебя за счет того что массив три создается первых ставках и сказал тебя скажу так массив расширяется первый раз когда там 10 там 16 там 20 вот эти вставки могут быть медленный вот на больших выборках тебя всегда варились будет ставка быстрее алексей которые собеседовать вещают на этот выпуск экрана правильный ответ давайте пока по ним дальше осмотреть у нас есть кантоваться collections вот я не знаю будем ли мы сейчас в рамках совместного об этом заморачиваться ну давайте чатике накинем плюс начнем не
00:24:19 - 00:25:34
нас не начнем я не удивлен все хотят все хотят они признают вот nokia поехали у нас есть кошмар как на вставить значение флешмоб чтобы скажем так мы не потеряли ни каких данных приемной габба . если перед опрос давайте сами реализуем компании тишман там помощью храма и следующий год гарантии хэш мог так как кейт синхронист кошмар уточнять их трансмит одна и на что то есть качестве монитора что используя качестве монитора мы используем я думаю что instance класса в таком случае у нас будет полных и блокироваться вся кошма
00:24:56 - 00:26:26
по как еще использовать сам глаз качестве блокировки instance класса и [музыка] какую такую блокировку принс чего то и так вот если вы не знаю допустим добавлять элементы вы синхронист блоки допустим кусками все верно добавляем объект по сборке врос в том что нам использовать качество монитора чтобы это максимально было эффективно очень надо у нас добиться чтобы сохранность блоки только на запись элемент то есть читайте мы могли бы живого потока а если а если мне я допустим начну несколько подходов потоков работ это
00:25:51 - 00:27:37
один ощущения давай нами написание вот а я читаются нового потока но неважно как бы гулян из данных да то есть как бы быть если идет о big я как бы хочу получить уже объектом данные правильно ли это разделять на 2 2 разные locking mechanism одно на чтение 2 на печать писание русского эти ты сейчас говоришь по моему немножко другой это ретро идти листы мы еще не дав судили конкуренция шмап извините за молчать замолчать замолкая мощную давайте наверное просто чтобы не терять много времени по факту там есть
00:26:57 - 00:28:16
синхронность метод и у вас останется на багет каждого объекта то есть мы блокируем не все кошмар а вот конкретно вот этот маленький листик не будем сейчас дальше жестить пойдем дальше давайте обсудим как устроена память о б г м то есть из тех типов ли как всё это работает есть память хип потом на каждый процесс она каждый трек есть свой стек то есть потом память для нативных всяких библиотек то есть методов системных потом там был пул констант пол константы по моему happy создаются помада не там хранятся и
00:27:37 - 00:29:23
[музыка] как системные библиотеки по моему все вот больше так на самом деле по мелочи там есть еще немножко другие области not основные можно в принципе перечислили вот давайте наверно обсудим ацтека тип то есть чем разница каким у нас примерно там лицензируется как это все работает но на стыке у нас хранятся локальные переменные которые выполнение какого-то методы определенного happy глобальные переменные собственно константы приложение записывайся у нас постоянно то есть очищайся да там есть область для выполнения эта функция
00:28:50 - 00:30:22
функция выполнилась так очистился ну какая то я часть этого поток какой-то у каждого потока есть свой 100 тысяч потоки стыке потоков или соглашение как бы не видит в друга но каждый поток видеть память тип прошу давайте на листочке давайте вернемся к котле но смотри но тут есть вариант когда мы берем венка инициализируем переменную типа int но один талер вал edge сейчас я в 5 кг напишу вот его у нас есть такой вот вариант вот и есть вот вот такой вариант вот у нас таких сценариях это вот примитивы или ссылки то есть где то вы
00:29:48 - 00:31:28
хранится и положим это инициализируем все просто как поле классно если более plaza ну во-первых переменное они всегда лети лети раза дефолтные значениями [музыка] это будет в хеппи хранится если так поле класса а кстати это лучше произнести вот то есть я написал в консоль к то есть нас есть вал и типа int j и части по vin секс чтобы те кто смотрит видос тоже понимали чем идет речь вот сергей артем что можно сказать по этому поводу я очень малом проживем могу сказать если честно не редкость не сталкивался прям
00:30:47 - 00:32:30
никогда но кроме того когда я сталкиваюсь каждый день компилируется до код вот как надо кроме того чтобы примерного представления как там это происходит инструкции и они берут нам передаёт памяти наверное пропущу вопроса закончу сорта вам но меня есть мысли что если это вот ему табельный и скорее всего будет какая meter если же это у нас одно и то же выскочил к потому что по сути джаред может быть на ложь привить его даже проверять короче но дальше ну да все верно на самом деле мало белей будет ссылкой потому что он в итоге
00:31:43 - 00:33:23
сконвертируется в мчс саму анкету самое не то есть у нас получается то что который будет force for sandy который просто как int он просто сконвертировать в число игр примитив вот та который национальный он сконвертируется в объект соответственно будет как валютой конкретно стоит вот наверное предлагаю дальше некий потому что тяжеловато идет именно сжигаем на часть вот но в принципе здесь можно было обсудить как работают сама джем к как работает garbage collector то есть какие вообще виды garbage collector были вот
00:32:34 - 00:34:01
ну наверно пока этот раз с китаем этом давайте перейдем к следующему топиком следует только там нога по . но ты не помню я не у нас на эту часть были заготовлены задачки это дальше было дальше была ваша тогда я задачки по придумаю для нее не вот они есть довольно и вот их и используем особенно задачка есть предположим нас есть backend моду когда backend поочередно возвращает 3 проект запроса на каждый запрос нам нужно среагировать и делать какое-то действие вот каким образом мы можем это сделать как вариант мы можем
00:33:19 - 00:34:41
использовать крути на натив кгб рычал ну давайте разберем любой из вариантов который вам ближе если в пищу понятен вопрос просто плане что просто чего это можно сделать нет вопрос смотри у нас есть backend как ну конечно нужно на экране делать 3 запроса вас параллельно то есть они должны быть независимы друг от друга на каждый из этих запросов нам нужно сделать какой-то последовательный запрос вот каким образом мы можем это сделать с помощью любого инструмента это было что-то типа начале это zip какой-нибудь я
00:34:01 - 00:35:17
возвращаюсь потом в формате карта раз раскидать это если что-то очень хорошо на 1 рассмотри нас есть накрученных можно если на чистых без слов можно просто выполнить один запрос потом дальше выполнить другой запрос и вернуть результат вот внутри рутины да а если вылетела за ошибка к затяжку давайте 20 наверно берем первый шарик java разберем ошибки потом вернемся к карательным там везде надо показать ошибку так мы немножко в поведении мы хотим еще получить ну то есть давайте начнем 40 взял и вот мы сделали
00:34:45 - 00:36:22
сделаешь что-то процессом если мы хотим к любой ошибке вцелом валить нашу цепочку запрос это один паук если нам нужно устраиваешь там один запрос не пришло два от работала над чтобы показать идут по другому ну обеих что произойдет если вот мы сделали zip на 3 запроса и 10 запросов были тянулся , но у нас себе всю пачку полет и что придает приложением там уж как мы обработали сми лечением работал до нападет обработал кей и как собираешься бы обрабатывать примитивный тимберлендов модели будет обычно прописывать
00:35:36 - 00:36:56
если у нас на всю с помощью это можно поверить самыми зотов составе уже по дороге конкретно хотим какой-нибудь отдельный запрос от валюта можно там да дороже черную народ возвращать о чем мы хотим дальше вот как бы ты решил вопрос о причинах оттеснив осинок важны x4 запросы или ничего там внизу чтоб сказать если мы хотим типа словно наш устраивает что один или два упала на просто показать что пришло тогда бы я уже просто конкретном типе на каждый доллар и простите а я правильно понял запросы должны исполняться последовательно
00:36:25 - 00:38:05
правильно момент в начале голове роль параллельно за не пожалуйста есть три параллельных запроса нам нужно каждый из них членом нато на суммарно цепочку нужно вывести какой-нибудь последствиями последок с решением то есть три параллельных потом одно последовательно-параллельно и запускаем параллельно последовательные запускаем последовательно в идеале в идеале если так можно попросить на backend чтобы они не делали данные зависишь которые где нам надо 2 запроса подряд слать чтобы они сделали это в один вопрос и тогда нам не надо
00:37:16 - 00:38:31
два раза ожидать ответа это немножко ускорить но если конечно такое невозможно то так так то вот либо гипом в flow я еще не знаю как это сделать спрос просто на картинах это просто ты спал на один вопрос круче ну ты можешь внутри еще раз написать какой угодно момент в принципе ты можешь отреагировать так как тебе надо если тебе хватит данных от одного запроса со второй запрос сломался кидай ошибку из китая и все хорошо только вот данные неполное если не хватает таки на ошибку давайте покрутим как ты сидишь а шипеть вот ты делаешь я
00:38:00 - 00:39:31
сказал что дело 1 2 3 запрос но конкретно вылетает ошибка у меня есть такое решение где у меня есть там грубо говоря все field класса где у меня соответственно резал не резал то у меня может быть секс с или ошибка потому же зависимости это я уже блоге ккк что обрабатываются решают того на чем я запускаю конкретно мои запросы то есть это может быть retrofit у меня конкретном проекте запилен на фил вот и соответственно там если я когда пальцев запрос увидел что там ошибка я кидаю тогда такой тип или другой тип
00:38:49 - 00:40:20
это хит может выдать ошибку еще до парсинга что-то произойдет своими запасным так мне надо подумать потому что я такой не применял в ретро фитиль потому что вы тратите все уже готово так и значит там там там да еще раз создал парсинга retrofit алкей допустим просто с конечно отвалился тоже аж или до конкретно если мы будем retrofit с картинами блин я честно не знаю я чистый крутин с retrofit там не пробовал я пробовал словно flow мы можем поймать он р-р бог то есть если я обертку сделал рук . ну и все и плавлю обрабатывать не
00:39:35 - 00:41:12
надо а допустим как как ты обрабатываешь то есть как как ты лошадь ошибку какие у тебя есть возможность для этого так ну конкретно если я вот первое наверное самое первое это я могу interceptor и повесить и обработать ошибку вообще перед всем дальше если она упала и я допустим у себя там в модели или там в президент ири хендлингу он запускал запрос и там где его запускал описывала куда мы сохраним данные там же могу описать соответственно the manner блок которому будет эта ошибка обрабатываться
00:40:24 - 00:42:10
энергоблока что ми-6 а для этого простите да как такое называется прогревает ли не треки о чем конкретно если flow столь просто конечно от ракет как вариант слушаться не пожалуйста но мы как-то прыгаем то слово то вкрутим давай-ка к на одном решении становимся доделаем его какие прически более стабильно мне конкретно комфортабельнее с крупными чистыми но без retrofit а поэтому сложно потому что допустим любой его как какой-то используешь фил конкретно когда делаешь какой-то запрос и у тебя полез интернет что что если происходит
00:41:16 - 00:42:45
да он ну там есть соответственно стандартные там были отечными кто до которые выдают ошибку и эту ошибку я обрабатываю возвращаю в рутину уже свой кастомный класс seat класс который будет типа анера а как-то обрабатываешь вот вернул запрос exception да уже можете возвращает exception что произойдет с той картины когда вылетает exception чистый квартиры но там ничего не произойдет потому что там же а или вообще любое к запишем который я не поймал там я ловлю экзему я ловлю рецепшен соответственно я его могу
00:42:03 - 00:43:37
дальше обработать как мне надо и завернуть в том что мне надо и передать дух вот вопрос как ты его обрабатываешь то есть понял запрос ну допустим не помню точно допустим трека чем как еще ищете возможности обработать специальные классы торг рутинных конструкторы добавлять и в нем обрабатывать все исключения ты еще то есть получается если в одной кручения произошло исключение то она отметить все родительские труден и сразу а соответственно и так артиллерия которые работаем она может быть переса вот если мы работаем и
00:42:51 - 00:44:36
что тогда делать какая решает эту проблему был чтобы значит не будет и запроса которые должны выполняться все смысл один первое решение супервайзер job использовать которые не прокидывает исключение наверх завершает только самого себя [музыка] потом наверно не слышно не слышно нет да скрывает опыта 11 пунктов которые мы хотели услышать вот обработчик ошибок съели и собственно ну как обычно астратеч это же обернуть и обработать как обычно то есть давайте быть сумеры а вот допустим мы используем клиент какой то эта лента он
00:43:49 - 00:45:47
выдает ошибку exception какой-то может вылететь по разным причинам чаще всего это происходит а exception проблем с интернетом паркинг догнали нас есть стандартный обычный метод сделать тебя у нас все это в кайт пейдж вы куртины а как бы все будет ok но у этого метода есть проблема что если мы не будем спать и не будем сквозь обычные джо бы то это нам все дела цепочку убьет поэтому того чтобы это не произошло нужно использовать супервайзер помимо этого у нас есть такая тема как awaiting совершенно а это мы можем либо
00:45:21 - 00:46:43
обернуть весь холл и тогда это будет для всех job of которые будут открыты вы такого тени в этом скол ты либо же можем добавить q1x от гигантов одну в одном конкретном гаути на котором мы запускаем там уже хенли непосредственно для одного конкретного запроса вот здесь что объясню кстати слушая думаю то что можно сейчас немножко остановиться к отвечает вопросики потому как прошла вот эта часть потому что там очень много сейчас обсудили вот в этом не все варианты были правильные ну давайте наверно сейчас просто впустим
00:46:01 - 00:47:17
людей которые готовы задать вопрос по прошествии ип отвечаем на них я всем учил возможность включать звук как торгу можешь на это замечен на середине пол аллен в к пьют клубе юнис прошел товарищ просто к концу согоян white sands так так стесняется могут сайт текстом тоже призвал все мы обсудим давайте come дождем пойдем дальше так как то мы очень грустно это не слышал читай по губам ну давайте тогда говорили только тяжело давайте дальше если такого вопроса всего лелеял погнали погнали ребят не будем
00:46:40 - 00:48:25
отвлекаться да давайте пойдем дальше давайте давайте пойдем копли ну я незнаю неважно артур я хотел натянуть продавай реалисты вставку среди нури листа до этого кто-то там сказалось что вставьте там за константное время происходит я тут бы наверное подспорье в том плане что если мы делаем риплейс какого-то элемент середине ри-ре места тогда да но если мы хотим но тип у нас не знали из 20 элементов листе мы хотим воткнуть на десятую позицию все остальное свидание пользоваться и сложно будет не единичное
00:48:10 - 00:49:26
да идите вы любите спикер типы если у нас есть объекты в этом объекте есть поле которое примитивное то одну часть объекта само по себе в стеке не хранится и соответственно как объект лежит happy to его примите их тоже будет держать видео это вот к вопросу серёге про интенс вопросик если это и на более они переменные в конструкторе или где-нибудь в методе то это примитив он чуточку теперь же им объектом так что я бы на самом деле подытожил это часть в плане того что чего мы знаем и не знаем такой с такое ощущение что все что
00:48:52 - 00:50:08
касается непосредственно языка хип of data классов docs data collection как что это работает она требует такого дополнительного внимания у всех кандидатов это очень часто спрашивай вопросы практически на всех интервью это нужно прямо поэтому заранее пройтись по делай задачки что как работает очень кстати тем вот насчет 100к у деревьев даже если как бы она не широко применяется на работе каждый день обтянуть вопрос который спрашивается почему не спрашивается для того чтобы понять уже роль понимание кандидата где
00:49:38 - 00:51:04
лучше как использовать кидаться так час и понимает ли он там вообще complexity как это работает трейдов и и поэтому стоит это дело подтянуть это такой уровень который про мы обязательно для всех то же время я бы накинул что на мой взгляд меня тоже много видел таких интервьюеров когда вы идете на позицию middle алессьер и недопустимо абсолютно фиолетово знает человек устроен наш папа его постройки не знает не важно чтобы он краски на понимал какие там сложности в этом плане там ставки на разные проц и
00:50:22 - 00:51:30
так далее и на то чтобы он понимал когда мы лучше использовать кошмар когда ему использовать свет рядом надо запереть какой свои структуры данных и потому что надо а вот эти вот блин какой стандартный размер и шмапы и и чем-то свой финквист а хранит бы не знаю на мой взгляд это такие вопросы для джиннов чтобы проверить что они хорошо поработали круги там эффекте в жабу и прочее но в итоге домино потому что везде кто-то как повезет где-то спросят 1 торгуя вот сейчас предлагаю пойти дальше ну что мы уже минут наверно 5 обсуждаем
00:50:56 - 00:52:16
вот наверное думаю что потом и отдельно собьем сессию где мы обсудим правильные ответы ну давайте там дальше перейдем к котле ну я наверно спрошу у серёги трюках что ты думаешь по поводу котле на что нового появилось что тебе больше нравится ой так что лук я забыл вопрос намного больше нравится так что не надо есть дата классы писать руками отлично некоторые под капотом себя реализует набор стандарт методов типа и класс хэш-код copy гиндин сеттеры геттер и сеттер еда на каждый элемент историю он обязан иметь хотя бы один элемент
00:51:36 - 00:53:20
конструктор он что-то не может последовать трактом в чем не может всякие такие вещи вот а мне в котле не нравится учили что можно extended объекты это прям очень удобно и еще мне нравится то что появились такие штуки как делегаты вот они тоже удобные то есть они удобные в использовании написание не всегда мы их написала в один раз и что-то сделал очень удобному в основном коде вот это круто мне нравится что еще extensions сил классы и мат обильность наше саурону обязаны указать хочешь ты не хочешь туда ли часто recovery забывали
00:52:50 - 00:54:42
писать файл на лабе лети ты можешь где-то на ранее столе себе марк papers это писать потом не боятся что те к вечеру да придет отдельно распирает от вещей нас есть прекрасная онлайн функции ну не знаем сколько они прекрасно выпускали был такой в кавычках последовательно можно давайте по порядку пойдем основные поинты назвали давайте пробежимся потому что есть вот 1 то даты классы вот расскажи пожалуйста вот с точки зрения самореализации чем разница сама у класса то есть обычный класс и есть да так вас в чем там разница
00:53:55 - 00:55:24
как упали реализации на джаве или вообще просто необходимости сказку к там классы просто куплен дата класс дик мы параметр с другой которому в целом которого все эти методы копеек будет времени на то бишь и снимать что-то укажем просто в отдельный файл а не особо понимание будут учитываться будет учитываться чем хохотали брал сюда попал то что построили берет у социс как артём да они не могут быть страшными скупо не обязана что хотя у нас обошли их в таких условиях реализации но если вы просто удобная
00:54:50 - 00:56:27
обертка какими-то модель для модели так мы сценарий когда мы берем кота барсика кота мурзика вставляем их в шмап вот если нас будет два кота барсика дата класса не ставится хашмаль и два кота барсика мы нет кейс на у нас есть дата класса у него есть всего единое поле бал name mainstream можно берем создаем кота барсика два раза внутри перемена он захватываем а ну тогда наверное не вставится почему ну потому что стринги будут скорее всего одинаковые по нему по считается и курс метод и коз заменит 1
00:55:44 - 00:57:11
барсика но если нравился будет один и тот же барса барсик мы как ключ используем или как что как создавая в секунду и открою студию и покажу что я хочу сделать хороший вопрос пришла baxi кем был ожет быть zip-архив гибли барсик разряд по ставится номер зато лет были слышать это странно йерархии по моему это не так работает потому что мир они не совершенен пятью долго вставляешь но я ступил мерзкий мурид как упорству я студию бог открывает марк антифриз 2005 например на бандой час секунду я создаю
00:56:33 - 00:58:20
пустой проект и чуть позже вернусь к этому мы давайте пока вернемся к следующим по индикатор нас есть вход нами вот ты говорил то что есть очень классная штука этанола берите вот расскажи пожалуйста каким образом все это реализовано вот вирусные серёжа sirius 3r тоже слишком много сказал иван вы где-то вдали мы портим или бамбл давайте смартфон как и главная беда но label ищет того что есть ну и это два разных типа вот и он который можно сделать только проверить его на мало не скомпилировать проект
00:57:50 - 00:59:32
вот таким образом реализуется офисе вот ну и собственно есть яблоки будет они отличаются ? в конце типа вот или два восклицательных если мы очень смелый до 20 знака это означает берем грубо говоря отвечу нас не себя чтобы он точно не будет наверное такое обычно используется как когда приходят какие-то типы и держава русь имеют какую-то аннотация возвращаем например то есть не знает код дал там или не новый вот так еще но наверно так все бросить и у нас еще в java вход они появились такие тип как
00:58:40 - 01:00:35
июня snapping вот зачем вообще поверить сначала но они как бы базовый класс для всех классов вот линии предок грядок он наследует от всех внизу грубо говоря иерархии на сегодня нельзя просто как создать слушайте помнишь его джаве был облик зачем создали еще один человек по моему они он немножко проще чем облик то по моему там было меньше методов реализовано в и не классе чем в джетте объекте там по моему тут еще было намного по . такое вот в инет там по моему там четыре или каких-то основных методов это чем
00:59:45 - 01:01:28
сменить скажу какие точно ну там да там он он был проще вот вот какие войти у нас получается то что есть июнь 1 финка который у нас возвращает результат при этом над ментами возвращает управление команде управление программе вот пение кстати вот то что он просто упрощает немножко реализация опыта я такой ответ слышу первый раз хотя он тоже имеет место быть насколько помню именно причина создания не была в том чтобы был корневой объект для мультиплатформа насти то есть на же корень запускает не только на giulia мимо мужчина java
01:00:49 - 01:02:12
скрипте вот поэтому утоплению нужно ли того чтобы была поддержка других компиляторов moto показывать я предлагаю вернуться к барсиком все-таки смог запустить студию и так на весь экран видно да вот она у нас есть у нас есть дата класс сейчас я вернусь вот есть дата класс вот у него есть единственное поле name вот и создал двух объектов два объекта так это 1 к 2 них обоих name барсик вот потом я всех помещаем head spa функция cuts and says что таки выйдет вангую что один до монгуш к1 давайте в чак
01:01:37 - 01:03:12
давайте запустим и посмотрим нет начал в чат то я же столько печатал мишка shift увеличил как на пятьдесят на пятьдесят подпишу 2 кто-то один вот и момент истины вот таким один потому что у нас вот и класса реализуется для конструктора на создастся один и тот же объект расположится мог объект с одним и тем же кодом с одним и тем же тем же курсом фактически два раза ставим 1 этаже вот а теперь давайте за камень когда-то строчку мы берем слова да то что сейчас будет будет два объекта потому что у них
01:02:35 - 01:04:03
разное тише как уже говорилось вот до северном вот очень часто забывает про эту пробежимся по сил классом вот скажи пожалуйста когда вы наверно теперь артем опаской пожалуй очень нужны все класса к конечному преимуществом класс это такие как более крутые нам и ну вот не нужны когда тебе нужно что-нибудь какой ограничить в плане вот чтобы вот ты мог только создать определенное количество вот наследников у этого сил класса ну вот и чтобы ты не мог нигде там где потом в коде extended вот в других местах и ты
01:03:29 - 01:05:12
потом до их используешь допустим очень хорошо там можно данные передавать то есть если да ну как то так еще я знаю сет класс и реализуют часто вот для как раз такие вот когда что-то для сети пишут какие-то там стандартные лоудинги резал террор и вот чтобы больше ничего нельзя было вернуть то есть чтобы у тебя был type-c бти такой чтобы как-то по-другому не могли использовать твою программу ну так так получается чем у него фактически разницы с аналом это эта штука делает почтенные тоже ну это как бы объект и он может быть в
01:04:27 - 01:06:20
корне разности нам допустим допустим нам у нас там надо несколько данных и у нас получится мы конструктор мы напишем и нам надо будет там вот эти все данные могут передать для каждого элемента сил класс мы можем сделать softclose и и объекты могут сильно внутри у себя отличаться потом вот это такое основное отличие ну это уважать заражен от меня колени процесса рода наследование только когда тебе ограниченность коментируй что по сути тоже так есть extend реализуется но тебе что-то только элементы у тебя будут здесь тоже воин
01:05:23 - 01:07:00
использовать капица ну их немножко переформулировать то сил класс просто позволяет compal тайме узнать всех наследников вот это подкласса примерно вот так надеюсь нормально своему лир вам так идем это и на мы немножко живут уже вышли за час вот я предлагаю опять же обсудить вопросы все что надо осталось еще собраться и уже в рамках сессии обсуждать и подправить и ошибки некоторые которые мы допустили буду тут спрашивают я правильно понял что все классы подлинным наследуется от и просто когда открываешь
01:06:14 - 01:07:37
иерархию наследования всегда указывает копчик возможно да это так не там стало интересно ну просто все голоса которые ты реализовал листья любом случае стандартное либо это живая морская чтобы любом случае будет убрать все что на уже наконец кришна быть в стене по шефами вопрос я думаю самый лучший вариант это мир как я нахожу такие ответы я просто пишу классно код и не например который функции кто получает они и виде компилирует а эти компилирует а в баньку смотрю что получилось то не будет и не
01:07:00 - 01:08:50
а потом не будет и не но я смогу понять что это вообще за классно происходит методом дедукции ты это что они не будет как бы как бы кода это шуга и нет вообще бать коде такой штуки как они особенно в android и где у нас java 1.6 на самом деле но помощи то можно понять что вообще происходит во что это делать поглощается вообще данный собственно как сам ход январе что имеет root любой и иерархии классов в котле не все и . это получается из тела членами на лабу стала был там уже к ростки эти отдельные ветки сна так далее
01:08:01 - 01:09:39
получает региона алексия картошки ишида лютов заглотнуть ласки иерархия и free counters мы создали катание не было где-то там выше несение как супер класс вот взаимоотношения и не и общество но наверное тоже только после превращения бойкот происходит мы просто подыгрывать что если мы смотрим код ли новый код то чаще всего мы свалимся два пенни вот если мы провалимся скомпилированный там были то будет отлично и еще вопросы насчет и не сил классов дата классов давай так cilek ты сказал что у нас 7 класс он
01:08:51 - 01:10:27
отличие вот она на вход мне что сидит класс он позволяет compal таймер проверить всех наследников а вот она у нас разве не может то есть больше когда пишем игрок стив винн и придаем туда и нам там и как compal тайме можем проверить что мы обработали все возможные каналы которые насколько помню у тебя вот эта штука она только в 7 классе делается из колотова нами девочкам тебя не мне дело этот медовый воллинг не показывает а что ты это не все это не комполка метает аллен все вещь винт это статический анализ на которой в
01:09:48 - 01:11:15
студии прикончим люди подскажет скажет от и вы нами не все кейсы использовал поэтому как бы в этом разница спасибо быстро-быстро накину брейвика далеко не ушли нету студии выбрать любой класс или объекты там нажать энрайт methods to study я как раз то подскажет что ну всмысле когда девочек метод sweep оказывает методы всей иерархии классов и там как раз таки и не все и заканчивается на 5 классов копами наследуется как круто [музыка] почему максим птичкин пишет что у вен есть родиться beside the expression или
01:10:32 - 01:11:44
statement максим хочешь рассказать нам подробнее да слышно но вот когда ты пишешь как экспресс он как раз будет time ошибка тебе просто нет не даст компилироваться ну пока не сейчас так вот напиши как statement фенриза будешь такую ветку такой комп ошибки не будет все там студий до действительно подчеркнет там есть для этого хаки всякие разные но в 17 кстати от этого код не уже обещал что стоит он тоже сделает уже обязательный будет campo ваши копаю там ошибка и мы не сможем уже больше там писать
01:11:10 - 01:12:31
отлично еще у кого такие вас или будем закругляться ужин тогда всем спасибо спасибо что пришли у вас тогда на следующую сессию которая будет посвящена софт скиллом и за что мы успели говорить про платформу you часть но это не конец это не последнее с нами кажется нас будет следующий час не soft skills еще будем добивать то что мы сейчас не добили а можно кстати спросить а что лучше сделать стали сейчас осипов скиллы или про платформе на части кто-то писал про перформанс не опять же можно голосовал учат закинуть
01:11:57 - 01:13:16
платформа платформа платформу платформу продолжать потом окей ну вы понимаете что до следущей части вам просто придется слушать меня больше мы туда записать многопоточность архитектура ну отлично да пловцом понятно когда всем спасибо и до встречи следующий вторник спасибо спасибо всем пока а когда рога а
01:12:48 - 01:13:53