Подготовка к собеседованию на Python 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 каналы и чаты
Транскрипция видео:
начинаем эфир начинаем наш зефир нажал кнопку начать эфир и по идее все должно идти вся в ништяк у нас видно и слышно даже ну что он слот ребята всем привет кто нас смотрит нас уже здесь я сейчас скажу сколько зрителей целых целых пять целых девять по моему даже 11 ребята сегодня у нас продолжает формат проведения собеседования у нас сегодня второй подход к этой истории будем делать собеседование на позицию бэкон python разработчика уровня джуна но помятую прошлую собеседование было очень много
00:00:02 - 00:01:44
комментариев от носить того что вот вы там задаете вопросы которые джон не должен знать ребята помните то о чем я говорю вам постоянно чем больше вы ответите тем больше шансов что вы попадете на джунов скую позицию может быть на джон плюс и когда с беседующих задает вопросы которые по идее даже выходят за рамки стандартного понимания и знания джона это проверка того насколько человек глубоко копал и откажетесь пожалуйста от мысли о том что вот я пойду на собеседовании я джон поэтому мне нужно знать только какие вы
00:00:53 - 00:01:59
там типы данных стандартные больше нечего потому что любой работодатель который хочет инвестировать свое сотрудника деньги он хочет инвестировать сотрудника который будет приносить ему пользу как можно больше пользы команда хочет работать с человеком который более подкованный и собственно я думаю посыл понятен поэтому на многих собеседованиях когда вы приходите этим грешит ну как грешит так происходит в яндексе так происходит annabell других компаниях вас просто прогоняют по всем вопросам вы на
00:01:26 - 00:02:26
каких-то срезаете сдан какие то вы отвечаете и поэтому потом вам выставляют в таком чек-листе скажем так ваш уровень да то есть на кого вы претендуете на джона на джон плюс там нами до на сеньора поэтому даже если мы будем что-то задавать такое казалось бы из ряда вон выходящее вы не берите это скажем так на веру что обязательно вот если вы придёте на какую-то в какую-то допустим даже маленькую компанию стажера что вот вас будут что такой невероятной спрашивать вот со мной сегодня представлю наших
00:01:56 - 00:03:05
гостей этот традиционно уже артем кривонос мой товарищей бывший коллега потом клику который из города герой амстердама и даша которая сегодня с нами будет в качестве подопытного проходить наш собеседование с дашь ему не первый день знакомы вот она изъявила желание по собеседовать я долго и уговаривал к тому чтобы она сделала это на стриме так что отнеситесь пожалуйста с пониманием и пожелайте удачи ставьте нам лайки и собственно поехали что чертям будем начинать да давай начинать теоретически и
00:02:30 - 00:03:56
вообще первый вопрос должен быть даже да конечно как ты докатился до такой жизни 20 лет я бывший проколется рознице я поняла что я уличный устал от людей я поняла что когда работать на рознице я могу много что магглов много какие процесс оптимизировать создать какие-то новые и вот я решил пойти в разработку потому что я считаю что можно многое привнести и и блин это но намного круче чем ты просто сидишь и руководишь там всяким складами сотрудниками или еще о чем-то то есть но упростить людям жизнь
00:03:12 - 00:04:32
хорошо хорошо сколько у тебя опыт оружие в разработке am обучение профессионального может быть профессионального нет мы вскоре начали занимать софтом году в апреле ну вот если прямо занимается заниматься то наверное месяцев восемь я прям усердно сижу особенно последнее время вот сейчас мы искали там нет крючок своему проекту за что ему большое спасибо и я прям постараюсь максимально взять из этого проекта все что мне нужно супер супер классно давай начнем с необычным вопрос от тебя ты 8 месяцев как ты упомянула ударным
00:03:59 - 00:05:32
учишь расскажи что тебе больше всего запомнилось что вызвало больше лицо проблем ремонт квартир [музыка] последнее время я боролась [музыка] сохранностью этом надо еще копать копать буквально недавно я все еще проходить докеры самое что наверное было прям вообще по фазе питоны если брать то наверное опыт всеми любимые лупы когда там вот тебя ну полиморфизм ладно вот инкапсуляция да вот все понять как наследование вот это вообще это прям это очень круто мне точно нравится когда ты можешь прям всякий классе том что то делать с ними
00:04:48 - 00:06:27
что тут как то не знаю там наследуется перетягивать с одного проекта в другой вот этот здорово супер супер что а что вызвало а ну ты уже сказала что больше всего что какая самая большая боль была при изучении ну она наверное есть до сих пор это решение каких-либо задач когда у тебя какие-то но затыки получаются ты не можешь что трише тебя то есть там ты можешь решить не знают английский у строками кода а на самом деле это можно сделать там через три строки да то есть оптимизация какая-то вот эту то есть у
00:05:38 - 00:07:02
меня есть такая проблема что я пытаюсь сразу как-то написать там ну такой красивый нормальный хороший маленький порт то есть сразу оптимизировать вот иногда это мешает правду то есть проще может быть там не знаю в той же концентрации какой-нибудь что-то сделать да потом уже этом пробуй вот а я сразу пытаюсь красиво все эти сделать его там по сей день с решением задач мистер больно хорошо прошел тогда давай перейдём собственно бутоном нашему любимому расскажите у нас есть контейнером мы очень часто используем мы работаем с
00:06:22 - 00:07:44
данными мы их кладем образы структуры данных за жидкие ты знаешь и есть питание списке у нас есть изменяемые и неизменяемые коллекция не изменяем коллекция метана строки тоже фиксированные множество к изменяемым это у нас как раз списке ли словари и на что хорошо хорошо давай поговорим про что же мы поговорим вроде просили уже артём до вас просили может заканчиваться давай поговорим уже у нас есть списки и словари давай поговорим что в каких случаях мы используем каких случаев ты использовала списка в каких случаев ты использующих
00:07:04 - 00:08:55
словари списке от коллекция индексируемая принципе как и словари да то есть они тоже индексируем и списках лежит лежат разные могут уже типа данных словарях но они состоят из пар ключ-значение да то есть если бы я там например не знаю на примере магазины какого-то делать да там и у меня есть яблоко апельсины мне нужно каждому товару присвоить цену то я бы использовала например как сварить на то есть где пары ключ-значение списках наверное просто вы по животам что у меня есть вообще в принципе не
00:08:18 - 00:09:45
богу а вот у нас есть списки и множество да и кажется они похожи на чем они все-таки отличаются ну смотри в списках как я уже сказал может лежать лежать либо я вообще любой тип данных в множествах сама множество изменяемое но внутри себя вы можете держать только неизменяемый тип данных то есть я множество не могу протянуть например список плюс списке они уникальны и они не ну это неупорядоченная коллекция то есть там нельзя по индексу как в списках например взять и вытащить 3 ну то что тебя лежит
00:09:09 - 00:10:30
на третьей позиции неупорядоченное хорошо ты упомянула что мы можем класть множество только нет меня и мы типа данных правильно вас хорошо предположим что мы пишем свой собственный класс чтобы нам положить этот класс множество чтобы мы могли что нужно сделать чтобы у мареева использовать можно по множество [музыка] но как еще называют неизменяемые типы данных [музыка] еще не вполне существенно может быть ты помнишь что-нибудь про то что лежит под капотом у словаря в питоне какая структура данных классическая кошмар
00:09:50 - 00:11:24
вот это был наводящий вопрос я отлично это press ok они называются ширу и маме может быть ты сможешь нам рассказать как тогда хэш мапо работают [музыка] также из пар ключ-значение вот наверное подробно о том как они работают я сейчас не расскажу вообще отличное вино хорошо давай тогда прыгнем все-таки более больше к алгоритмам у нас есть куча разных самых разных алгоритмов интересных и очень интересных ее структуру данных тем более ты помнишь что-нибудь про большое который работал в чем преимущество хэш манапов над
00:11:05 - 00:13:03
списками надо массивами я честно не помню по крайней мере profession об этом правда нет структур данных не очень дается хорошо массиву у нас выделяют в память удаляется определенную область подряд памяти и соответственно там если нужно что-то вставить или там с удалением проще из массив а если что-то нужно делать какую-то вставку то вот этот полностью массив память он берется ищется ну участок памяти который подходит под размер нашего массива и вставляется с этим посложнее но прошло 3 часа примерно писал как
00:12:21 - 00:13:59
работать и динамические массивы то что выделяется память потом если по а не заканчивается то мы выделяем еще больше памяти потом мы выделяем еще больше памяти и так далее это хорошо как работает как бабкина мне расскажешь правильным ну пожалуйста ну да это шоу сейчас съем в я предлагаю тормознуть на хэш mapi вот ты про словарик говорила ты тут приводила пример с магазином вот давай про алгоритмическую сложность поговорим у тебя есть список который ты вставляешь элемент до произвольную позицию и у тебя
00:13:18 - 00:14:39
есть словарь которой ты вставляешь элемент вот может быть ты сможешь порассуждать про то где меньше затрат на эту самую вставку будет алгоритмическое но мне кажется что в списках будет меньше затрат на громком алгоритм то главах здравствуй 5 глава и туда вот понятно хорошо продажи давай им не надо давай не будем углубляться давай попробуем пройтись по горшкам ты помнишь свойство массивов их аж map of то есть у нас есть операция добавить и собрать насколько и найти насколько они сложны продуман насколько сложно найти
00:14:06 - 00:15:55
драйвер нас есть массив и у нас есть множество насколько сложно найти в массиве элементы насколько сложно найти во множестве элемент массиве от одного потому что индексируем мало сразу можем вытащить о множестве это перебор вот я имею ввиду не по индексу обозначению искать найти первый элемент равный 1 получается но дали блестящ а что у нас от потом множество-множество реализовано через такую же хэш-таблицу по войску по ключу в хэш-таблице сколько я не понимаю правда давай ты пришла в магазин у тебя есть апельсин ты хочешь
00:15:08 - 00:16:50
увидеться но насколько сложный алгоритм будет поиска ну вот то есть когда ты слышишь видишь тут такой момент когда тебе как это крестьянским языком попроще ладно хорошо идем хорошо в принципе это все что у меня было про контейнер я не знаю это европу на тебя так влияют нет я не так влияет мое высшее образование оттуда идет хорошо давай давай спросим последнего просто контейнеры у нас коллекции нас есть модули collections правильно какие ты помнишь что в нем содержатся помнишь там забегая и так рассказывает там очень
00:16:37 - 00:18:29
много полезных для нас классов и возможно эдикты дефолт dict там есть там есть каунтер алтгу постоянного пульса де фактик тоже приятно использовать там есть дик тоже иногда хочется его попытка разработчиков питона ну хорошая попытка занести стандартные структуры данных тот же самый массив тоже классический массив он содержит только один тип данных отличие от списка вот вот что же давай поговорим run немножко magic методы знаете что такое гидратор и да знаешь ли ты что такое генераторы функций генератор как объект а
00:17:54 - 00:19:43
чем отличаются генераторы вот и тракторов но и трактор это когда нам нужно проектироваться по какой-то коллекции внутри которого есть как раз киногид магическими и генераторы у нас [музыка] генерирует последовательности выдачи с помощью ключевого слова ел [музыка] итераторы с помощью молитесь к метода это определяют какую-то красивую последовательность даже не так итератором сформулирован ну да наверно интегрируется по какой-то коллекция с помощью магического лет на это вот как метод это смотри
00:19:07 - 00:20:54
это с мы про класса говорим правильно за что отвечает метод итер что должен стараться ну и тира рода это волос я не не не приму такой ответ что тот результат работы метода эпр вот ты его запустил и что он тебе должен отдать он интегрируется по коллекции не не стоит вот у тебя есть функция функцию любой есть возвращаемое значение может быть число это может быть вообще ничего но но тогда у тебя есть magic ментам биттер вот что он должен во первых какой момент он вызывается вот давай об этом поговорим
00:20:13 - 00:21:41
как вы как вообще метод это вызываются но он под капотом вызывается и определяет как нельзя рассказать определяет метод перебора в.в. смотри смотри смотри вот определяет метод перебора это хорошо ты сказал что он автоматом вызывается в какой момент он вызывается автоматом ну то есть вот ты пишешь код ты отдала экземпляр класс у которого есть метод итер куда-то и вот как ты определишь вызовется там метод это или нет мы же должны понимать что у нас произойдет задать пожалуйста мы купили индекс код
00:21:00 - 00:22:26
время привезла года индекс подавления просто пусть будет пусть будет понимает чему ты клонишь но нам далеко просто чтобы начать смотреть дальше давай не будем сдаваться раньше времени у ты сказала что метод итер вернет что то что отвечает за правило перебора я немножко сделаю для на я что у меня там есть еще next наш любим который вызывает в общем для наших зрителей маленькое лирическое отступление для тебя даже тоже вот итераторы это это вот то место где даже если человек покопался с операторами вот
00:21:52 - 00:23:24
все равно очень часто зубы ломают потому что нужно разделять тот объект который ты хочешь сделать это риру и мы вот когда ты пишешь свой кастомный класс там ты заводишь метод и др но методы next там не будет а то мне до потому что вот метод итер должен вернуть что то что будет в себе инкапсулировать правило перебора а вот это вот что то она и будет уже являться вот итератором где будет твой замечательный метод next ну и там тоже будет и просто у тебя сейчас все это слилось в одну кучу и нужно это но ведь
00:22:40 - 00:24:04
вещи но можно разделять ой нам личинки он нам прислали денежку на печеньки ребята спасибо кто-кто-кто кто бы ты ни был добрый человек спасибо огромное поедим печеньки сегодня за ваше здоровье чем поджигать дальше воду и тракторов интегрируемых ширу им их прочих есть модуль collections a b c за можно зайти и посмотреть какие мышь их методы каким классом принадлежат коллекциях там мы можем там мы сможем увидеть что у нас есть во первых есть и тренируемые объекты это объекты у которых есть метод ятры который возвращает объект итератора
00:23:21 - 00:24:43
и объект итератором которое есть два метода into its эры и next при этом если мы вызываем итераторы запрашиваем генератор от оператора то он сам себя возвращает так может проверять что нам например предали итератора они коллекцию так это первое но дальше у нас есть еще были самый интересный вопрос классический вопрос на фон скрине индекс вечера задают даже даже хотел идти в яндекс вот пробоваться вот сейчас это имитируем кем эти чем генераторы отличаются от генераторов два генератора оператор коллекции да то есть и тут наш
00:24:03 - 00:25:34
любимый range не подарком прихожане говорим всем и тебя спрашиваем про генераторы объекта [музыка] генераторах у нас получается мы генерируем какую-то последовательность [музыка] iterator он определяет правила перебора последовательности и о допросе он нам подает генераторах тоже есть этот билд который нам по запросу отдает ну то есть это это отдает по запросу да есть есть разница ну ты сказала про давай можем ли мы использовать генератор как итератор да и смотри мы можем форе мы можем использовать только это и траты мы можем
00:24:57 - 00:26:42
только ведра был объект использовать то что по нему можно чтобы по нему можно было бы и тренироваться можно ли ему туда засунуть генератор по моему нет ну по жизни раньше и даже генератор ну нет ясли говорить про генератор коллекции да можно говорить про просто объект тебя есть можно конечно можно отдать раньше раньше какой-то кастомные твои генераторы ведь я пришел генераторы ключей генераторы чего угодно или трактор полна что ты можешь по нему и начинай типизация у тебя и у тебя генераторы он
00:26:00 - 00:27:30
реализует если генератор реализует интерфейс генератор это соответственно можно считать что это это ротару и используйте это как iterator что генератор и мы всегда можем использовать как оператор логично у них же не должна быть какая то эта особенность это же не просто так же все значит мы могли это много могли бы создать какой-нибудь класс в которую там есть next гитары и он там в состоянии хранить и при каждом вызове next его как-то там саного генерировать вместо того чтобы делать еды у меня такого скажу что он ел давайте
00:27:00 - 00:28:31
это было бы сложно но с йодом проще нас ел до может делать еще кое-что можем послать назад можем значение passat b3 мы так не можем делать квадраты нет места в сандомире надо вот вот собственно от разница между некотором ядра там как-то я вообще на весах когда мне такие вопросы задают я говорю что ребята это вопрос не корректный потому что это одна разновидность другого и типа да у нас есть стенд для объекта генератора но ты можешь точно также определить внутри нас антон зачем мы по сути управляем
00:27:54 - 00:29:28
процессом что так что так мы управляем процессе модерации просто более тонко и в кастомном операторе мы можем определить сколько угодно методов которые будут делать вообще вообще все что угодно хоть внизу telegram тебя за свой methods and ice road он это не сам генератор типа дженнер и traper будет возвращаться дженерали трубочку тебя не будь они ну ты исполнишь то есть ты реализуешь интерфейс генератора и это будет должен будет определять я никогда не пробовал этого делать на серфе ческом должна
00:28:58 - 00:30:12
определять но вот я по экспериментировании как раз курс по генераторам а следующим деле стартуем я никогда этого не получилось пошел хорошо хорошо мы разобрались генераторами операторами переходим нашем любимом контекстном меню скажи что ты знаешь про них контекста мент конструкции вы из который под капотом есть два метода например передать контекст какой-то файл который открывается в котором есть можно использовать мед стенд он может выполнять внутри себя соответственно какой-то контекст и после чего
00:29:39 - 00:31:09
они же контекст он автоматизирует нам некоторые моменты например как чтобы не забывать закрыть файл закрывает хорошо принципе я удовлетворён хорошо хорошо хорошо хорошо даже по моему у нас осталось только о.п. давно пора давай-ка ли спрашивает про что дашь что ты вообще знаешь про о по что это за три буквы на которые программисты иногда посылают друг друга это объектно ориентированное программирование пробегал программирование основными концепциями которые являются классы и объекты и стоит она стоит наших
00:30:34 - 00:32:09
любимых это наследование и полиморфизм инкапсуляция продолжает про каждое из этих направлений будет очень интересно послушать особенно про проявление такая ну давай потому что можно класть это тип о котором устройство определенный объект объект и это экземпляр класса то есть но чертеж по которому собирается тот самый ну класс это чертеж котором собирается объект сам класс является объектом кстати в питоне что является объектом хорошо так давай наверное про и наследование для начала наследование это у нас когда мы от
00:31:36 - 00:33:09
основного класса можем на базе основного класс можем создать дочерний класс то есть еще один который будет всегда принимать может себя принимаете нет для свойство родительского класса и также обладает со своими свойствами вот а зачем ну дай же нафига это надо чё нам новый классно создатели не дополнить базовый мы можем использовать базовые где-то в одном месте нам нужно укоротить еще один функционалу чтобы нам не копипастить там несколько с кубой за вам очень много всего по зачем нам заниматься к посту мы
00:32:29 - 00:33:43
просто можем вызвать на это супер который всегда примет место для родительского и дополнить тем что нам нужно хорошо почему мы не можем дополнить базовый класс тем что нам нужно зачем намного создавать но как я уже сказал что мы можем его использовать в одном месте характер и он должен работать по определенному шаблону так ну хорошо прошла где-то да мне просто было интересно услышать твое мнение потому что ну вот я если так рассуждать проблема не вижу я просто написал два метода свой базовый класс ничего не наследуя не
00:33:10 - 00:34:27
плоды положу вот эту ветку тут вопросы безопасности скажем так чтобы у тебя в тех местах где методы которые ты хочешь добавить вот в ненужных местах даже попытки не было их вызвать мы можем от наследоваться и эти два метода добавить тут есть еще один момент это переопределение наших методов ты что-нибудь слышно это хотел сказать ввода выезжать ну допустим у нас опять же и строительстве класть которая ведёт себя определённым образом него есть метод внутри который мы хотим чтобы он себя вел как-то
00:33:48 - 00:35:13
по-другому со теста мы наследуем соберем все что есть в родительском и просто делаем при определении метода издаем сном свои скажем так свое поведение окей юнит для там про слово супер говорила напомни пожалуйста что это такое это я принимаю себя [музыка] все методы свойства родительского класса чтобы нам их никогда простить за черным классе хорошо вот видела ли ты в коде обращение там через супер вот я вот это вот говорю о перечислении до перечисления аргументов нет а я про вот их хочу вывести тебя на заветное слово
00:34:31 - 00:36:20
вот у тебя есть метод который отличается от метода родителя ну не сильно там грубо говоря та же самая логика что и методе родителя плюс там еще какая-нибудь маленькая штучка вот что ты можешь сделать с использованием супер чтобы не переписывать не копипастить у наследники целиком метод родителя ну вы знаете про хил у него все короче метод и не ты миша душ суперпрофи nudist родительского класса вот это одно из проявлений superb ты можешь использовать не только в инете я тебе открою секрет ну да вот ну и собственно что делает супер
00:35:36 - 00:37:09
что он позволяет к нему обратиться к бину к методам класса родителя вот к методу к методу данными туда класс родить хорошо значит давай поговорим с тобой про у тебя теперь есть замечательно возможность выбрать простом будем говорить дальше про имортизм или инкапсуляция неважно безусловно выбираю категорию за какого себе суши денег дают за все за все приедут все закрыто тогда дают день ну давай наверное про полиморфизм проявление форм япония когда у нас например оператор плюс может вести себя по-разному в строках в числах
00:36:28 - 00:38:06
дата стене то разные выдачи когда у нас функция len наш любимая еда которую мы можем использовать на списках строках словарях и у не будет утёнок на разные проявления форм и это тоже собственно полиморфизм так проявляет себя в питоне говорить про классе например на его у нас есть ну там допустим два разных классов у них есть одни и те же мне тогда но они ведут себя по-разному и мы например через цикл податель всего мы можем сделать ну исполнить использовать объекты экземпляры класса и 1 2 и у них ну как
00:37:36 - 00:38:59
бы сделать вывод будет вести себя по-разному это тоже проявление форм ты меньшую до запихать в список объекты разных классов и чтобы не было тогда ну да годится хорошо тут вопрос больше ни меньше а у нас осталось инкапсуляция так но функции рация в питоне у нас разрывается что мы можем скрыть некоторые свойства и методы класса и они будут допустим защищенные или приватными теперь этого класса или внутри дочернего классе чтобы там чинили шаловливые ручки ничего и не накосячили карточные тут этот ответ он на собеседованиях я его
00:38:20 - 00:40:01
тоже всегда принимает зачет когда слышать такое тут я могу сказать что это скорее проявление инкапсуляции самоопределение но такой более широкое что инкапсуляция это по сути наши данные которые мы в которыми мы работаем эта связь между данными и методами классов которые с этими данными работают а уже инкапсуляция это-то ты же можешь не делать допустим приватным ни один из методов при этом все равно у тебя связь будет ну как будут поступать данные в методы все равно каждая из бизнес-логику словно если там что-то
00:39:15 - 00:40:44
пишешь она будет иметь свою маленькую коробочку вот хорошо ты сказал по поводу приватности всякой вот в питоне какие есть модификаторы доступа я их так назову к переменным к методам чем они отличаются зачем они нужны и можно ли если ты прям все супер приватным сделала можно ли как достучаться до поля приватного например нужно на ней нужно хорошо ну давайте какие бывают я одно уже назвал на самом деле ну превратные как его личные и и защищенный превратно у нас мы можем к ним обращаться внутри класса
00:40:01 - 00:41:31
защищенный мы можем обращаться как внутри класса так и внутри из дочернего класса вот если мы наследуем ся а ну публичное мы можем обращаться любого места защищенных у протектор на самом деле так как их отличать вот как я могу посмотреть и сказать что приватный что protected что публичному приватного два нижних подчеркивать переделку защищенного но им публичную просто нет вот по поводу публикование публичного защищенного ты можешь ты можешь конечно использовать его дочерним классе без проблем но там назначения что
00:40:46 - 00:42:14
ты можешь использовать это поле на уровне пакета в рамках пакета пакет тебе что-нибудь говорит но помимо того что пятерочку ходим вот кстати это такие отличного ты смотришь на проект открываешь нам директорию как понять пакета ты не пакет не знает меня twitch но это исключительно на знание вопрос пусть тут либо знаешь либо нет это наличие и нет этого и нет файла ini . парень ну как низ подкину тебе информатор учет и вот если ты сделала себе протектор модификатор то вот он как это сидит его можно считать в рамках пакета это
00:41:30 - 00:43:09
сделано для того чтобы если ты к примеру какую-то библиотеку но и от один из примеров ты там установил какой-то внешней зависимости и потом решила своими шаловливыми руками из своего основного проекта для полезть чтоб чтобы что-то там записать чтобы твои шаловливые руки туда не лазил вот а библиотека чтобы могла сама обращаться в нужных в нужном скорбь и к этому полю окей что еще про а.п. поговорили хорошо вообще мы упустили такую важную горячо любимый мною вещь как декоратор и я считаю это упущение надо устранить
00:42:25 - 00:43:54
скажи пожалуйста не слышала ли требование быть что обычно сразу ходим дадим декоратор но надо же спросить вообще что это декоратор эта функция которая меняет поведение другой функции хорошо меняет и ok ok ok тут еще стоит добавить наверное что исходная функция у нас же не меняется при этом да ну да вот это важно исходная функция является но меняется поведение да и еще обязательно надо сказать что это же один из базовых паттерны проектирования всемирно известная вот такие дела или милые да ну в целом я
00:43:10 - 00:44:49
могу сказать что по основам питона мы прошлись мы можем перейти кодингу чем а можем поспрашивать что-нибудь более серьезное попробовать когда а потом все самый серьезный вопрос хорошо так переходим посылочки ведь тебя даже очень сильно поддерживают в чате и тут много полезной информации что оказывается и недавно уже не обязательно пишут ребята ну вообще давно не обязателен данных нет это в клане пакета я так понял так что почитай потом комментарии обязательно к этому видео что тим давай поджигаем
00:44:07 - 00:45:43
но [музыка] так чтобы большая морально еще был спасибо за стрим даже монетку кину ребят спасибо огромное что сегодня высшим заварить лайки лайки больше ему спасибо за это так как на делать так что монета была на 2 экрана чтобы я вас видео слушал 300 того как ты работы я делаю кстати хорошую мысль спасибо что сказала она наших дорогих зрителей чтобы не было прям белого экрана чтобы нас видели это что пишу рекорды можно зажарить я могу за шарить но зачем чтобы люди видели что мы даже не видят леди люди уже все видят у меня все же у
00:45:07 - 00:47:01
меня все эти мне все все порядке и у меня есть супер может что-то писать и самый классический вопрос давай у нас есть функция мы хотим мы хотим чтобы находиться декоратор чтобы после выполнения этой функции декоратор выводил время за которое прайм-тайм либо daytime вот можно я просто него сверху их прописывать да да давай мы сделаем декоратор здесь мы сделаем функцию покинем дальше мы напишем можно я сразу сделаю вот так вообще не возбраняется я даже опущу что у тебя outer внутри а in 1 метр уже
00:46:08 - 00:48:07
выше это же вообще другой с так нам нужно сделать проверить за сколько убавляется функция [музыка] ну например здесь сделаем что если я не ошибаюсь называем нам здесь мы будем летерм [музыка] корма коньках и сюда мы грохнем позовут как и вещь здесь здесь здесь мы будем рыцарей давайте оставим как что что что не дорогу тебя смутила дай там нет времени за который я выполнил то есть [музыка] если я не ошибаюсь по моему можно сразу через принтер и там например такое мы . нам [музыка] [музыка] канал просто строкой
00:47:39 - 00:50:12
мне [музыка] объект работа и сколько нам нужно измерить за сколько выполнится функция фанк в этом случае [музыка] на самом деле вот этот принт я бы наверное вообще перенесла куда-нибудь ради стоит тормози тормози пожалуйста перестань волноваться во-первых да ты сейчас вот начинаешь совершать ошибку очень большую и которая похоронила ни одного кандидата на собеса когда они начинали писать под перестанет светиться вот если тебе задают вопрос да по поводу того да ты должна мысленно начать даже не мысленно вслух начинаешь рассуждать а
00:49:36 - 00:51:35
вот собственно что у тебя здесь написано и тебя же выводит на то что есть какая-то неточность и ты можешь сейчас пошагово попробовать на основании комментарии артёма попробовать найти эту ошибку ну я поняла я бы поменяла местами фанк и print мысль офигенно я предлагаю это сделать потому вот так и я была как просто запихнула вот сюда вот так так смотри у тебя смотри что у нас здесь получается не возвращает функция не возвращает результат отсюда до не возвращается но тебя возвращается время работы на время
00:50:46 - 00:52:30
работы достаточно ты хорошо написала с принтом давай будем печатать на экран это время мы же не хотим его возвращать давай печатать наверно просто сделал три ok смотри и ну здесь бы вот где фанк перед фанк объявила там допустим вы так и как раз таки рекордного ryterna резво вот видишь мне надо суетиться надо просто посмотреть на логику своего кода и ты как только ты написала ритер nufan корр кск works ты вот себя себе вот эту свинюшку маленькую подложила потому что пришлось потом соображать а как сделать так чтобы и время посчитал
00:51:46 - 00:53:30
оси результат вернулся видишь молодец сообразил что нужно в переменную записать хорошо круто действительно она будет работать но и давай задекорируем пожалуйста функцию фу с помощью синтаксического сахара сначала а потом за декорирует так чтобы но без использования синтаксического сахара и ну да это очевидно а без использования собачки к без использования собачьим использование собачки если мне тоже править не знает то это у нас [музыка] давай просто возьмем например шланг вот так чтобы у нас ничего не поломалось
00:52:42 - 00:54:29
мы сделаем объект функции если мне лучше взять файле что мы по-моему в in our как раз ты прокидываем вот этот фанк смотри то есть что у тебя результат выполнения 14 строчки какой что у тебя за тип будет записан в переменную фанк один объект функции нет ни объекта функцию у тебя кое-что другое будет записывающего сейчас давай вот не смотреть на остальные строчки вот если бы я тебе просто показал 14-ю строчку искал даша объясни мне что здесь происходит вот что происходит в 14 строке я объявила переменную в которой пожелал
00:53:42 - 00:55:18
всем вызвало функцию чувствуешь разницу между положила функцию и вызвало функцию или что что сейчас 4 строке то положил внутрь фанк один вызов функции который у нас стоит заглушкой и что туда запишется ничего ну наш on туда записку да вот мы же не хотим нам туда записывать потому что ну ты вот собралось сейчас выбор передавать нам зачем когда мы делаем вот так ну допустим хорошо довершить свое дело которое же хотела ну и если говорю что мне не отшибает память то по моему там можно в принципе даже без объявления
00:54:40 - 00:56:26
переменных наверное можно но типа можно выдать снести сделать вот так и поставить вот так и вот так какую логику ты преследовала когда это писал я не знаю не надо я врач нет ну я понимаю расслабьтесь тебя все поддерживают вообще ты правда клёво проходишь по id по нашему этому брин хотел сказать это подумаю не дай бог с в общем не надо играть в угадайку это тоже еще один враг я помню вот надо посмот еще раз вернемся к определению декораторами ты сама сказала что декоратор эта функция которая принимает
00:55:37 - 00:57:06
другую функцию возвращает функцию результате своей работы вот учит их 14 строчки что-то непохоже что это ты там функцию передается другую функцию в го да и грязи на отлично но теперь надо откуда-то записать это на воздухе повисло да да ну и соответственно у тебя фанк запишется вот эта штука хорошо а в чем разница вот скажи пожалуйста ты если бы тебе предложили задекорировать функцию ты как бы определила декорировать тебе ее синтаксическим сахаром или вот таким классическим методом ну чем в чем разница
00:56:27 - 00:58:09
так я даже не знаю как тебе вот объяснить то есть я это понимаю я не знаю как это объяснить короче [музыка] внутри когда у нас синтаксический сахар мы просто оборачиваем другую функцию и мы меняем его поведение то есть мы не можем эту функцию потом использовать где-то другом месте потому что она будет задекорируем ему то есть синтаксическим сахаром а когда например мы сделали вот как сейчас да то есть объявили переменную у нас сама функция фон они не поменялось мы можем использовать я в другом месте да ну она поэтому имени
00:57:27 - 00:58:52
доступно по-прежнему в первозданном виде до все все так хорошо чем я передаю тебе слово да давай решим какой-нибудь простую задачку очень поступка ваши задачи просто супер просто вид у нас есть вот такой вот у нас есть массив нас у нас есть таргет 9 нам нужно [музыка] вернуть массива мы считаем что ответ всегда есть и он всегда один нам нужно вернуть массив из 2 бог индексов элементы яндекс 2 индексов по которым располагается элементы сумма которых дает нам таргет то есть в этом случае у нас 2 + 7 это
00:58:13 - 01:00:02
9 соответственно ответ нас будет 01 если есть вопросы говорю со давай да я понимаю я просто думал как это сделать если честно почему у тебя 12 tessuto 62 отдача простите простите когда нумерацию считаешь с одного потом вспоминаешь такое случается такое случается ну я бы наверное попробовала сделать через цикл for методом перебора к нам пришел давай попробуем забыл спросить его дело где например склада было бы до соответственно кисло сейчас я попробую дальше просто чтобы подумать как это лучше сделать
00:59:11 - 01:00:50
как давай наверное там то там давай досок сделаем так вот [музыка] как это лучше сделать и [музыка] допустим через смотри если ты в такой себе используешь цикл for ты себя обрекаешь на то что ты берёшь мнение перебора здорово ты просто не знаешь вот у тебя нету у тебя задачи вид вернуть индекс на два индекса когда ты вот используешь for dell и нам с вот именно в таком виде то ты обрекаешь себя на то что когда то достаешь очередное элементы не знаешь его индекс да я об этом тоже подумал как альтернатива рога есть
01:00:53 - 01:02:46
завести счетчик например на можно конечно через яндекс типа все это сделать ну в этот функция индекс позиции либо завестись счетчик где я мы будем как раз таки на тебя считать какая позиция вот давай поговорим с тобой словами возьмем девятнадцатую строчку пример который написал артем 27 1115 вот из чисто человеческой точки зрения решая эту задачу вот как ты вот своим правилам перебора как ты будешь ее решать вот прям про говорит что ты тот самый компьютер который решает эту задачу тебя есть голове р.г.
01:02:27 - 01:03:50
алгоритм который ты сделала через перебор и вот с чего ты начнешь начну с первой позиции соответственно я пойду посмотрю мне нужно сравнить эту позицию на же может быть такая ситуация что допустим у нас число которое лежит в массиве но уже равно 9 правильно то есть нам нужно сравнить тут скорее чем условию задачи у нас может число таргет быть равно тому который мы 1 атом может быть 90 например 0 может быть отрицательные то можете там -2 и один из нас то есть два числа всегда ты со мной не может сюда два числа 2 раза два
01:03:16 - 01:04:42
разных индекса дошло до это на алгоритмы то у нас я забыл как называется алгоритм когда ты берешь 1 позиций потом складывающаяся второе чтобы получить определенное число если у нас падает у тебя будет сильных сам смотри давай не будем усложнять вот вернемся к тому что я говорю что ты посмотри на вот этот массив вот давай врага продавай проговаривать вместе вот ты взяла число 11 что ты делаешь дальше я должна его сложиться следующим числом хорошо сложилось и смогу сравнимыми не вышло господин дальше что делаешь
01:04:05 - 01:05:32
какие-то затем ты собираешься идею вот таким вот образом да ну да если у нас допустим двойка будет вот здесь и у тебя получится ответ вот такой вот как пример 3 но опять же с человеческой точки зрения вот взяла т11 дальше с чем будешь задавать первое но получается нулевой индекс первым потом если не сложилось со следующим как со следующим постом стоп 31 сейчас я 11111 [музыка] складываясь рассылались беру двойку следующего складываю там я просто на обратный порядок с 11 надо делать как ты думаешь
01:04:52 - 01:06:38
да нет потому что наше первое проверили сила математики ненавижу два ноутбука 15 с не срослось 22 ксерокс срослось хорошо собственно говоря ты сейчас проговорила полностью решение задачи но теперь нам нужно от очень и но и теперь нам нужно вот перевести это в код питона сложно я правда у меня с этим дикий супер давай воспользуемся всеми твоими прекрасными теоретическими знаниями и раздавим сообщаю эту задачу вот алгоритм ты выдумала хороший а провод так сказать значит ты правильно говоришь что можно
01:06:03 - 01:07:53
использовать цикл for ты правильно сказала что нам нужен какой-то счетчик позиции давай так сколько счетчиков позиции во первых нам потребуются вот в твоем алгоритмы снасти счетчиков победителя вот ты когда будешь складывать числа ты же будешь говорить возьми допустим вот это число и вот это число на понятно вот сколько перемена минимум на два не mini-mba 22 хорошая больше нам не надо значит нам нужно сделать вот эту вот вот этот перебор значит который мне подсказывает что у нас наверное даже будет цикл вложенный
01:07:02 - 01:08:36
потому что мы по двум счетчиком оперировали сюда вот если посмотреть на вот эту историю и заменить ее так чтобы мы контролировали номер позиции элемента чтобы ты могла предложить я поняла что хочет делать его влажным нет давай сейчас пока не проложены сейчас про то что вот просто напиши цикл который будет оперироваться по элементам но без вот этого фарфор гел ином то есть чтобы у тебя тут был счетчик какой-то чтоб ты обращалась к чтобы была смесь радио corinth и вот чтобы вот так вот было и чтобы у тебя здесь определялась какой-то
01:07:57 - 01:09:45
и каким-то образом операция шла по и print точнее немножко неточно вот так чтобы было чтобы мы могли обращаться к элементу вот таким вот образом это тебе подсказку смотрела счетчики не получается давай наверное так но я бы наверно вот здесь вот нам дальше увеличивать же счетчиками тоже нужно нужно соответственно тебя цикл будет пусть пусть можно давай давай дальше кстати да сойдет я бы ни я понимаю сторон ты идешь продолжай [музыка] так же ну вот вот половину ты решила скажу так вот ты написала сейчас обхода теперь
01:08:57 - 01:10:47
тебе нужно второй цикл написать который будет обходить уже начиная с вот этого элемента эти машины внутри еще один нужно еще дрель который обойдет оставшиеся элементы для просто не знаю но зато хоть и вот так же ford цикл я не вижу проблем языком можно и по большому счету здесь тогда получается собой сейчас нам же нужно получается проверить элемент который у нас на первой позиции то есть сразу 2 на уже первое сперва мне нужно не нужно важную роль и на вот когда можем сделать [музыка] на мне кажется что за чего то не хватает
01:10:16 - 01:12:17
продолжай продолжай мы тебе подскажем как ну то есть мы можем взять например [музыка] я не знаю как это реализовать правду опять взять ну смотри ты сказала что вот здесь вот у тебя счетчик будет увеличиваться на единицу и потом ты пойдешь на цикла for еще один тут на самом деле я бы написал условия увеличивания вот этого счетчика она говорит что мы будем его инкрементировать только в случае если мы уже полностью осуществили проход согласно то есть мы сравнили с одиннадцатью все что после него ну и
01:11:41 - 01:13:27
смысле про суммировались и сравнили вот то есть это условие для увеличения соответственно вот этот центр вполне логично перенести вот куда нибудь конец более того ну мне просто это глазами мозолит вот я пытался тебя вывести на то что у нас здесь мы не ел будем получать а какой-то некой и которая мы будем получать из нашего рынка который завязан на длину нашего на мтс скажи пожалуйста вот это тебе для осознания склонен ты поняла что это понимаешь вот прям мы завязываем ся на длину нашего на мтс все с помощью этого
01:12:53 - 01:14:32
и мы можем обращаться к элементам нашего списка и дальше мы теперь можем написать какой-то внутренний наш цикл начиная со второго элемента но как ты сказал у нас вот есть проблема что нам как-то надо завязаться на то чтобы тут было со 2 го потом там с 3 там и так далее пускай это будет переменная же и это же она будет как-то зависеть от и давай подумаем что ты можешь сюда forge и что то есть как нам зарисовывать вот это значение что ты думаешь вот у тебя при первом проходе у тебя и пока еще равно нулю то есть ты берешь 11 и ты
01:13:45 - 01:15:36
гоняешь внутренний цикл начиная с первой позиции то есть у тебя же должно быть равно единице во второй проход цикла for когда у тебя не переместилось на двойку у тебя же становится на 15 то есть у тебя индекс становится двойкой вот какая зависимость между и и жив так [музыка] я понимаю что это как это решать не я не я не могу реализовать просто 1 мы можем сделать два вложены списка правильно уже всех возложенных цикла и перебрать все пары всевозможные пары элементов правильно на никаких проблем давайте
01:14:39 - 01:16:11
сделаем как это реализовать все пары вложены элемент и дальше тебе нужно просто поставить что один индекс больше другому и осталось вот вот столечко я понимаю оперируем мы уже проектировались по одному давай проигнорируем ся по второму просто просто про это писали forge не просто играешь дай по индексу смысле опять range да и нам с а или как лев мс-1 я не поняла то же самое а потом а потом соответственно нам нужно сложить айс j сначала проверили они не равны то есть у нас же мы не а из g складываем потому
01:15:48 - 01:17:36
что но это просто номера позиции мы складываем элементы списке и поскольку вот артем тебе сказал что мы не должны складывать эти числа которые где и ежи равны потому что 11 11 мы не будем складывать согласно давай напишем эту проверку если через если у нас не равно [музыка] рамы получается мы не должны сложить элементы то есть ну допустим в лес нам же нужно еще проверку делать чтобы это была равна 9 то есть также ту мне кажется вообще сразу можешь это сделать прям вот здесь же прям в тридцать третьей строке .
01:17:20 - 01:19:02
складываем оливин давай мы складываем и [музыка] нам нужно проверить не стану нас равно 9 еще один и вы абсолютно не ограничены в количестве красиво еще страж работодателю неважно красивый кот или нет зарабатывала деньги как это сделать красиво мне было вот эту себя машинка красненькая проверки когда мы сделаем это некрасиво мы сразу увидим места в которых мы можем простить надо и для некрасиво есть рефакторинг карпет учетом можем делать который правильно ну да если если мы функцию завернем то можно литературы
01:18:28 - 01:20:07
дней я не вижу проблемы ты напиши ритер окей это все равно скорее упорно реза представим что у нас это все функцию завернуто хорошо хорошо мы написали мы написали алгоритм он работает поговорим про комплект большое насколько важен я скажу то есть у нас но у нас практически на каждой операции мы делаем там проверку то есть это о от если я не ошибаюсь логарифм от n в квадрате из по-моему я часто не помню мощно расскажешь посчитала откуда был бригад давай уже не часть я просто не помню да надо помнить
01:20:14 - 01:22:07
подожди стой давай рассуждать опять де по-деревенски вот ты просто должна посчитать количество операций в зависимости от количества элементов которые типа данный на вход количество элементов которые тебе подано на вход равно n да то есть она может быть я любым вот посмотри пожалуйста на алгоритм и скажи вот сколько вот операции нам нужно сделать по сути вопрос здесь если упрощать сколько операции ты должна выполнить чтобы перебрать вот таким образом с вложенным циклом все элементы вот давай мы долго
01:21:46 - 01:23:08
отличный отличный ответ да хорошо значит вот давай сначала простой цикл for рассмотрим обычный от от списка из n элементов сколько тебе нужно сделать операции чтобы перебрать все n элементов просто перебрать так еще раз сколько нажмете брать столько сколько у нас лежит списке вот сколько у тебя лежит н сколько тебя перри ну н-н-но из правильно хорошо как только у тебя на каждое на каждую твою итерацию еще один вложенный вот хорошо смотри еще один вложенный цикл да и там сложность как вложено ну та же самый салют наверно то есть у
01:22:26 - 01:24:06
тебя внешнего и внутреннего н и сколько такому через одну часть пока заканчивается все все да становись у тебя н на внешнем и н на внутреннем у тебя все ты уже сказал что тебе и внутри надо n 1 перебрать и снаружи in 1 перебрать как тебе теперь посчитать сложности алгоритмов блестяще откуда алгоритм вырос у тебя это вот ну потому что я дальше пошла счета не надо считать дальше ты вот все вот эти вот операции сложения и прочая хрень это все опускается ты считаешь только самые тяжелые да у тебя н квадрат получился
01:23:19 - 01:24:43
петя сложности агар-агар от базового ты просто читать и ощущаешь то есть тебя есть один цикл он идет по 1 2 3 правильно а если я вложенный цикл кто ты для каждого еще по одному 1 идешь еще раз проходишь db2 массивы поэтому как ты видишь у тебя получается квадрат буквально алгоритм это уже про деревья войны research хорошо мы знаем мы разобрались с тем complexity большое достижение angry давай более ученые вопросы далее расскажи ли меня знаешь ли ты какие-нибудь фигурки да я работала научила джангл но там
01:24:03 - 01:26:00
правда не очень такой курс был одно чуть-чуть пощупал внутри еще был быстро пускай сейчас вот коля показал мне остапе вот очень похожи на самом деле на джангл но она тащит учить пользовалась ли ты его рынке джонни прости юность что я вас давно проходила там направо такой себя за хрень с помощью которых ты записывала данную базу а нет мы не писали там не было база данных по моему [музыка] я правда не помню вам нет там они писали мы я помню создали это баз данных на чтобы писать не и мы не писали ты
01:25:12 - 01:26:58
помнишь вчера эти fast api модели показывал ты сказала что то же самое было в django похоже ладно я пытаюсь смотреть что там просто все правильно все едины самом деле о чем ты права и рынке начал что-то говорить нет праздник собственно всякие префетчер или киселев 3 лет но если не вариант лучше про esquire задать вопросы ты меня любишь не ночью я это я прохожу обучение поиске или еще давай просто поговорим вопросы происходит давай просто поговорим про все что мы не затронули расскажи нам про нравиться и не
01:26:13 - 01:28:03
нравиться веселая штука если честно удобно я могу так сказать удобно и без данных с всякими прикольными штуками с фильтрацией с соединениями сдвоенными которые только начала щупать разные таблицы на объединение вот это соединения не знаю много чего там интересного я правда так начался с этих баз данных грамм конкретность не минут работать пришло пришел фунтов ничего работ что у нас есть еще у нас есть огромный список самых разных и очень интересно вопросов хорошо знаешь ли ты что такое транзакции базах
01:27:20 - 01:28:56
данных пока нет не дошла ищем знаешь ли ты что такое тоже нет это дальше запросы на группировкой по моему это когда ты в общем несколько делаешь грубой в общем-то между хорошо шел кроме баз данных и база не он мы забыли про наш самый любимый вопрос и положим ты открываешь браузеру убиваешь туда google.com нажимаешь enter что дальше происходит загрузка страниц но отправляется запрос на сервер у нас сервера даёт нам информацию которую мы хотим видеть хорошо подожди хорошо как наш браузер понимает
01:28:14 - 01:30:13
на какой сервер отправить запрос [музыка] кросс продажи есть адрес вот это уже по которому нас расположены что-то ну какая-то определенная информация соответственно мы переходим по данному адресу с домена он привязан другом сервер привязаны только к пи адрес как мы домен превращаем в адрес закон с т.н. [музыка] теперь я только-только начинаем что это вот поле мышь это будем трогать и я надеюсь что я бы мог помочь трогать не будем курьеру мама не будет тогда говорить про всякие garbage collector
01:29:31 - 01:31:08
игил и thread'ы осинки попробуй вот посмотрим потому что я я даже из меня душу вытрясла насчёт всяких вопросов по потокам ну вот по сможешь посмотреть что она выяснила покажет где без давай говорим поговорим что такое гелы глобальный блокировка интерпретатор который следит за тем чтобы у нас в один момент времени работу только один поток идет классно зачем он нам нужно чтобы у нас не было проблем с памятью типа вот эти потоки которые борются собственно заповедь процесса чтобы работать что у нас него вот этот как ты
01:30:50 - 01:32:22
станешь про что мы это называется эффект гонок бесконечно состоянии банки рожком 3d 3d делает ли получается это бред и бесполезным в питоне чего мы можем было использовать 3d в питоне и мишон можем использовать потоки для а я bound задач прошел что такое и bound задачу input об удаче легковесные которые например ну там запрос в базу вот где у нас выделяется падал вашему процессу для определенной память и чтобы вот этот час не просто мы можем вот этих легковесные задачи разбить ее типа не могут ходить базу
01:31:40 - 01:33:40
например ждать от котлета покажи ты ждешь ответа от базы в этот момент может выполняться другая задача легковесно есть у нас еще серега он задачи которые там выполняют сложные алгоритмические какие-то вычисления в общем как и такая история и где нужно будет полностью выделенная память под процедур выделенной памяти поток процессом а почему у нас не блокируют а yoba он задачу потому что у нас есть асинхронность полность на таком уровне [музыка] ну спасибо вам уровне на уровне кода точно съесть модулем
01:32:51 - 01:34:25
мило ты нам в чатик острова ну мы можем к краске мы можем использовать вот эту вот а синхрон ку-да то есть [музыка] какой-то мосинка ли он не следуешь валв и бесов силою если только потоки и все положим и мы действительно можем использовать потоки для ее bound задач но не может быть использовать для секрет задач прошел прошел что мы можем использовать для считаю банк задач и не знаю правда потоки и потоки они в любом случае есть как их super bowl задачах то есть ну просто там как я понимаю это намного
01:33:51 - 01:35:30
больше занимает ну память то есть патонг это же у нас что это более легковесный какое-то по сравнению с чем сравнить уж процессом кокарда стиви проекта и задав вопрос сейчас на самая ну вот типо если сибиу вам задать что у нас получается процесса выполняет вот эту вот [музыка] хорошо не делится на поток и берет полностью память выделенную процессу процессором компьютера вот так я вот это понимаю как я поняла у тебя чем потоки от процессов отличаются ты говоришь про легковесность вообще вот что такое процесс что такое
01:34:55 - 01:36:35
поток вот как бы ты это объяснило процесс у нас компьютер выделяет под процесс то есть какая-то программа который что-то делает да то есть и нас компьютеру выделяют определенный участок памяти там определенное количество этой памяти под процесс то есть там знаю ну возьмем там не знает 100 мегабайт вот а поток он более легковесные и они внутри непосредственно процессов и они занимают меньше памяти то есть там допустим мы можем поделить эту задачу там на вот как раз запросы в базу например да которые будут
01:35:45 - 01:37:03
ходить и проверять и нам не нужно все 100 мегабайт процесс нам нужно образно 10 вот мы можем нарезать на потолще соответственно будет ходить работать вот я вот так руки в чем главное пожалуй отличие процесса потока с точки зрения доступа к памяти общий процент память компьютера потом память процесса блин неплохо сказано кстати ну да ты это про ядра совсем ничего не говоришь за деле мы просто тут прыгаем слюни на уровень кажется до нас и не операционной системы как она это видит у нас есть уровень питона питон немножко из-за гила
01:36:26 - 01:38:13
питон немножко это по-другому видят процессы и потоки и есть самом деле и железки у нас есть процессы это просто отдельные процессы и потоки а не шарят память одного процесса все средства данном удобно используем потоки для того чтобы запускать себе любом задачки если бы у нас не было гила соответственно в питании моей для себя bound задачи используем потоки потому что потоков у каждого свой отдельный процесс отдельные у вас памяти и далеки от ошо еще у нас есть асинхронность зачем он зачем она нам нужна
01:37:23 - 01:39:03
новость хронг это у нас когда мы можем запустить какой-то процесс [музыка] параллельно и параллельно ему будет выполняться еще какой-то то есть они будут работать независимо друг от друга не дожидаясь пока не закончит ну то есть завершится 1 потом сделать там это сделал а после его завершения сделал бы вот а синхрон к на работу в параллели там запустил а пока там и простраивать стричь это ждет 3d пускай можешь допустить следующие ещё ещё ещё и они работают из-за окну завершается вне зависимости друг от
01:38:16 - 01:39:39
друга хорошо асинхронная и синхронностью параллельность это как раз разные вещи параллельности тогда у тебя есть два ядра есть этого потока два процесса тебя там потом этим просто дмитрия второй процесс на втором ядре и они правильно работ асинхронности лет когда мы можем использовать одно ядро но при этом по очереди доставить то один процесс стало более понятно есть планировщик которые дублируют задачами чтобы все успели выполнить еще у нас есть асинхронность в питоне что она собственно из себя представляет
01:38:58 - 01:40:35
я не знаю я тебе отвечу там у всех кадырова мне код да он пришел посмотреть ничего не изменилось в комнате и начал орать чтобы его назад хорошо но до сих ровность на самом деле фирона и спиралью есть потоки у нас есть осинка я считаю он тоже применяется для любого задач но при этом у нас оно более эффективно этого этих целей возможно я просто еще не работу говорю да то есть я пока это все так а теоретически все это посмотрел потрогала вот я да к победному коллю неделю с этими потоками лицевой 3 мои видосы на youtube про
01:40:06 - 01:41:46
синхрон ку него еще не было прямо на такого подробного довольного нас в проекте который мы начали там но есть асинхронности я надеюсь что я прям как у ночью потрогала всего во все в собственности фон из тебя помогает работать быстро и эффективно тебе нужно сделать это просто параллельно ты делаешь начинаешь допрос ставишь на паузу эту трассу и когда данный привод в ответ да планировщик задач и возобновляет работу коли принес попугая но он тамара и вы начнете мы решили всех своих домашних привести
01:41:02 - 01:42:40
я могу таксист рубкой хорошо-хорошо появится мы рассмотрели все проблемы да мне тоже так кажется ну это что переходим к фидбэк у тебя не 2 начинай я после тебя начинать начинать ну наверное первое что то у меня все в одну в одну все про дном надо знать структура данных который у нас базовый питание и как они работают и зачем нам надо применять уж то дикции мы применяем очень часто и очень полезны 2 ну надо уметь решать какие-то базовые задачки вот сейчас они должны решаться очень-очень но я про это говорила что есть загвоздка
01:41:52 - 01:43:49
покраски с решением задачи гораздо больше больше больше времени уделять прекрасно понимали и прочее базы ты учишь в целом хорошо ну там про kollection с парогенераторы итераторы мальчик методы и прочие до их надо повторять повторять вот собственно у меня тут попугаи по ноутбуку бегал и пробовал укусить клавиши на клавиатуре в общем это не сказки то что попугая пытаются это делать так что фидбэк от меня но однозначно надо дашь с задачами хорошо с декораторами плохова tinka задачами которые касаются
01:43:02 - 01:44:33
алгоритмического плана очень простая была задача которую артем дал и их на отколоть прям как орехи тут уже в чате писали про это то что легко ты год ворс обязательно вот ты садишься каждый день чтобы у тебя было хотя бы попытка решить какую нибудь задачу еще перед коде там можно проплатить значит годовую подписку она что-то в районе 150 долларов что ли стоит при нынешнем курсе и возможности это сделать если она есть это стоящая вложение там решение задач классических что еще нужно знать стыдно не знать что такое hash map и как
01:44:08 - 01:45:41
она работает это тоже должно отлетать от зубов значит про базы данных спасибо большой пират я тоже тебя люблю значит про база данных какие типы бывают там чем друг от друга отличаются и конечно же с келли это тоже это тоже нужно нужно знать господи ну просто неугомонный вот поэтому ну что сделаем на эту пор вышлю тебе материалов что почитать и посмотреть по основной вот когда мы смотрели основную теоретическую часть здесь тебя все хорошо то есть и менеджер контекста с операторами ты немного плаваешь эту тему
01:44:55 - 01:46:30
я думаю тоже нужно будет повторить включат того зачем нужны именно итераторы что такое оперируем объекты четко провести между ними границу вот по поводу всяких конкурентных штук это скорее такая тема со звездочкой и я там рекомендовал тебе ее изучать потому что потому что тоже могут спросить собесе я конечно никто не ждет глубокого понимания потоков процессов на если будешь это знать это такой существенный ну это прям вот у меня бы вызвало такой некий восторг если пришел человек и я смотрю такой ну нифига себе он даже вот
01:45:44 - 01:47:03
это знает но это все бессмысленно без опыта решения задач простых потому что если ты не решаешь простую задачу это офигенно знаешься в теории я думаю что тяжело будет попасть на работу вообще в принципе если тебе скажем так наверняка кто-то вообще котик не просит но у меня бы это вызвало вопросы то что там человек хорошо говорит на при этом стандартных каких-то вещей он не решает и на это тоже нужно обратить внимание поэтому делаю упор на задачки в том числе но не забывай про вот это синхронное обучение
01:46:25 - 01:47:46
что понемногу всего по чуть-чуть не надо упарываться в какую-то одну тему и думать что сейчас я там вот буду целый день сидеть и упарываться в docker и и жизнь моя стали прекрасным но она не станет и просто начнешь забил забывайте вещи которые более фундаментальные я не просто так отправляю всех в том числе и то мы тебя и зрителей на свой репозитории трежерис сокровищница там лежат где ни от кого не скрываю этот список вопросов которые часто задают вот ты берешь и прорабатывает это там и похож на поесть и я уже настолько часто
01:47:06 - 01:48:15
это как бы много видел и где спрашиваю ты сам спрашивал что вот грока им алгоритмы пятая глава где все это написано вот а в целом да ребят даже очень переживала не знаю ты зря переживала ты гораздо лучше выступила чем ты сама про себя думаешь вот надеюсь что тебя это морально поддержит поэтому сейчас не сбавляй обороты ты вот сказала что там 8 месяцев занимаешься я думаю что все таки активно ты занимаешься меньше прям чтобы вот последние месяца три я вижу что ты прям фигачишь поэтому давай не сбавлять
01:47:41 - 01:49:09
темп и я думаю что все будет хорошо ну 8 месяцев это давай возьмем с тобой прошлый год когда мы начали с тобой занимается мы тоже сколько там есть четыре занимались прямо порно вот и сейчас считая вот три месяца ну вот большими жирными вот это не надо делать большие перерывы нужна постоянная какая-то практика и что-то что тебя будет качать давай расскажи как тебе вообще по ощущениям от прошедшего мероприятия но вы я правда очень нервничал и даже сейчас не работаю блины на самом деле очень крутой опыт
01:48:24 - 01:49:41
вот так вот на я понимаю что я не вижу там это ваш крем и нужно всего и двоих людей перед собой но даже понимание того что на заднем фоне кто-то где-то там смотрится откомментирует это прям очень сильно напрягает и ну ты сильно теряешься понятное дело что мне кажется реальные собес мне теперь вообще в принципе не страшны будут расти там но бы надо бы закинуть и сидеть типа ну давайте ребят я готова ко всему знаешь ну вот это очень крутой опыт плане поддержки помощи объяснений каких-то ребят это вообще прям это очень
01:49:04 - 01:50:23
ценно учить от старших коллег опытных коллег да там какие-то комментарии и замечания это тоже прям это очень суток для меня а ну как бы коля знает был основным что мне нужно было сделать признание понять в каком направлении мне двигаться где у меня есть пробелы что нужно подтянуть что мне нужно вообще изучить доучить там ну и все в этом роде да это действительно самая большая аж но проблема это то что у меня проблемы с решением задач и действительно даю понимаю что у и алим непостоянство в эту гарь и что нужна карта веенс единицы
01:49:44 - 01:51:09
делать вот как бы теперь это еще больше меня мотивирует на то что действительно я буду сидеть и мне кажется еще больше заниматься за уделять этому еще больше нигде не знаю правда то есть настолько вот сейчас это [музыка] мотивировало что у меня вот хочется на швабра за месяц через два-три пройти ещё один собес и где я буду просто потом в конце так посидеть типа иначе слушай хорошо метла да но хорошей помощи считать давай с тобой за к метим стена это что пройдет там n количество времени ты скажешь ребята давайте просто бесите
01:50:25 - 01:51:51
меня еще раз и тут еще один наш общий товарищ я тут с андреем когда общался с бузунова 5 но то что мы придем в троём тебя собеседовать вот это чувак который ребята у меня среди знакомых есть человек который он уже на грани попадания я не хочу сглазить но скажу так он на грани попадания куда-нибудь в google amazon или что-нибудь из этой серии очень скилловый программист один из моих наставников и он согласился тоже участвовать в этих мероприятиях так что возможно мы будем не только джунов собеседовать но еще и проводить такие
01:51:08 - 01:52:37
открытые собеседования нами до 1 сеньора и на всякие такие вот штуки вот ну и мне до него еще далековато все все возможно даже поэтому главное не сбавлять обороты что друзья тогда предлагаю закруглять нашу трансляцию всем кто был с нами спасибо большое что смотрели спасибо за ваши донатики будет много нового материала в планах добиться уже видео по конкурентному выполнению перейти на видео по синхрон к пай тесты все это скажем так в пути я тут занимаюсь документальными вопросами они у меня разрешаются поэтому стало больше времени
01:51:56 - 01:53:12
на канал так что мы скоро вернемся с вами был николай свиридов с пиратом который тут творит всякое непотребство даша и артем до новых встреч ребята всем пока
01:52:34 - 01:53:08