Подготовка к собеседованию на iOS 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 каналы и чаты
Транскрипция видео:
привет на связи hex лет это я наталья мусина комьюнити менеджер онлайн школы программирования hex лет и вы находитесь на нашем канале если вы с нами ещё не знакомы то пробегитесь по нашим плейлистам у нас много всего очень интересного и один из таких форматов которыми сегодня мы представляем это публичное собеседования оно не простое потому что сегодня у нас в гостях ребята из подлодка crew ребята привет машите всем ручкой по как голос может но вот сейчас будет очень задорно нам кстати представляете себя в
00:00:00 - 00:01:03
гостей ну а прежде чем мы перейдем к нашим личном собеседовании рассказываю что будет происходить будет происходить не к идее все же не про него тоже чуть позже расскажет надо мышцы в чате обсуждать что будет происходить писать какие-то можете своей атлетике анализировать ситуацию и так далее и тому подобное ну а об этом уже будет более подробно рассказывать женя собственно же он тебя слова для того чтобы ты представил наших сегодняшних спикеров а я очень за скрываюсь чтобы вам как раз было удобнее
00:00:32 - 00:01:36
спасибо итак сегодня мы будем внезапно проводить публичный собес на позицию овес разработчика и бороться у нас будут глеб луке нет и звука и он будет проводиться без и николай голубович он будет пытаться этот собес пройти а вы будете болеть в чате за либо глеба либо закон а я один из тех кто делает под лодку и я здесь для того чтобы с задорно молчать во время этого собеседования на самом деле не знаю как здесь проходят собеседование на ноге кстати у нас подлодки тоже есть такой формат и у нас он проходит следующим
00:01:05 - 00:02:37
образом то есть собеседование делится на несколько секций так например ей основы языка и так далее вот после каждой секции у нас со беседующих дает комментарий что он так скажем понял по этой секции о следующем ся а в это время николай ii у нас будет снимать наушники чтобы эти комментарии не сбивали и вас ритма чтобы он мог продолжать в том же духе не менять свои линию поведения и так далее ну и в самом самом конце будет также публичный федак с плане публичный что и николаева услышит николай даст фидбэк глебу о том
00:01:52 - 00:03:11
насколько понравилась ему собеседования ну собственно вот и все вот и калеб тебя слова начинай да начнем мы сразу так сказать в карьер на нормальных собеседованиях принято немножко писать код нормально рабочим должен уметь хотя бы написать из баз а лучше чем там прогрессом простое и в том по платформе и вообще еще в целом принято в начале специальной представляться подробно 1 к 1 говорит за жизнь там за карьеру за вот это вот все и мы это конечно все благополучно пропустим будем считать что с николаем уже знакомы и в
00:02:32 - 00:03:57
целом он код нам уже подписал общем приняв это когда мы за давайте тогда сразу к первой теме языки а чё как у тебя с языками пишешь да конечно пишу код пишу на различных языках на самом деле на продакшене исключительно свифт ну потому что самого на нем разработка ведется проект основного и но для себя и как бы считаю что любой разработчик маст хэв своем багаже иметь обратись и я изучал эти семь это мне здорово помогло там работать с различными блеать ecommerce stripe ну естественно там гугловские со
00:03:14 - 00:04:30
библиотеки с тех пор на объекте все там bass google maps на ком то есть ты голос звучал уже после того как да на вторым вот это интересная для пользовать необходимость в принципе изначально понимал необходимость потому что немногое база написано и как бы за десятки лет существования языка куда база будет долго еще жить как бы это ну просто любой думают об развития любого разработчика необходимый здесь вопросов абсолют неких нет абсолютно прав это пригождается а и все-таки когда изучал объекте все что показал
00:03:52 - 00:05:14
самым странным особенно на фоне секса может быть что больше не понравилось ну наверное даже сами с другими языками это место ну то есть как бы концепция очень гибко особенно считать что ты можешь прямо если ты не получил какого-то если не может обработать какое-то сообщение послано тебе ты можешь создать метод для этого сообщения или переадресовать то есть очень гибко это впечатляющий гибкая дороже даже сказал вот но так как это делается в том плане что приходится всеми классами там пересечь пересылки ну это впечатлило
00:04:33 - 00:05:42
меня а также большего наверно кажется как и большинство старых языков относительно старых они он громоздкий в своих инструкциях но это вкусовщина вопрос привычки это когда много читаю что ты уже просто это так и не особо воспринимаешь всё сразу же глазами ваш ключевые слова в блоке про громоздкие и ты уже сам все понимаешь то есть это не возврат года отторжения или удивления сначала кажется что слишком можно было сделать проще а потом уже все таки а чего прямо не хватало опустив то объекте все я не писал код на практике я
00:05:08 - 00:06:19
в основном читал но как бы так чтобы не хватало я бегу что сказал чтобы чего бы не хватало вот когда я изучал думала где же а ну эт инкапсуляция то есть чистые приватные методы и property то есть ты конечно можешь написать extension внутри блины файлы имплементацию будет как бы приватный но наверное не из коробки мне казалось что как фишка главное чтобы это было на сайте а чё у нас систем с сокрытием инкапсуляции все хорошо видеть его к сырым ну если которые доступа какие они бывают штук интер public internal файл
00:05:43 - 00:07:22
прямо при вас чем отличается alpen класса просто класса тем что у пан могут расширять даже те кто будет данную библиотеку или модуль наследовать у себя в проекте смысле нас проекте ну то есть может я помню согласить класс из библиотеки из которых там оупен и сможешь огородить методами условно или property обычно не можешь нету закрытым просто по проекту пакет тогда опыт можно как-то выразить другими словами все все ну получить тоже поведение не написать слово open выставки другие я немножко фильмы к чему клонишь но то есть ну то
00:06:32 - 00:08:06
есть вы давай так хорошо класс который up on он публичный или приватный и публичный конечно и он при этом финале не финальный этап антивирус сказал мне финальный не финальная таки хорошо это все наверное это все наверное про наследование да да а какие что вообще с наследуем что-то часов во всех тя какие там интересно это направленности ли взгляд такое протокольно ориентированный язык то есть очень много выражается протоколами отсутствие таких как бы привычных чистых интерфейсов или абстрактных классов
00:07:20 - 00:08:42
то есть как бы ты можешь создать протокол дать ему в extensions дефолтную элемента цию чего-нибудь это как бы абстрактный класс но по сути тоже не абстрактно а кстати да есть есть ли здесь какие-то параллели а чем в целом протоколы отличаются от классов когда мы абстрактный класс а в абстрактных классов прямо ты указываешь можешь дефолтный какую-то имплементацию а в протоколах что я же могу наверно указать какую то имплементацию для протоколов а что прости я же могло оказать дефолт имплементацию для протоколов и метров
00:08:02 - 00:09:27
программу через extinction это уже немножко по-другому это как-то говорила я вот по идее то есть это будут наверное внешние таблицы на подожди 6 x . статическая диспетчеризация нет не будет я думаю какой диспетчеризацию использует метод добавлены чердак старшин к протоколу быть нас таком это чисто протокол а если ты делаешь их давали шик старшим то будет статическая сириза c а если я добавляю метод который в протоколе определён добавляешь где в чем но кстати кстати про для мест которые уже такая
00:08:46 - 00:10:40
как все но ко мне будет статическое то есть если мы зайдем протокол с одним методом места например а и вы кстати добавить ему имплементацию the class b который поддерживает протокол а будет использовать статической есть причина чтобы вызвать метод а внутри себя он если он вызовет получается что с протокола этого да потом будет вызван статический окей а чётко вообще adidas вообще в целом за диалог как она убивает где она использовать разные всяко нужно статическая virtual table бытности я был и messages and
00:09:42 - 00:11:13
динамическая то есть для всех вылетать на статическая то есть тут можно сразу отсечь дальше по дифферин стайпом для объекте все наследников внс обжиг обычно как бы virtual ты был но если для объекте все где-то указан данными кто но сразу становится master card с динамической и также если указать обжиг тикси модификаторы next in shiny тоже становится динамической также статическая обычно виртуалкой был на статическое если используется файлу или стать к числу хорошо а то что такое статику свифти по
00:10:28 - 00:11:59
сути это метод функция которая именно типа они инстанции принадлежит типу окей а что вот если что будет кстати простатите что будет если он наследует от класса направо переговорить static метод а нельзя нам нужно класс используя ключевые слова вместе stratig а то здесь тебя есть другие методы слово static можно опять же выразить какими другими словами все эти налоги другими соками не понимаем а ладно не важно короче стать будем считать что стать когда стать хорошо ты сказал про то что напротив перебиваем это типа
00:11:17 - 00:12:43
метод close да шутка была том что open это паблик факт нет но он файл то есть просто public static это получается класс войну правильно и сам забрался хорошо обратно два шага назад вылью типа и диспетчеризация ты сказал что были тип используется диска диспетчеризации это всегда так предположу что что там он может быть связано с наследованием протоколов но в общем то может проблема в том что я досконально не знаю как что будет структура любой вылетает должен быть фиксированного размера что будет если
00:11:59 - 00:13:36
добавлять дополнительную функциональность через протокол с extension чтобы год ну как-то получается протокол должен где-то хранится эта табличка тоже должна где-то хранится и как-то она должна вызываться вот до завтра короче причем стадо углубить содрать ничего общего с ним что завалите патоки и чем они отличаются от других таки другие бывают ну два типа обычно вылью reference типы то есть ссылочные типы значения и ссылочные типы главная наверное особенность в том что одни хранятся в большинстве случаев на
00:12:52 - 00:14:10
стыке были типы другие в большинстве случаев на куча happy бывают исключения то есть где то он в онлайн оптимизация для компилятора когда класс можно переместить на стек для эффективности ли он не выходит куда-то там в области видимости или например для очень больших структур которые просто как известно на стык не резина вы можете выполнять его фрукта переместить его в кучу вот если он огромный рисующих у нас одни мутабельные вэлью типы ну точнее этом используется купим врать механизму когда сначала
00:13:31 - 00:14:49
копируются если нужно изменить то то сначала создается видимость копия когда уже уже перезаписать тогда уже полную цен на кофе становится это для чего для оптимизации скорости выполнения и памяти естественно а ну допустим но сначала а не очень интересуется сказал несколько раз ласты куча что такое остаются какие-то области памяти обычно стать ближе быстрее процессору там смысле это как и структура данных так то есть там себе операции пушков куча где-то огромный как бы так сказать область памяти куда записываться все
00:14:09 - 00:15:30
объекты и доступ через быстрый доступ через один модификацию а of с таким не за один там еще там тоже как вы считаете что это и там и там но там быстрее там решила c сару по-моему там чуть ли не на регистрах стек может быть что вообще значит таблицы ты завтра я рассказал что же значит бежит процессоры чем у процессора из различных уровней кэша и процессор свои когда своей команды он может на этих уровнях кашах держать то есть до 3 уровня сейчас современных процессоров и это ускоряет производительность хорошо оставьте
00:14:49 - 00:16:16
причем ну что самое часто возможно как-то может оптимизировать и вложить туда часть уравнения наверное продажах а кучу что не может думаю нет это неоправданно это уже должно быть прямо совсем какой-то глубокой оптимизация и я бы удивился если бы знал бы об этом хорошо на как этому потом ok а что за чем стоит вообще нужен в программе ну как зачем нужен волны всех есть почему бы ему не быть цвести или вы кажетесь и но хорошо вот вот да хорошо на всех есть а почему он у всех есть то есть кажется что вот например в синий эту разделения
00:15:32 - 00:17:02
на вэлью типа да и риффе насти поставьте мне менять зачем им нужна ну возможно чтобы еще как-то отслеживать области видимости после которого удалять переменную то есть области видимости живой был скуп и между квадрат сказку о фигурной скобки то есть он после выхода из компас так обычно подчищается переменные же недоступны лица это правда да это сильно так хочешь хочешь за копаемся в печати фото которых еще нет или не будем жди интересно и есть там есть короче всех тем точнее будет там всех тех такая
00:16:25 - 00:17:51
история про сенкевич враг на 100 вчера как гордимся да что там происходит наверное если ты ждешь то есть как бы тот испанская функция она sing вот она дошла до места где и сказали а вы вот на там на стыке вся располагалась короче а теперь надо ждать пока она ждет должна поискать другой as так уже есть занятой 1 чем происходит как я без понятия не углублялся я просто видел и проползал и как бы этих фич а что будет в общем я в принципе рад что наконец появится то почему суд легко для не есть а у нас
00:17:07 - 00:18:28
нету я тоже нас а я тоже кстати не знаю как именно они сделали но как бы ты сделал как в пенсию можно сделать как можно выкрутиться из такой ситуации что-то типа к жена функции что приходит в голову что ты должен все остановить но установить естественно не можешь значит ты должен как-то дед это скопировать сохранить состояние чтобы потом к нему вернутся вот ответы состоянии как ты уже сохраняет я просто вообще не силён системам программирование но нет то есть какие там на ходу будут я вряд так придумаем а что в нашем случае является
00:17:48 - 00:18:49
состоянием вся вся эта структура стыка постучаться в до точки там где остановилась программа в ожидании наверно что надо куда-то скопировать и убрать а почистить i'm stuck а как ее тогда возвращать обратно когда вот это полностью перезаписывать как-то наверх записывать но даже то в этом духе давай давай становится короче на этом будет бы побольше так вот диспетчеризация услышал какая что она бывает разное услышал где какая используется так и не услышал в чем ранец-то производительности статическая
00:18:19 - 00:19:36
сразу это прямой вызов qs был из памяти где он содержит этот метод компилятором подставленный виртуальный через виртуальные таблицы любит нас таблицы тебе еще нужно найти этот адрес и уже его вызвать с через одну он чуть медленнее но все такой же быстрый а дальше где messages and the типа как бы не длине но объекте все уже естественно компилятор в общем и компилятор он runtime он может как бы кэшировать вот этот путь пройденный сохранять его и дальнейшем массаж стенды будут быстрее чем если бы они делали с первый раз и
00:18:58 - 00:20:12
[музыка] статической учитываться так и так и не услышал в чем собственно разница где есть хорошо какая-то быстрее за чего буду статическая она сразу вызывается на из того места где встречается сразу идет вызов в то место где будет код виртуальные чем обратиться к таблички и найти то чего тебе нужно пири-пири переходить через все или воспользоваться кашу есть еще реки мы учились те объекты которые должны рис пунктов лектор пиктограмму принимать сообщения у меня очевидно большинстве случаев ну давай тогда там есть всякие истории про
00:19:35 - 00:20:51
for adding но большинстве случаев метод к на которой но метод который называется находится прямо у объекта правильно да да так значит чем тогда это медленнее если у тебя вот прям от объекты он отвечать на сообщения ну что чуть больше вы собак по идее я не совсем понимаю ген наверное не отвечу на вопрос не совсем прямо к чему клонишь но еще добавлю что вы не упомянули онлайн оптимизацию когда вызов с тела вызова прямо можно подставить на то место где он называется а что насчет такого ну хорошо это точно наверное можно сделать
00:20:14 - 00:21:26
когда диспетчера статическое а что насчет остальных двух думаю вряд ли мы разве что компилятор как-нибудь оптимизирует посмотрит проверит если еще где-то вызовы и что здесь не нужно плюс по моему есть такой сборка через школу модуль оптимизацию когда всем проставляются а файлы и тогда получается что можно использовать исключите лизации возможно даже где-то вставить полностью вы вот обычно нащупали а когда компилятор имеет право так оптимизацию проводить ну когда мы это слаг установили холмами , ты
00:20:49 - 00:21:52
что-то купил проходил в чем вообще но да так чем же суть оптимизация заключается то что мы убираем том что мы точно знаем что мне нужно будет наследование то есть виртуальные таблицы тоже сразу вызывать то есть мы как бы найдем метод который нам нужен сразу можем ли мы делать такое предположение в принципе когда-либо в посадить почему нет почему ну потому что мы не знаем где же форварды ну что может дальше кто-то пойдет может быть не обработан но для объектив сестру быть в ран тайме на берег ладно хорошо прям пускай и еще
00:21:20 - 00:22:55
одно слово которое ты сегодня привносил это это кофе night давай все-таки еще раз зачем он там нужен где он используется нужен чтобы оптимизировать время выполнения и как бы память потому что создается при этом для велю семантика актуально только как бы ты думаешь что у тебя новый объект он все еще ссылается на старый внутри себя и если ты изменяешь этот новый объект только тогда происходит копирование откуда взялись объекта в какие сроки кристине объекта в какой-то тип выберите так то есть он что там про ссылке то
00:22:07 - 00:23:44
было ничего не понял куда ссылается где хранится переменная которая новая она тоже в илью и считает он на стыке еще будет указывать на ту память где хранилась старое значение которого копировали при перезаписи произойдет создание новой то есть копирования со старого какие справедливо это работает для всех структур или ног для всех value типов или каких-то особенных предположу что для всех я не знаю но думаю для всех то есть в своей работе и удивлюсь если столкнулся с тем что не работает хорошо а это как-то как бы как бы так разлепить
00:22:55 - 00:24:23
два понятия apple использует это где то ли по крайней apple заявляет что используют массивах я дунул в строках опять же там же и сары и слайсы string слайсы приступ стрингах строку ищешь под строку и то не сразу получаешь string тип ты получаешь слоистой строки достигну как будешь еще не знать зачем тебе это надо а и прежде чем мы начнем разбираться как устроена масел я думаю отличный момент сделать небольшую прививку а николай 7 наушники а мы видим а немножко шин это 1 облачать с обвесом в ней мы разговариваем про всякое
00:23:40 - 00:25:01
а про языке про штуки внутри в ней в целом нету к цели в этой секции то есть узнать что-то конкретное скорее просто нащупать дно знаний кандидата на и целом сам хочу просто поговорить за интересные штуки николай ii отвечает очень неплохо то есть прямо прямо вроде бы все на месте иногда мне становится непонятно что что он имеет виду иногда мне начинает казаться что он не сам до конца не понимает о чем говорит но это в целом это в целом ничего вообще немножко на разных волнах но я надеюсь все будет все
00:24:19 - 00:25:44
будет дальше хорошо пока пока мы кажется не и где нигде не ошиблись да вроде бы нет нет крайне так показалось или и записал я забыл написать мы ничего не упустили то есть как будто бы самые важные вещи вспомнили да сейчас сейчас я хочу перейти перейти к структурам данных сейчас мы еще немножко поговорим буквально за устройство внутреннюю штук до а потом а потом потом будем говорить про ту дыру данных и алгоритмы вот поехали окна приснится николай снова обратно знаешь мы тут когда говорили языках не поговорили о том знаешь
00:25:02 - 00:26:18
статическая сильная какая там типизация объекте все какая свифт возможно тема тебе интересна мне очень интересно но у нас к сожалению не бесконечное время тогда а главное что можно вспомнить что правильный ответ продукте все это смешанная смешанная смешанная разобраться вам правильный ответ но не сколько места вы говорили про массивы в итоге как там устроены массивы насколько я знаю чтобы соблюсти вылью семантику они фиксированного размера это восемь байт внутри себя есть внутри этого объекта массива raid
00:25:41 - 00:27:11
есть ссылка на внутренний буфер я там уже reference стоит то есть хранится уже на куче и благодаря этому получается что фиксированный размер но можешь добавлять новые объекты управлять ими то есть массив массив восемь байт как что как сама структура как самосуде команда да если строительно водить а сколько вообще он бесит в зависимости от того сколько ты сколько и чего в нем до положил допустим массив из 16 энтов сколько будет вести но как бы в любом случае будет оказывать сколько бы ты не положил если выводить именно этого сайта
00:26:27 - 00:27:45
не внутреннего объекта то он будет 80 хорошо а в целом но в сумме это все будет сколько занимать то есть ну включая внутренний объект 8 винтов то есть 80 объектом там intel для 64 битных он 164 насколько я знаю то есть восемь байт 884 хорошо там наверное есть еще немножко букет года про него наверное не будем к к к к к методам да да да наверное он на мне очень интересно что если например буду хранить в структуру в массиве и структурой будет поля допустим int и будь то очень сильно зависит то здесь уже входит мемориал
00:27:06 - 00:28:29
layout очень сильно три секунды порядке их поставишь но допустим в этом int и буль-буль то есть оказалось бы сама эта структура будет каунт выводить 9 потому что 8 плюс 1 однако чтобы поместить в ходе the sequence коллекцию а друг за другом то уже размер станешь 16 потому что нужно будет выровнять эту структуру шутку уравнения так терне тяжело дать понимаешь понимаешь рассказать не можешь выравнивание это там кратность байтом на котором нужно должен находиться какое-то значение данные чтобы его можно было
00:27:48 - 00:29:11
взять хорошо давай давай лучше проще а зачем это нужно для оптимизации процессоры насколько я понимаю чтобы каждыми тактами брать определенной куски информации и не переходить на следующие по парсить данные с рыбой ты по сути в общем-то хорошо ладно верил так окей давай снова к нашему массиву здесь у нас массив допустим ты хочешь сделать свой массив ты наверно тоже в сам рассказал допустим мы хотим такой же как всех тем мы завели эту структуру там внутри будет указатель на буфер меня меня интересует во первых
00:28:32 - 00:30:01
как сделать так чтобы он вот-вот делал copyright как сделать так чтобы до чтобы явился к бы чудесно завести какие-то обертки generic обертки которые будут реализовывать эту ну то есть как то бы выглядеть как есть какая-то прям специально инструмент всех те для того чтобы проделать это как сама должна завестись инструмент нет внутри sim если делать свой массив какой-то ну то есть как бы как а как массив но это не массив названа назвать подругому то я так не предположу что это инструмент или еще что-то реки то методы
00:29:19 - 00:30:29
специальные открыто самому как-то отслеживать то есть я сажаю что ну что нужно как-то будет обернуть в структуру как то это все чтобы структура будет фиксированного типа внутри уже можем ли мы как-то менять можем ли мы как-то отследить момент копирования структура я без понятия возможно утро акива или обзорник можно использовать возможности специальные методы но я них не знаю нет ничего любви общем хорошо тогда по-другому мы можем зачем вообще нам копировать чем же суть оптимизацией copyright в том что не факт
00:29:54 - 00:31:30
что мы перезапишем и мы можем сэкономить память ну и время на копирование то есть почему можем не копировать ну возможно мы не будем изменять то что мы копируем и на все ноет это понадобится то есть ничего не изменится а почему мы не можем ну просто заменять то есть то что будет не так если мы не будем как любим просто изменить как изменять что-то между изменять от ишемии меняем то есть качество тогда точно мы сначала копируем старое изменяем то старое на новое вот но это значит это если мы копируем что будет
00:30:42 - 00:31:44
если мы не будем копировать то есть что если буду вот не применю никакой капец просто сделать структуру с буфером внутри и начну я там передавать всем они все начнут там примет добавлять the buffer какого типа ну да видимо ну как бы ничего не изменится для структуры но буфер увеличится немного внутренние 0 или 1 ссылка то какая разница как изменится класс внутреннего то есть по меняется ли поведение такого нашему сегодня относительно того что если вся я без понятия ну по идее нет я думаю когда передаешь массив в функцию и вот
00:31:13 - 00:32:47
там внутри функции меняют передается все по копии как тогда меняется и меняется это та структура сами по себе не имут обильно да будет это же была другая другой массив перед рашу окей а что очень придется по копия то есть копируется то что будет создается копия если внутри была ссылка на какой тариф на стив silk остается ссылка также она указывает на новый уже не торт нет настоящей хорошо то есть мы завернули вот такой вот буфер нашу структуру передали куда-то внутрь и там изнутри в этом буфер мы там добавляли мед элемент
00:32:00 - 00:33:30
дата он извинится и там и там потому что как бы смотрим одно и то же а все те мне когда надо жить и свести ладно хорошо не важно нет на самом деле я на самом деле не неважно это это 17 мне куда-то интересует чё как 7 работает как как вставлять элемент массив эти пишу свой массив так вставлять ну для обычного searching and какой-нибудь я а если пишу если пишу свой массив то есть вот у меня есть структура из там уже в памяти что должен какие действия должен сделать чтобы вот вот вот пусть добавить
00:32:46 - 00:33:57
значение ну добавить в конец буфером зависит от значения возможно чтобы считывать правда как то надо выровнять средства и значения может быть к ним структура а это быстро в конец если записывать относительно быстро бы еще начала все граница хотя зависит от той структуры которые ты будешь использовать если это массив то придется сдвигать все это медленно что можно использовать что было быстро летит лист условный еще что-нибудь уклад на самом деле а я хорошо а что насчет сложности прям графической особенность
00:33:27 - 00:35:00
получается что запись добавлении 1 ударь удаление будет тоже по идее хотя добавление куда в начало или конец добавление начала один нет да простит он будет потому что нужно будет сместить одну позицию этого окей а давление в конец u1 потому что всего одно действие отлично хорошо поговорили есть какая-то структура данных в которую можно вставлять куда быстрее может быть и по интернет-словарь условно не оставлять сильно быстро окей хорошо поговорим про словарь улица на множество можно сад про что тебе
00:34:12 - 00:35:42
интересно поговорить про сад или просто и они не чем больше они отличаются вниз личных симпатий в этом смысле а ну ладно я думал это был отличный ответ на самом деле хорошо давай про словарь допустим меня словарь как сделать свой словарь вот нужно определить что тебе может быть ключом что будет значением и обязательно для ключа выбрать какой-то офигенный алгоритм хэширования которым будет вероятность коллизий минимально коллизия это значит что два разных значения возвращают 2 разных input возвращает 1
00:34:58 - 00:36:20
этой функции хорошо так как с таким бороться ну то есть наверное в принципе это реально ситуация что у нас сразу значению за счет одинаковых ешь и но как-то у нас в реальной жизни словари не разваливаются от этого ну потому что вероятность коллизий и очень маленькая во вторых возможно как-то можно записывать внутри дополнительные ключ на год подмечать ободка дак да гадать и так подскажу что есть вот в своем объекте определишь и будешь там всегда возвращать например единичку кто-то в целом там мир не рухнет
00:35:38 - 00:36:54
словарик продолжит принимать значение разные и возвращать их также ну по ключу разные вопросом как у нас вода девается то есть я я создам несколько объектов у которых хэштега возвращает 1 и все будет хорошо ну хорошо будет сильно сказано но все будет работать по крайней мере будет выходной вчера вот до первого запуска то есть в крайне electra тесные гарантии почему просто интерфейсные гарантия был саблин и вот интересно как как такого нет берез а возможно они как такой то есть айдын тетива объекта или чего-то
00:36:19 - 00:37:31
какой-то но это ключ мы и в качестве и идентичен значения своим используем его ключ правильно кстати какой какой constraints на ключ на тип ключа накладывается текстовые dictionary по-моему протокол широко что такое хорошо что есть в кэш был там должен быть хэш он должен возвращать хэш ну вот переданы от ответного чего-то я не помню чего а но как значение да он он не что хотите еще что-нибудь возможно равенство еще хорошо да хорошо все так значит наверное эти в тому dictionary нужны операции взять их и шаи равенство как он
00:36:55 - 00:38:31
использует ну да я согласен это вопрос к дыханию нет смысле вот значит это значит они ему зачем-то жрачка кто находится того чтобы так сказать бороться бороться с коллизиями опрос там как я не знаю то есть он как нужно где-то сравнивать но что когда мы наверное можно логически трите мне так вот допустим нас словарик мы начинаем вставлять новое значение по плечу этом шаге ну этот ключ должен за хэшировать значение должно туда передастся или или по ссылке коктейль из копироваться для но хорошо но хорошо мы взяли ключ
00:37:44 - 00:39:04
получили о ключах от что мы с этим хорошим делами сравниваем со всеми известными хэшами нужно готовимся вставить было пытаемся вставить или засветить в свою структуру где мы храним структура какая структура решил я задумался как то представлен вида это ведь нет слушай там должен быть наверно как что-нибудь за нумерованных как-нибудь как-нибудь например какой-то массив для ключей допустим этот массив и их решить нему как-нибудь вернет что-нибудь модулю как-то по хитро чтобы что-нибудь он неплохо допустим да допустим мы взяли
00:38:27 - 00:40:09
моду лицах сша это дало нам какой-то индекс каком-то массе да он что мы там хотим найти поэтому индекс в этом сильно прилив и можем найти одно или несколько значений уже установленных например о неплохо тогда тогда эти несколько значений во-первых до операции мы нашли несколько значений что-то значит что произошла к лизе а во вторых что надо как-то выбрать что с этим делать ключ подходит к там к одному из них или нет то есть перезаписать или добавить новое о да и как мы это сделаем значит этот объект
00:39:18 - 00:40:35
который или группа объектов которые мы находили должны кроме сам назначения хронической ключ и это ключ можно сравнивать через китай бы отлично ok какие видишь проблемы с таким подходом неправильный выбор сша будет возрастать структуру а он должен быть равномерным среди лю что будет давать прямо вы рождены рассмотрим что будет если я использую тот объект который возвращается единичка это все туда будут складироваться личку а как стать и вообще hash это все это все называется хэш-таблицы открыто адресации правильно создать и
00:39:57 - 00:41:27
загрузить господь буду после в общем хорошо как она может бороться вот сидим и плохим поведением объектов если у них там допустим очень маленькое количество разных и шеи или вообще 1 я не знаю как то оптимизировать какой-то решили как-то сдвигать что там я без понятия но хорошо допустим у нас вот был мотив мы начали в него добавлять объекты добавляем много-много hаши нормальный при этом да просто мы очень много добавляем объектов и вопрос типа в том чтобы происходить дальше у нас наверное вот в этих вот ячейках количество
00:40:42 - 00:42:08
объектов очень большим станет это наверное плохо почему разрастется вода а что делать чтобы чтобы вся снова стало хорошо ок ок ой а я даже не знаю как так хорошо вот допустим но ты как программисты туда загнал все значит тебе это все нужно оптимизировать это как-то не сможешь получается ну то есть как то [музыка] кашира куда-то ну это странно то есть в памяти должен быть давай главную здесь штуку сделаем давай сложность всего этого оценим какая получается сложность у добавления элемента хэш-таблицу
00:41:24 - 00:42:43
по моему 11 большой один хорошо а какая будет сложность если надеть то есть давай так сколько действие нам на деле потребуется но без асимптотики ничего если у нас ну допустим н объектов и у них у всех одинаковый хеш вот тогда понадобится н действий почему ну как бы что потому что придется перебирать все между собой так это я был сравнивать хорошо а ну да ну пускай вырождается ну так а все-таки короче у нас получается что сложности она плохая она растет из-за количества объектов вот в этой группе что можно вот сделать со
00:42:02 - 00:43:23
стороны хэш-таблицы когда объекта становится очень много чтобы с новым меньше служить что чтобы снова все стало хорошо завести какую-нибудь под таблицу внутреннюю пири-пири перри разместить как так как при заместителе размазать ну то есть в другое место ну ладно а в целом в целом тут тебе просто идея не хватает до все в целом важно это правильно сказал давай на этом же зрел веками можешь сказать а давайте короче в конце собеседования а после всего разберем ответы на вопросы только это не знать а это вы не забудьте
00:42:44 - 00:43:58
люди которые нас смотрят на них анализ комментарии я сам тоже могут стать а чтобы потому что когда я тебе рассказывал про вот это вот как коллизии как разносить по массиву по модулю это в общем то организация массивов в печке которые посвятили массивы а словари ассоциативно до интереснее ло кстати делается но об этом всем потом а сейчас прививка да короче все в целом неплохо короче очень много странного я услышал про кого pro copyright там там на самом деле все все еще не так вообще не так но но это короче нюансы
00:43:22 - 00:44:41
про массива вроде бы сказал все правильно ну кроме купюрой доставка в конец такого начала все плохо стоил только аленький 2 ст но в целом тоже ничего в прах что близ явно не показалось что николай нет знает как устроены хэш-таблицы но при этом мы с ним вроде бы смогли ко всему нужно прийти это на самом деле очень хорошо и там классно признак вроде бы внутрь логикой мы мы готовы все положить путь там где где еще не ходили вот дальше я не наверное не хочу спрашивать про алгоритмы мне не очень интересно
00:44:05 - 00:45:21
хотя можно было бы вместо этого давайте лучше уже перейдем к много по . вот это будет наша следующая секция помощь . окей мы поговорили про словаре говорили про масел и вот нет интереса у меня там недавно в общем на работе ситуации так интересно возникало вот вот короче смотри есть массив с данными да и есть короче кучу потоков разных и вот у каждого потока своя в массиве ячейка и вот он мне пишет и считается условно там допустим счетчик скажи такой сетап он вообще безопасный так можно мне кажется что в спешке нет
00:44:43 - 00:46:34
почему то что обращение идёт как только одно и постоянно структуре что может пойти не так какой то из кондишен хотя конечно типа к своей ячейке обращается и так далее что такое с кондишн гонка состояние когда оба несколько отрядов потоков хотят получить доступ к одной переменной в одно время отчет плохо потому что они оба могут изменить значение одет от вот и получается что как бы изменили никто не знает что там много же мне знать что там может быть добычи мне там не знаю 23 до 1 только читать другой только пишет вот что-то
00:45:38 - 00:47:08
может произойти так какой-нибудь мымре коробкам пока ты пока ты записываешь это прочитал зависит от того насколько атомарная запись идет о особо что там арно значит что за записи ведет едины транзакции не будет никаких в момент записей операции над этим значениям а что она может такое гарантировать например atomic pro перцева джерси или какой-нибудь собственная очередь которое будет записывать с барьер например через душа-де неплохо ну ладно раз уж ты начал что-то приседе такой grand central dispatch
00:46:23 - 00:47:57
один из способов заниматься многопоточной вася а какие ещё есть он эстрады которые не рекомендуются настройка от петра даме и операции а в чем между всеми ними разница в том что оно каждая как бы более или менее высокоуровневыми низкоуровневое что она с 3d они очень часто копируют название методов или классов как то что происходит с обычными петардами там тоже не слог там условно или прочее джи си ди или операция не более абстрактно скорее просто задаешь то что хочешь сделать он выполняется совсем не понял
00:47:10 - 00:48:44
про копированием методов и классов можно подводить крайностями имя имя имел ввиду копирование то есть им имя именно схожи а но хорошо ладно в чем в чем разница подходов с трудами и вот допустим джесси не так не скажу это и там и там 3d эти этим уж использовать на свой страх и риск но россии более популярен акция абстракция обычно надо 3d вот как бы сидит развести сказал один я почему-то о том что в тредах 3d art edi очередей и в операции их ученики пока что завахири такие рассказывают ну очереди это то на чем
00:47:57 - 00:49:18
будут выполняться непосредственно те блоки кода которые ты хочешь многово . а зачем это нужно многопоточной но зачем зачем нужно это все в очередь выстраивать можно было так тайна про запускать значкам как джори крики то сервис там ну чтобы аккумулировать много по точку чтобы выполнять одно и то же в низ несколько действий в один момент времени что выполнялась на различных треках параллельно условно но так для того чтобы выполнялся на различных родах мне в целом было бы достаточно запустить несколько различных цветов и выполнять
00:48:44 - 00:49:57
они что-то но до полюса чем уровень абстракции он более удобные позволяет где то что отслеживать почему обще очередь называется очереди потому что туда можно пометить туда помещается операции как на очередь и потом выполняются по мере доступности по мере освобождения чего ну этой в очереди когда учили доступно может выполнять наберет 1 выполняет а когда когда маг может не может выполнять выплюну когда джимми рады блок какой-нибудь в ожидании когда ты хочешь свою очередь неосторожности песок ситуация когда трек
00:49:21 - 00:50:43
ожидает какого-то конца выполнение сам на себе себя то есть если ты исмо entrada сделаешь sing вызов то он заводчица потому что но он сам по себе будет на моем треки делать ну да это это это это в конус носить блок ну так что там с очередями когда они там не могут выполнить когда блоки блок отвергнуть это приложение должно быть на но в нормальной ситуации то есть нужен списках отсутствует значит я по-хорошему навальный втором приложения очередь всегда может что выполнять так что ли о том что она должна быть заведена она
00:49:59 - 00:51:16
должна существовать это очередь и будет выполнять я не совсем понимаю к чему ты клонишь да вот я пытаюсь понять вытащить из тебя зачем там вообще очереди то зачем концепция с очищением чем чтобы можно было накидывать задачи в очередь и не важно когда они не выполнится так чем это отличается скажем например пула потоков то есть фактически к тем упал потоков упала потоков бывает так что очереди нет сделать там просто вот находишь самый ближайший поток и примут в него работу закидываешь и не нужен
00:50:42 - 00:51:51
финики хочу людей тоже среди стран управляется со всем тебе не нужно искать свободный поток ну там есть придав они не можешь завести свой как бы все но я могу ходить класс наверно завести который бы там это делал бы удобно за меня правда это было бы как же сиди не хуже без всяких и вся концепция очереди но там же много внутренней работы абстрактной тоже как senki leasing и или те же dice пошел к а это мы барьеры тебе все пришлось бы имплементировать самому да за вечер можно мне кажется что хорошо скал брэм
00:51:18 - 00:52:37
четко барьера барьер ситуация ожидания чтобы все задачи которые поставлены до барьера выполнились прежде чем задачи которые поставлены после барьера начнут вконец зачем это нужно практике бункер для синхронизации состоянии от от омар настей на записи например туманность записи а очереди два шага назад очереди вообще какие бывают последовательный и параллельный сериал конкорд чем разница в том что сериал по сути задач является 1 1 за другим то есть это очередь с размером [музыка] не пула [музыка]
00:51:57 - 00:53:34
максимальное количество операций который может быть на них выполнена равно единице за все время нет в один момент времени хорошо что скотт коммент а сколько рынка но не ограничено высокая сна по дефолту то есть на медь можем выставить ограничения наверное но когда свободно тогда будет выполнять как разводные системные потоки есть вон пул потоков для джесси де их по моему 64 не больше и вот пока они свободны они выполняются а что что система может захотеть еще еще потоков создать система до при система
00:52:46 - 00:54:02
не даст приложения приложения можно заходить на приложение не даст по-моему там ограничение по бревну на приложение а то есть хорошо чтобы эти если например возьму глобальную очередь мы на да они трижды или global club губам и начну а из нее в нее кидать тоски которые будут делать sing на эту же очередь ну я надеюсь тебя раздерут на первом туре крестик а вообще так делать нельзя потому что сидит не зря называется системная очередь потому что могут вас системные задачи не факт от раздачи выполнится не факт что
00:53:25 - 00:54:38
наполнится быстрых это тебе надо то есть наверное лучше лучше завести свою кожу и леонид заниматься да но если если только это не мин у мисс выжимается не заведешь игре выводить надо иногда справедлив а то есть хорошо то что будет производить у меня был свою очередь я буду кидать тоски они будут делать снимки на эту же очередь я буду кидать таких много кто сегодня закинуть 10 чтобы закинуть 10 зависимости того как ты определишь сериал или concorde конкорд и хочется когда они все начнут паха наверное выполняться в один момент
00:54:01 - 00:55:20
я думаю что база просится пул потоков 10 штук накажет задача не начнут выполняться если не трогать и рафаэль ищу чего-то хорошо вот допустим создалось здесь потоков выделилась вы делать здесь потоков они все начали выполнять моя задача 10 каждый день сделалось интернету же очередь что сделал прости sing dispatching ну на эту же очередь да вот как-то говорил с блоком и мы будет блок после то что есть если ты выполняешь на том же потоке ты симка ешь момент синко ты ждешь завершение даете даже обрезом очередь и
00:54:39 - 00:55:57
должно стать поведению но ешь наверно другие потоки разбираю тот момент хочу чтобы здесь одна такая задача будет мне кажется что тут звук должен быть то есть если я одну задачу на там на неглубоки на калинке отправляю который делал dispatching натур очередь сразу до другие должны суши я бы запомнил для майна потому что это штанга сериал а для конкурент наверное разберет то есть хорошо если две задачи ну подъем будет их разбирать по идее дальше он может их разобраться ну вот то получается что там
00:55:19 - 00:56:37
какая то значит стоит ждет а пока там это очень разбирать ту задачу которую придет что если от таких создам ну типа даже не 1060 63 допустим ну вот и я сюда 164 будет разбирать за всеми да да вот мне интересно сейчас приступлю эту границу 65 и создал ну тогда уже должны наверное должен быть до двух сир тогда пора да да ладно значит видимо где то есть порог да когда видимо будет дилок прально я думаю да какие таки хорошо давай еще немножко пробега по . давай давай корочку нить такую награду на пальце задачку
00:55:58 - 00:57:25
допустим я создал в объекте все atomic property создала 500 задач но там в global tile в конкурент научили состав биться задач короче каждая из которых делается этому + + 1 до для тех кто то никогда не писал на других языках программирования кроме текста а я я все эти все типы задач и запускают сразу резко что может произойти по моему а ты намекаешь были там 500 или не будет но насколько я знаю о том как он там гарантирую что центр будет мутатор будет от а томиком то есть нельзя будет в нескольким очередям в одно время
00:56:44 - 00:58:25
записать и а же ожидается 500 но почему-то мне кажется что это не будет 500 я не знаю почему но я его просто уверен что какая разница что ты этот [музыка] аксессуар там обратился к нему что делает операция плюс плюс берет старое значение прибавляет новое управлять единицу и возвращает вот эти устанавливать его это полученное значение то есть это get прибавить set а вот есть такой тут уже наверно подсказывают есть такой нюанс в домиках в продаже противогазе да то что они делают они лет на и надеты на секс но это не связаны
00:57:35 - 00:59:06
между собой то есть ну то есть делаем property атомарные она ну короче это позволяет тебе писать безопаснее читать безопасно но вот такая запись короче она она между тысяч чтение и запись они между собой никак не связаны они просто гарантированно придут в каком-то в каком-то буду стреляной порядке ага возвращаемся назад нас есть 500 задач которые дел плюс что может пойти не так чтобы могло пойти не так ну порядок не гарантированы значит точно будет скорее всего меньше места а может все-таки быть 500
00:58:20 - 00:59:29
если мы очень удачливым 0 а а может например быть 0 думаю нет 500 слишком многое как они все-таки что-нибудь перезапишет но то если мы очень и год 500 мы получаем очень везучая что если мы очень невезучего темплат совсем единица все таки думаю будет чем-то которая взяла 0 и инкрементироваться его запишет запиши то же значение перезапишет то что уже проделывали 499 после неё и станить единица а хорошо да верю в целом берию а ну и давай еще что-нибудь вспомним крови и однако по точке по мишутка семафор с
00:58:54 - 01:00:21
потолка типа . это прямо такой же системная семафор это такой чуток который частично сейчас задумался я тоже помню еще что-то из них может быть 01 а что что другой может хранить множество объектов побольше да да побольше нужно значит он его его можно вызывать локоть и на определенное количество раз и чтобы продолжить работу он определенное количество раз должен раз локтя то есть если мы дважды лопнули то мы должны дважды раз лопнуть чтобы где-то в ожидании там где они на батут мой отчим когда надо что сделать и разворачиваемся
00:59:37 - 01:01:19
в конце по моему есть они поют и между что семафор становится значения 2 и мы куда-то заходим уменьшаем значение на единицу допустим мы делаем свои действия увеличиваем то значение единицу итак допустим бесконечном цикле при 500 допустим потоках то семафор будут разрешать только двум потоком одновременно выполняться так в операх да во вторых давай короче попроще зайдем что у нас семафор в платформе какой-то счетчик я-естьность у нас в классе для того чтобы ну там есть хочу семафор сев программу я наверное его не сам делу да
01:00:30 - 01:01:49
и из ничего у меня в библиотеке есть то но думаю да и думаю даже есть где-то в тредах как он называется не опасен быть семафор лак может быть ну ладно нельзя не ладно короче если если нет то так не получится но пускай хорошо счетчик туда сюда еще не вспомним задача а дождаться выполнения пачки чего-нибудь и продолжить работу когда абсолютно все в этой пачке будет завершена знаешь такое ощущение будто меня на экзамене так это последний шанс удочек наоборот я досок отлично идет просто смотря чем мы решаем да без 3g
01:01:09 - 01:02:45
сидит а мы можем создавать из прошивкой там и положить их в группу и в конце группы вот нате fight или мы можем просто положить задачи сделать там барьеры после барьер выполните что надо то есть три варианта оба варианта отличная но мне больше интересует спать группа как бы ты сделать из подгруппу сдал бы диспетчеру + adobe спать work a этом то что мы будем выполнять блоки если бы у тебя не было именно что родился не как бы ты сделал ее то есть у тебя ее нет а ты хочешь чтобы на тебя было как вот перейти между этими
01:01:57 - 01:03:16
двумя состояниями ну получается что вот или семафоры до дар тогда steam for the идеально получается решение что семафоров ваши даже сам корпус должен быть какой-то счетчик что после мы когда мы начинаем полне не задачи мы счетчик инкриминируем когда мы заканчиваем декламируем и только и когда счетчик станет 0 значить и задачи выполнялись мы продолжаем выполнение кремер у им хорошо да туда-обратно продолжит вы хорошо ладно пускай можете кремировать если мы знаем точное количество задач а нет все
01:02:36 - 01:03:38
классно а просто я внезапно понял что не хочу больше про это разговаривать давай давай сделаем перебивку класс так что что здесь что то было не так с очередями круто было бы точно вспомнить из чего состоит там семафор на тогда можно было бы классно нарисовать на пальцах свою dispatch группу там все несложно очень до в общем короче что не понравилось не боялась что очень долго вытаскиваю его в чем суть это собственно очередей сути через том что это очереди того чтобы было удобно последовательно запускать
01:03:08 - 01:04:19
штуки то есть типа вот как а связи установить между тем что вы пускаете до и после да если у вас сильно частью очевидно буквально инструмент синхронизации если у вас последовательно очередь то вы можете предложить такие всякий интерес овечка барьеров было бы клёво если бы кандидат знал про саммит power кометы на номер commit очереди про вот эти вот проблемы с использованием слишком многих потоков системой но у тебя нет так нет ничего страшного вот сам не хватало по уму николай уверенности потому что в целом как будто
01:03:44 - 01:04:47
бы как будто бы он тут все знает про стану просто нужно как-то знание извлекать активнее что ли вот себя но это впрочем мелочи следующей темой наверное у нас будет кивать потому что все мы тут в конце концов в конце дня в итоге кнопки двигаем или вешки красим или наоборот или как это делается я уже сам все того давайте выяснять насколько забыл николай ехали на а решил что черт с ней с многопоточной короче там все равно больше ничего не интересного все уже давно сделано про интересно будет про осинка вы и ты авторы говорить но
01:04:15 - 01:05:44
это видимо в следующем интервью после 5 4 5 5 когда нет да я в этом не разбираюсь община что она есть она красива и наверное я бы тоже хотел этим пользоваться чем сиквел гкл и прочее понятно что есть про миски ты так далее или там реактив чего но даже нарик течение уже входят как будет здорово когда заполнится синтаро в общем посмотрим с надеждой будущее а пока двигаемся дальше юань вот вот это вот нашу все давай для начала обзор на расскажи мне о чем я и кит за одну минуту иракец огромная брачная библиотека для
01:04:59 - 01:06:29
репрезентации вашего я и пользователя содержит кучу различных компонентов готовых методов которые реагируют могут реагировать на нажатие анимацию помогать и множество различных эффектов хорошо а теперь то же самое за 5 у тебя более подробно ответного хорошо что хоть это монета не надо в темноте переворачивайся за пять назад когда вы просто дают просто вопрос напрямую в лоб по списывают это проще а тут уже прямо надо вот думать как как бы ты вот раз к своей бабушке что такое обратиться расскажешь бабушки а другому
01:05:44 - 01:06:56
программисту который просто вот союз не имел а никакого дела до этого ну грубо говоря реальная библиотекам которая имеет кучу готовых компонентов которые ты можешь или использовать или от наследоваться которые ты можешь эти компоненты выводить прямо из коробки ну благодать из коробки возможности вывода то есть рисования в презентации подходящие слова не могу подобрать а ты можешь как-то анимировать изменять сделать красивее размещать у себя на чем-то на экране реагировать на различные события и за как-то красиво
01:06:26 - 01:07:54
выводить данные то 7 и душу коллекции election ютубер возможности менять экранов то есть переходы между контроллерами реагировать на различные события например какие-то приложения отлично все говоришь только что за компонент это готовые такие которые доступны внутри ждешь и ждешь ней явно не список перечисление что из вики те даты вот когда хочешь круто абстракцию когда единения нет как раз хочу список да там по названию пятак штук думаю я винду явью я ею и контроллер самое базовое что есть и уже наследники от них классно как
01:07:13 - 01:08:52
все уже перечислены между собой связаны что я window это обычно контейнер для всего остального он один единственный раз еще не единственный можно просто сделать несколько что делать kindle то есть например так несколько иметь windom а вы спасли из 13 там где появился я не помню называется в общем уже можно из этой да уже несколько делать окон то есть будет твоей винду как без помощи человека на айпаде я делаю я помню к прочитал как давно вышла да и забыл до лучших времен назвали название того стоило название то хоть могу авторском а
01:08:02 - 01:09:34
сцена сцен и сцен цена цена хорошо это отлично прямо трепанация самые глубины далее что у нас есть я viewcontroller который содержит на себе ее и вьюшку я вьюшку же содержит другие вьюшки то есть любой класс и все что выводится является наследником я ем ем и благодаря то может выводиться или пропустил или не услышал а в контроле там где же контроллером есть он window по-моему между последней посредник между виндовых в этот превьюшкой можете ее контроллера может не быть в нем виндовый может не быть и и
01:08:50 - 01:10:24
контроллера давно ты помню ничего не увидишь чтобы просто черный экран если ну то есть когда вот типичная ошибка когда все пытаются в без storyboard описать корпуса забывали добавить rootview контроллер свинюшка и за чёрный экран а что если такую штуку тебе подскажу viewcontroller появились скажет свое спать да да как это как это работало давайте дай ушки напрямую насытились тогда винду с этим rock v5 на общем кажется что начни непроверенными я забуду не проверив место деревьев все пожалуйста забудьте дай не стоять короче
01:09:38 - 01:10:57
когда-то когда с утра давно было принято делать как бы без них вот да можно садить юшку а сама ноте пока кстати фишку в винду не знаю даже не интересовался так наследником чего является и window простите-простите учитель а она является наследником ей view а чем является является явью что-нибудь про responder a до я responder точно есть такой объект ну то есть и все кто наследники значит они объединяются в цепочку responder a которые могут реагировать обычно накид события а кто наследник акт о наследнике
01:10:18 - 01:11:52
и экспандера ну хочется тех те элементы которые могут выводиться window и дальше уже view наверно которая 2 контроллера будет мне кажется или контроллер не наследник спонсоры я не уверен они скажут а зачем вообще нужно очень хорошо нужно нам как программистом нам нам хорошо но мне нужен абстракция а apple у нужно чтобы реагировать на кита нажатии на tab и какие-то действия с этим отлично как приложение реагирует на нажатие что там происходит я прямо начал до конца до создается народ на windows создается
01:11:19 - 01:12:44
передается событий что произошло нажатие или даже можем начать сразу правда и если говорить об нажатии там же все таки это он приходит в режим интерактив по моему мод реагирует на нажатие передает вот но и window что нажать и происходит там до координат его передает начинает спрашивать и hit hit the сделать у каждого этого я responder a у каждого те кто могут где проходит хит тест передают дальнейшей своим нас объем смысл ковер responder a каждого из пункта наследники то есть уже есть с обложки у всех вьюшек надо это метод
01:12:05 - 01:13:38
когда . я не помню ни тоски источники тест а вот этот тот кто где дергать проверить могут ли совью обработать тоже этот хит тест вроде тоже какой-то метод но что то считает что он принимать это метод что нужно что мы за счет принимает точку на экране где было нажать ее координаты по сути возвращает true или фолз полон можно ли обработать или нельзя дня возвращается мишку вижу которая может обработать да да как это сделано это что хе-хе-хе тестов he тесте view он берет всю свою коллекцию collections of view
01:12:52 - 01:14:28
и для каждого из них прогоняет хит тест и каждого из ехать или нет то есть наверно тульскую нужно было можно конечно оптимизировать и при проверить те кто ходит тех у кого bounds ходят в этот вот куда к фрейм лежит по сути в внутри этого view на около этой точке или даже входит там он тогда точно там там проверка входит ли размер rectangle в этот вот в точку нажатия наверно правда наоборот . попадает в квадрат на никогда раз . но хорошо да ведь я понял тогда хорошо значит мы идем от view поясов и выбираем ту
01:13:39 - 01:15:08
и наверное по всем he does когда это просто когда это заканчивается когда уже никто не может обработать ее to view которая может обработать через помнить возвращается наверх и богиней шин получается апогей шиндо получается он то есть получается это обязательно листовая view а какая листовая сталь листовая ну то есть получается нажимать чем глубоко дома . что значит когда никто уже не может обработать возможно где то можно переопределить при падении сша но чтобы больше не было пробеге наш нафс какое-нибудь и дальше
01:14:23 - 01:15:32
мне будет или вместо уж или переопределить щит тест чтобы не проверялись с объем а то есть это вирус берем на себя ответственность обрабатывает этот хит но пускай и как она его обрабатываться ну зависимости от цены потому что мы здесь летал кто какой-то там должен быть селектор по всем надо селектора же возвращается view а потом тот кто вызывал самом начале испорчена по моему вызывает на этой view этот флаг select не сразу выполняет he тест при определенно идти текущая вьюшку словно место чтобы вызывать свои своей
01:14:58 - 01:16:20
собью возвращать себя ну вот она ответственна за вызов не очень понял причем там responder эспандером эспандер china то есть чтобы как они там используются not хорошо мы дошли вышку которая должна отвечать на нажатие чего начала сделать как она использует эспандеров вам просто делать re-therm себя получается и все больше нет тот кто бы кто-то начал вызывать этой спонсор chain он уже вызывает селектор а кто начал ну получится ее windows или даже как-то выше чтобы он стоит то есть я винду начинает
01:15:40 - 01:16:56
от процесс делать хит тест получает вьюшку куда которая там за пропиталась выше наверное и вино должно быть но даже пускает дальше то что фишка делать он они на ней выполнить какое-то действие я забыл или менее я думаю что забыл на самом деле пускай скажи как как нам как программистом точит обрабатывать что мы обычно делаем на суглинке класс есть так если мы хотим просто навью добавить то мы добавляем панги струна примеру словно какой-нибудь теги через органайзер о дааа нигде в этой всей истории на каком этапе они участвуют
01:16:18 - 01:17:44
но не добавляется обычным на viewcontroller но могу конечно и на наверно просто наведи добавится в лесах какой-то конкретный тип указывается селектор как он будет называться тому сэлфи любил ну хорошо так как то че то выпадает жители как найти то есть они добавляются да на верху допустим как-то чем поджечь или командир он должен где-то хе-хе-хе тесте обработать получается проверить если те стали когда и z для этого и как-то обработать ну я под капотом то есть когда она работает и даже не догадывался
01:17:06 - 01:18:41
что может быть кто-нибудь тебя спросит а каковы работает под капотом это наверно просто нужно для чего-то все допустим мы кнопку делаем свою крем прям совсем свое 5 знаете даже не никак его и контроль ну а прямо сейчас он всем свои это кстати но половиной сами про кнопка кнопка на даче наверно рисовать дораду центр можем поместить и как назиры эта картинка ты хочешь кнопку картинкой картинка же не может у него нет события этой по то ты как бы решили как дайверы потапа на картинку у тебя происходит действие
01:17:53 - 01:18:59
а ну в общем на самом деле хорошо то есть у нас задача лился кнопку допустим с половиной история разобрались за то есть то что мы обработаем сами не типа надо ещё нарисовать что-то вот картинку было бы странно если тысяч мы обрабатывали прям целиком руками до а картинку несварение руками как нарисовать картинку сможем из этого выступает силы если вопрос к этому чё такой sealer это класс который непосредственно занимается отрисовкой и как он это делать будет там есть методы дротик охранник это создает
01:18:26 - 01:19:45
модели в зависимости от того какое состояние у компонента и ее кита и отрисовывает его при необходимости сколько у тебя seller of на приложение тебя кумир дофига как ты тоже синглтона ни один минимум один сколько я знал их можно только хочешь может больше выказать exam добавишь это лэру добавив еще один сервер я не буду там скомпонованы то есть у каждой кошки есть север по сути бьешь как и даже обертка для seo лаэра то есть фишка как бы как metadata к нему которых будут хранить состоянии там модель какие-то настройки ну чтоб ему не
01:19:06 - 01:20:35
рушится kassir.ru в том фреймом баланс и например когда что-то анимирован например что вот теперь уж к.а. ok clr его страница в кути рафию или или они просто реббе так каждой вьюшки все по моему зависимости того как каким добавишь по порядку так он и будут отрисованы то есть можно влиять перестанут представлять как-то то есть это влияет на прямо иерархии чтобы оси алиера из другой sealer я точно не помню но предположу что может быть для комбинирования у тебя смотри ты говоришь что север и можно поселок может
01:19:50 - 01:21:19
быть много да откуда их можно добавлять там property лэр по моему есть ну да если допустим допустим есть потом же один аякса сейчас так подумал что если есть оставлю вьюшки то у него тоже sealer и миссионеры должны выстраиваться выращивать за другим хорошо на так лучше окей тогда еще вот такой те короче вопрос там короче близкие по смыслу clr и они наверно как-то на экране расположена ну то есть они же три слова сюда не отрисовать своих своей саблей равкина позициях это где запечатлен о позиции этих соборов и
01:20:34 - 01:22:05
никогда не понял вопрос боковой the property нет хорошо к это property фрейм это для родителя bounce для себя если ты сдвинешь bounds как так как делается в scroll бьют от рисуется меньше как кстати вот в чем отличие хорошо фреймы bounce кроме на каком-то к я подготовка ряд охранители дааа на практике то есть мы типа китам значение обычно лежат чуть не можно делать ну значение лежат там кардинал той . точнее и размера начальная точка прямоугольника левый верхний угол как бы я могу ли компонента
01:21:24 - 01:22:58
и его размер а оба мтс по моему тоже самое и и они могут даже быть от отрицательных какие-то случаях ну какой по режиму bounce обычно уровень фрейму должен быть я думаю хотя не подождите 10 000 и размеры ширина высота а хоккея что ты а что ты там начну говорить о скалы о том что при скроллинге какая-то часть контента скрывается получается и bounce вроде бы изменяется то есть там обжарится уменьшить пойдем на уменьшается что уменьшается банк за 10 ку сторону скроллишь но высота ширина а как меняется вот стоящая на при
01:22:09 - 01:23:56
скроллинге ну сон становится получается меньше или больше если скрываешь часть контента у него же контента меньше становится не знаю а давай так у меня короче есть в юшка внутри неё совушка и короче то и другое видимо я вот у родительской внешней вьюшки начинаю меняется bounce например начинаю присваивать не нулевые координаты в париже у bounce что буду наблюдать на экране ну наверно должна должно измениться положение дочерние вьюшки потому что привязано к фрейму а фрейма как бы относительно разминаться
01:23:05 - 01:24:41
родитель должен дочерние изменится но то есть что еще восемь лет при своего новый корнета что должны быть положительные когда ты допустим положить x был 00 у баланса режим стал десять ноль должен на той тоже плюс 10 к шлему минут здесь наверное крыму дочерней вишни ну хорошо а а если буду менять режим сайт баланс то есть вот был один соси например увеличила в два раза по обоим осям ну счасть увеличился но для дочерней чего не поменялось по идее он все такое же будет фрейм там же будет в том же пространстве находиться
01:23:52 - 01:25:32
но она экране как эта традиция подержи размер увеличится то есть ибо он сложен измениться наверное хорошо atari вьюшки где ты меня says a flame поменяется у нее думали как именно ну тоже увеличится процедур и как с этим всем веры связана вся эта история проблем balls ну это все отслеживают как-то переваривают и отрисовывает кулеров у самих есть свойство про положение размера думаю должны быть но я не помню ну ладно ну пускай а ты говорил про не маца что там подниматься в i веке тя они есть по идее любое изменение вот
01:24:48 - 01:26:35
flame of bounds of an анимируется через seo не выше кажется если я просто возьму и просто там через три секунды после старта поменяю своих вьюшек координаты то я и никаких анимации у себя на экране не увижу они любое изменение по сути то есть анимации даже снова мгновенно приводит происходит так хорошо как сделать мгновенно нужно как-то через в июне магически это специальные методы анимации добавить время которое будет происходить анимации незаметно такие здесь какой-то транзишен и например изменение свойств и
01:25:49 - 01:27:16
view анимейт самый банане велю анимейт этот кожи засовываешь то что хочешь анимировать и как-то изнутри работает то есть как она понимает что за суммировать изменяются значения какие-то новые рассчитывать разница между значениями делит на время указано для анимации постепенно переносят если я запустил явью анимейт визги racing и внутри увеличивал фрейм в два раза по обеим осям сразу после вот этого вызова то есть строчкой ниже я вывожу в консоль значение фрейма что я увижу сразу после но надуманно начально еще не конечно еще
01:26:36 - 01:28:05
не изменилось и может быть начальное еще немножко или прям совсем начальное возможно начальные чуть-чуть ну то есть на начало анимации первые шаги ну ладно окей некий короче давай так а можно ли можно ли с помощью и багира поймать приложение в середине анимации да вполне тебя получалось можно то есть у тебя будет в середине анимации то есть ну как бы как фрейм раза размещена где-то в состоянии между [музыка] ну ладно короче не получалось я наверное я наверное еще недостаточно козы хорошо а если я хочу другой анимации если я
01:27:21 - 01:29:13
хочу сделать кастомный а переход между экранами например в в ноге шим контроллере как я могу такого добиться там есть свои можно переопределять свои классы перехода transition и добавлять их и там у тебя есть это вьют тот старый контроллер новый контроллер из этих контроллеров то можешь достать view сделать с ними куют анимацию и там и ставить на место старых новый view the sea старая есть два контроллера старым как-то не мираж уход и приход нового я должен все руками сделать ну если хочешь кастомную свою
01:28:18 - 01:29:39
туда она видишь который я сам свое тоже начнет вот этого делать с переходом то есть там обычно анимация она про но пушина он выглядит как типа один старый кран жанра леванова и приезжать справа да да а я могу сделать что-нибудь такое странное например чтобы новый экран наезжал снизу или а старые ужал наверх чем-то быть идти придется сделать руками анимацию выезда на верх то есть изменения размера фреймом ну то есть чтобы уменьшался например уезжал как ну как ты был стимулировать и также приезда а как сделать так чтобы на виде
01:28:59 - 01:30:25
шим-контроллер при этом свою анимацию своей анимации не испортил анимацию нам сходу не скажу ну ладно у нас в целом есть еще о чем поговорить а куча разного всего но мы не будем у нас вместо этого кончается время давай сделаем одну финальную перебивку опять без наушников не знаю нужно ли вы сделали да да да да буквально и потом будет вторая секса короче это было секса правой чет я не впечатлен если честно короче очень много очень много всего мы скользим точно некоторые вещи были опущены в некоторых
01:29:44 - 01:31:02
местах просто дичь но в целом впечатление такое что человек но юшки все-таки рисовал на то есть это это явно не человек с улицы наверное наверно какое-то время он на на верстку потратил твоя жизнь а вот не понравились ответы про fren bow of rainbows может было увереннее и правильнее короче они понравились ответы реальных нравится это про из пантов чем и и контроллер потому что там все довольно конкретно это все очень четко можно использовать как деталь имплементации да . как они выстраивать столь как они
01:30:25 - 01:31:39
обрабатывают то че это все прямо документированное понятно яйцом даже иногда нужно не нравится это приниматься потому что принялся тоже была какая-то кто как работает анимации только например как сделать свой ним это был property подобные вещи это все та же по идее должен быть ваш быт как разработчик которые будут свете там поэтому поэтому в общем тоже как-то не рад в целом по собеседованию впечатления средняя мы так и не смогли нигде а за достаточно глубоко хотя за другой стороны николай преуспевал довольно
01:31:03 - 01:32:08
уверенные знания польши по всем опросам чтобы в целом классные даже бывает не так часто а вот поэтому поэтому общая оценка наверное наверное нанимать вопрос только на кого вот она этом эти позовем николай обратно вот она этом наверное надо собес подводить концов наверное наверное здесь закончится видео на ютюбе а мы с вами еще немножко посидим почитаем вопросы еще еще насколько я знаю не знаю кто устанавливает видео на ютюбе но по хорошему ты должен сейчас дать публичный смысл именно фидбэк николаев а еще нам
01:31:36 - 01:33:08
нравится ну как бы как как бы тримифунтскому же самое только краткой форме николай должен себе тоже брать да да короче короче было в общем не так плохо на самом деле у нас по всем темам кроме последней ну короче ты вылил очень хорошо прям хорошо а только только короче мы постоянно в общем нигде мы не забирались глубоко что грустно и местами проскакивала то тут то там то неточность то недочет короче в общем это оставляет я просто оставляет короче такой знаешь осадочек не очень приятно по последней
01:32:22 - 01:33:46
секции было как то как то не очень как слабовато я думаю что там сеньор уж должен знать как там тачек обработать или кришна не ведает ну проконсультируйся со своими чарами своровать возможно возложена да возможно не прав если ты инженер короче но просто не они называют чтобы платить меньше поэтому они сами называют на просто платить чтобы не тогда правильно что платить меньшие чтоб ты так на части гордости замотивирован на любом случае типа цене 1 час дают дают направо и налево если тебя еще не выдали позвонят в
01:33:04 - 01:34:26
плашки есть еще не выдали обязательно проконсультируйся тебя тебе явно 1 положено вот это был собес мы сделали мы поговорили примерно про все про что стоило проговорить кроме в целом принято говорить про архитектуры я не стал потому что я ненавижу говорить про архитектуры я знаю николай любят поэтому я точно решил не говорить про архитектуры было бы как-то неловко плюс часто и чары и и ваше будущее тим лиды делают отдельные секции про про поговорить про за жизнь тросов skills про это все это тоже мимо
01:33:45 - 01:34:57
нашего сегодняшнего формата у нас сегодня с вами а технически специальных технических специалистов вот поэтому поэтому да на этом на этом все мы подытожили такие дела что от себя скажу да еще можно сказать что кроме архитектуры за жизнь в принципе там ни говорили об инструментарии дата словно там естественно конечно человек знает прогиб как резон убить там проблемы или там условно как он будет везла проблем с истории бордом как сходом что может обидеться добил системной что там сборка так далее да можешь любить забыл
01:34:22 - 01:35:38
мы не говорили про такую прикладной инструментарий типа реактив чины условный эликсир популярен и уже комбайна замену вон там не не данных мы не говорили то есть то есть и чайный лист рифл стал одна фигня есть же как то что не он сработает сериал но миль из пруда той ну вот ты прав защищать и под вечер да нет ни глаз во первых времени мало а во вторых как бы каждый сам подбирает форматный у нас еще немножко есть я думаю в общем в общем да я согласен что можно говорить за инструменты я не люблю один студент и потому что во первых
01:35:00 - 01:36:24
никто ничего не знает во вторых иногда бывает так что у человека что-нибудь не то на работе предметом и приходит и говорит что у меня вот 12 лет опыта с mercurial я такой отлично следующий образ а короче до этого типа 1 0 ну или там кто-то например вот на работе и у меня swing я даже не знаю например чтобы это слово которое 4 ст брянцев итар тасс и я соскучился и я вспомнил что это но мне потерялась на это немножко а да короче есть люди которые например работали прямо со стажировки только в фейсбуке
01:35:41 - 01:37:01
фейсбуке ад и погибель у отдельных частей ада есть имена иногда они даже выложены в едином бака иногда они выложены там еще что сейчас свое до спрашивать таких людей как там на самом деле что собирается почти бесполезны и не релевантно вот про хранить данных тоже тоже можно было говорить но про кредо 1700 использовать особенного просто не все столпились в том что на такой не очень поэтому поэтому на этапе секс они универсальны но ты правда можно про это реально можно говорить если и вспоминает про это
01:36:21 - 01:37:22
первым то если если не кур дату и не реалом то что же тогда люди используют эти три подлодки ничего потому что не просто все больше и все больше приложений выглядит как маленький сайт тоненькая оболочка бэг-энда и где хранит ничего особенно не нужно когда-то не нужно каширование например но вот типа такой в том чтобы у многих особенно да покороче будет не по 2 1 опыта у них бывает так что просто нету нету никакого опыта работы с какими-либо системных а не надо потому что их просто нет в проектах я когда только пришел
01:36:52 - 01:38:18
мобильную разработку и был единственным мобильным разработчиков компании я такой типа блин но этаж мобилка по любой нужно там хранить чтобы она работала без интернет сидел там все это реализовывал там всякие классные хранение и больше никогда практически я не трогал базу данных когда перешел в других компании на одном из моих проектов на проекте который мне дали поработать немножко недолго вот там был был полноценный offline там абсолютно все работало без использования сервера и это было крайне
01:37:35 - 01:38:42
сложно проблемы синхронизации консистентной чего угодно короче в общем вы поняли там прежде чем мы перейдем фазу по стол к осталось два момента во первых коля как тебе этот собес сравнению с другими собеса ох ну у меня а я снова собеседование в жизненных было меньше полдесятка очень сравнивать не с чем размер меньше получат к был собеседование в месяц грубо говоря 3 работали 2 ну стой как считать в селе может быть ланс считать работой вот имя troyes говорю да во вторых я что заметил что архитектуру
01:38:12 - 01:39:32
почему-то боюсь и что на совещании что статьях очень не любят а потом удивляются про мыслях viewcontroller поэтому и очень рекомендую посмотреть уже не на ю тубе и j им вести как он как он сделал реально и висит у что хотел сделать создатель вот я тут с тобой поговорить на кофе но ты как-то слиняла сделать то что я хотел когда сделать например когда сам читал статьи про энбиси на ios а в саму собеседование будет очень понравилось я в принципе ожидавшего такого но не ожидал что настолько будет глубоко
01:38:51 - 01:40:06
анаглиф корр останется неглубоко и дальше все на виду заказать его исходники посмотри как оно там все делают сюда что ты нужен у нас так важны junior вконтакте это умеет даже даже уборщица могущество из этого не на нем где на самом деле там счете писали что просто там типа это публичное успехи интерфейс часть блин интерфейс наверное это самое такое странное место вот и первый начинается активной стадии разработки приложения в первые полгода делайте интерфейс а потом внедряйте бизнес-логику и ты вот идет интерфейс ту
01:39:29 - 01:40:42
же ничего не помнишь в интерфейсу быть поправить ты начинаешь что искать где-то и вот поэтому я вот-вот будет сделал она работает все и уж я уже забыл что когда смотрел какие были баги ну у меня по крайне мере в жизни вот пока все так выходит ох не знаю кухне ни разу не видел чтобы делали сначала интерфейса потом странно я волшебница да я серьезно тебе говорю но обычно это так типа не знаем что там будет конкретно происходить будет приблизительно женя глеб ничего не менялось вот с тех пор даже вот за
01:40:16 - 01:41:46
полгода и сам за девять месяцев ничего не менялось интерфейсе мы уже где-то обновлялась и где-то ost изменить ну обновить там чтобы за более яркое насыщенное вот новое веяние дизайнерским вообще как бы ничего не менялось вообще также можно так везло я не отрицаю ну да и тему я это точно точно то что мне нужно углубить изучить скорее всего что просто вот получается так что ты накинул на кнопку банги с риной за руль и там тест тапка bistricak nazaryan работает все те хватает теперь все равно кому там
01:41:01 - 01:42:09
работается вот цена абстракции что ты просто наших работает тебя хватает даже не знаешь а надо ли выяснять не надо пока не найдется get глеб гусениц которые спросите собеседования а все так говорят что ай да это просто не нужно все на самом деле вы просто не видите какие возможности открываются когда вас эти знание есть это у нас больше не пугает до вас сложный интерфейс потом странные баки и вот это все это все уходит короче появится уже в интерфейс не был служим нужно его декомпозировать на были мелкие интерфейса ну речь скорее
01:41:35 - 01:42:41
не про речь скорее не про сложно как никак не про комплексные еще именно про сложный который не комплекс который hard то есть бизнес странные хитрой анимации где у тебя там на лендинге одна иконка плавно перетекает формами в другую иконку а потом в кнопку но чтобы таких от таких вещей не паниковать и когда-то очень к николаю что что она делается как я буду это имплементировать всего что по нарисовали вот там будет просто завершите штуки старше как бы лучше когда доводчик вот и поэтому я очень рекомендую изучать
01:42:07 - 01:43:14
нет ничего полезно платформе вот че будем делать постов с ответами подожди до вас еще не делать сначала последняя штука я здесь почти не участвовал в роли ведущего персик выключился и не отсвечивал но вы справились вообще шикарно оба причем на все 100 вот то мне нужно тогда заняться последним делом которое должен за следующий бюро рекламировать нашу замечательную конференцию подлодка ее screw да мы у нас отличные сессии примерно вот форматов поговорить больше не докладов следующий сезон будет как раз реальном
01:42:39 - 01:44:02
про база данных и какие и когда нужно выбирать о чем сегодня не поговорили и мы поговорим даже о том нужно ли вообще выбирать и будут конечно и публичная собесы на эту тему в общем и все остальное так что залетайте к нам на сезон смотрите вот но в
01:43:23 - 01:44:02