Подготовка к собеседованию на PHP 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 лета это публичное собеседование один из наших форматов где мы в таком вот учебному условном варианте встречаемся вместе с экспертом который задает вопросы и с кандидатом либо начинающим либо а разработчикам уровня не дал вот таким вот образом общаемся вам заодно показываем каким образом могут
00:00:01 - 00:01:12
проходить собеседование какие вопросы на них могут звучать до кандидаты для экспортных конечно есть до этого своя определенная выгоду чтобы встретиться на целом это просто веселый формат который а очень интересно слушать на фоне пока вы пьете чай очи к этим пятничным вечером а мышь не только чулочек но тут уже сами разбирайтесь вот но и сегодня я приветствую нашего эксперта это николай марков коль привет а и с нами ефим чащин который будет сегодня отвечать на всякие разные вопросы груза всем привет и
00:00:37 - 00:01:52
значит что я как раз и будет соответственно сегодня план у нас есть чек на youtube вы можете там общаться задавать друг другу вопросы может быть параллельна отвечать на те вопросы которые поле были задавать и филу либо просто дискутировать на какие-то определенные темы окончен тем временем будет как раз задавать свои вопросы и получать ответы и все вот в таком вот духе одно для начала по для тех кто не тебя не знаем давай скажем немножко причина это естественно никто не сделает привет привет всем еще раз я работаю в
00:01:16 - 00:02:34
компании которое называется line тысяч групп вот по сути работу я на позиции принципу архитект то есть я чувак который приходит и собирает разные архитектуры обычно аналитические когда-то у ребят есть какие то данные они держат они хотят понять как им выстроить структуру свое для того чтобы эти данные процессе вот соответственно такими вещами занимаюсь собственно на протяжении истории занимался там всем начиная от программирования тоже сайтиков на джанки и таких вещей заканчивая уже написанием и
00:01:55 - 00:03:20
проектированием вот таких компонентов крупных систем вот как то так лично но и теперь я думаю что можно переходить к фильму который как раз сейчас расскажет про себя ну а зачем я удаляюсь как раз на фоновый режим и дальше вашу беседу уже идет по этому принципу который конь сам себя в голове пока что построил спасибо так но в общем в этническую плюсую не сразу же у меня инженерное образование я у чувственность строителя и даже успел поработать какое-то время строительным но потом меня скан тела одна российская
00:02:37 - 00:04:15
нефтяная компания и я ушел в что называется проджект менеджмент там это скорее называлась в плане к инжиниринга то есть мы занимались планированием оценка рисков такая в общем аналитическая работа на большом очень даже пскова большом заводе в россии на строительстве очень большого завода в россии но в какой-то момент в общем опять у любой кто работает проджект менеджмент понимаешь что это такая штука которая сейчас уже скорее навык нежели чем какая-то долгосрочно профессиям в общем решил как-то потихонечку
00:03:27 - 00:05:01
куда-нибудь перелиться вот что такое более долговечный что мне подходило бы ближе по душе ну как то почему ушел войти за эти воды ну да суша даже вот не могу сказать что там как то влюбился все то эти многие не могу это скорее было что-то типа хобби знаешь только и такое плавно перейти пересекся уже в необходимость работают но сейчас через обучение ну вот как-то так смотри соблюдал приличия скажу что мы с тобой модель я думаю что будет того что в реальном собеседование спрашивать меня о какой формат собеседование он чуть-чуть он
00:04:15 - 00:06:00
просто настолько для меня уникальным я ваша смотрю и думаю это же просто другой опыт совершенно ну в плане собеседования когда я собирался в прошлого чтобы ты понимал я собирался 4 месяца и финальное собеседование проходила в двух сотнях тысячах километрах от моего дома куда же на самолете отправили на два дня условно там поселили в гостиницу и два дня те там просто стресс-тестирование как лечить отправляют он на один метод на другой на 3 ст и все делается там командное ими командный тэт-а-тэт ну
00:05:10 - 00:06:21
короче а вот так вот чтобы онлайн спокойно дома вечером любой момент атаки лиц потому что обращаться еще недавно совсем скажем год назад ты мог спокойно общаться европейской компании полететь там европу куда-нибудь на собеседовании тебя призывали как там действительно там сутки жилые за счет и задавали вопросы я даже читал какую-то историю про одну из компании которая делала финт ушами и она тебе оплачивая билеты гостиницу на приезд к ним но если по итогам собеседования тебя не брали то обратный билет не купится на
00:05:45 - 00:07:22
словах нет а так ноги смотри я я взглянул глазком на вот я смотрю ты проходил довольно большое количество этих курсов к текстам делать с топ приложений вот можете чуть подробнее сказать да в общем все как начал учиться сейчас объясню и стараюсь так чтобы новичкам было более понятно как не тратить много времени на это лишние телодвижения которые отнимут вас лишнее месяце я поначалу думал что я могу сделать сам я могу там брать google брать задачу и условно там идти к той задаче угля все там все свои вопросы и я думаю
00:06:39 - 00:08:23
что так можно научиться программировать ребята это но такой путь на самом деле скорее в никуда чем вы скорее вы горите быстрее чем чего-то добьетесь определенно точно вам нужно сначала вложить знания сон и собрать все кирпичики а потом за них кирпичиков уже начинать к чему-то двигаться конкретному в общем какой-то момент и начал бесплатные курсы на курсы рио я прошёл там общем на самом деле достаточно по-разному языкам и по разным технологиям можно выбрать себе определенный курс они там в основном не
00:07:33 - 00:08:55
очень длинные вот но потом не знаю hex тут попался выдачи и какой-то вопрос на набу попался хек суют . не знаем начался затянуло ну да да то есть самом деле он туфексис и вообще это не присуще не только текст это для тех зрителей кто кто не особо может быть разбирается в этих курсах очень важные такое важная функция этих курсов мосты в том чтобы вы должны отличить курс он вас научить чему-то или он даст вам вот это вот видимость того что вы научились что-то делать результат какое-то приложение условный не знаю сайт ну
00:08:12 - 00:09:49
неважно что мы разные технологии вы можете учить это не то к чему вы идете и вот многие не осень не каются такие благоверные курсы на руны этим особенно они конечно обещают золотые горы виде результатов каких-то там супер проектов но вы должны безусловно все отличать о том что нужно как то вот все-таки самому чтобы вот этот знание но нам удалось доходило а не то чтобы вам давали какую-то конкретную инструкцию действия в общем я прошел часть курса не до конца еще один проект остается 3 проект нахи
00:09:02 - 00:10:39
кстати последнего мпа джонги меняющие не трогал вот смотри давай давай я к чтоб чуть-чуть нас и там росло вернусь вот так важно долго рассказывать я хотел тело что спросить про значит говорить мне интересно твои именно твое мнение твое отношение как ты считаешь на собеседовании имеет ли смысл показывать иметь красивый did have ссылка на github у тебя там есть какие-то проекты которые ты делал у кого-то они есть у кого то нет кочевали между наса беседуем или мы вообще в целом разработчики имею ввиду ну минус
00:09:50 - 00:11:10
скорее вот твой опыт и мир это может быть спрашивали его часто может быть не спрашивали ну я считаю что вообще в принципе посмотреть на github это хорошее дело если есть что показать разные да гид хоп может быть не такой полный у человека есть ну куда копнуть поглубже наверное многих apple считает что мы на примере того хода какой писал человек это же просто прекрасна смотреть на его работу и спросить задачу возможно какие-то каверзные вопросы лучших сам захочет что-то более интересное сказать в
00:10:31 - 00:11:45
процесс той разработки который умел не считаю что дает большой плюс просто бывает разные люди у которых они как сказать стесняются показывать свой пост другим другим живым людям вот здесь они его врач как держит ее там разные пробовать направления но при этом они его не считают достаточно иллюстративным достаточно таким показать им продакшеном для того чтобы поэтому году присудили даже не такое вправду тоже бывает как бы загляни час мой гид хоп ну ты увидишь мы прям на мой взгляд вот такой стыдно код
00:11:08 - 00:12:35
и нормалек бы знать тут еще вот такой есть момент вот когда разработчик молодой тут опять же вот как он учится вот есть люди которые могут ну не знаю в тех или иных случаях или которых чуть больше времени вот когда под проект допустим месяцев когда ты подходишь к какому-то проекту возможно там будет не лучший кот возможно на нем не будет наложено столько review как допустим на проекты ну если какие-то обучающей программы проходишь с наставником но зато не кается водном под проекте можно даже побольше видеть
00:11:50 - 00:13:12
каких-то профессиональных уже качеств заборчик а зачем этих там ну проектах которые идут вместе с обучающей программой но все под на гитхабе это больших между плюс смотри а у нас мы сегодня стала будем говорить про позициями на бы кайзера я так понимаем и почему погонщик тебя вопроса почему именно пока тебе и хочется именно писать сервера или просто всех вещей где там питон применимым притом пришел в этом направлении пойти тоже мог здесь пользуется там есть надо союз есть там много чего ну эти так и общепит он не
00:12:33 - 00:14:08
выбирал как язык я честно говоря не был момент между вот сегодняшний текущей строчке где . когда я уволился я подрабатывал и в телеграме в это сейчас называются политкорректно это будет называться лидогенерации в общем мы занимались лидогенерации мои фига 4 ссылки всяких всех возможных видов и всего прочего какой-то момент год назад опять же таки возводить в абсолют я был некий продукт менеджментом мы менеджером мы продавали услугу наливали люди для того чтобы хорошо сейчас но в современном мире хорошо налить
00:13:18 - 00:14:45
рядов 1 там контекстной рекламы или одни их там и не знаю рассылок этого конечно очень мало и тебе приходится выстаивать там целые сети в общем нам нужно было поднимать обычные лэндинги через них уже как бы проливать людей и мне пришлось поднимать какие-то сервера мне пришлось поднимать какие то ну или медитировать дальше ну когда это все это шло и думаю блин надо быть программистом потому что мы много вопросов было связанных с тем как лучше сделать свою работу и заработать больше денег я видел как
00:14:03 - 00:15:10
можно делать очень люблю денег я понимал ну где мой условную что и мешает каких знаниями не хватает и тут я стал перед тем куда идти во фронт либо в букет то есть здесь был на конкретную веру я не думала там машин лёнинг я не думал о том системой разработки хотя на мне тоже интересно я люблю linux может отдельно в этом как-то поговорим но в целом я пользуюсь арчил нет майтри это давняя любовь моя пришел вверх и пришел осознанно я понимаю еще он состоит и я не против фронтенда просто я решил зайти с их бэг-энда им немножечко
00:14:38 - 00:16:05
может потом добрать фронтэнда как я понял что backend знаешь как я понял я короче зачет не понимаю у меня всегда есть какие-то как сказать по косвенным признакам короче я всегда стараюсь apple не какой-то момент косвенным признакам для меня в этом случае вы у меня есть база знаний свое ну типа как не знаю люди будет блокнот ведут развитием работу я его обычно блокнот вы что-то записывал короче сми он сейчас у меня там на гром все база знаний там из разных разделов и все туда пишу я страсть пользуемся чтение я много
00:15:22 - 00:16:36
чего переступили использовал сейчас я пользуюсь эти поры есть такое приложение java скрипте ну ну как бы мне не нравится конечно то что там ну у меня но до запущены какие-то процессы но в принципе она очень классная советую то есть ты просто даешь дерево ей точку из морган файлов у нас строит самая use space крещение ты можешь html брать копипастить у нее и она будет стражи конвертировать ее в markdown и обратно в html прямо на льду кровь сделать очень удобно всем советую много чего перри использовал шарик стать еще
00:15:59 - 00:17:11
на общителен я сейчас of season использовать для этих же целей там тоже мардан все это чего такое это тоже клиентов для того чтобы вести собственно лично его сознание вот я в нем как раз виду тогда он посмотрел он файла считал костя вот это все оно есть там возможность расшаривать и типа я могу сама белки какой-то использовать приложение мне от этого очень них то я не могу найти себе сварили личная мне просто все эти файлы них дро бокса лежат и я могу любым директора текста вообще в любой момент открыть с любого
00:16:35 - 00:17:44
устройства этот самые текстовой файл его отредактировать команда гинекологи помню клауда своего да ты просто у тебя получается этим or down файла у тебя поднимает static html и мы просматривали да то есть мы постоянно генерит у тебя кстати курске молда ну там как там кнопочка переключается то есть можно текстом в нем уже смотреть выгляжу вот давай вернемся да немножко так долго смотри говоришь о ты занимался развертка серверов а у тебя тогда же еще есть третье направление еще не пойти того инфраструктур щеки это потащился
00:17:09 - 00:18:39
мне кажется можно совершить такую шутку и пойти туда почему она слушала меня такое мнение опять же таки ну сужу по себе я не знаю как кому может кому-то это не нужно я люблю покопаться я я считаю что ты разрабатываешь что это ты должен сам для себя разворачивать хрустнул всю инфраструктуру ну вот это devops это как бы мне должность как все говорят от культура это правильно я не понимаю когда ну если бы я пришел допустим компанию и ну за меня бы кто-то готовил там не знаю мое рабочее окружение то есть это как бы это все
00:17:54 - 00:19:15
делать ну то есть и они потому что заменяются то что если вы это не разработчики делали это команды которые с этим работает мне кажется это немножко неправильно тут как бы можно просто много что потерять с ли этими мне заниматься я потому что я просто люблю там вим я люблю обложиться там сам могу мой файл написать и сделать так чтобы не было удобно разрабатывать вот если конкретно понимаешь туда идти гретна в эту инфраструктуру чтобы разрабатывать именно инфраструктуру для разработчиков для серверов ну очень
00:18:35 - 00:19:48
веская тема там очень узкая там работать с пластырями там такая как бы тут реально там очень узкая сфера но те вакансии которые они есть для условного входа точки входа для диодов не просто немножко про другое это моим понимаешь я стены не прав мне его профессионально заниматься этим это мне каяться какая-то такая очень узкая тема которая скорее про системное администрирование которое скорее пристенная программирование даже смотря я честно скажу я не до конца с тобой согласен данному против почему потому что в моем
00:19:14 - 00:20:25
понимании я с чем я полностью согласен с тем что да там людей называть абсолют не совсем корректно do it all again но сама идея вот это поддержки про структура для разработчиков она не в том что тебе там на копе за тебя там все настроить тебе докеры пребудут там запускать окружения она в том что вы максимально быстро генерировать результат на основе коды которые ты пишет его может писать как угодно но с момента как ты свежая версия кода заливу репозитории да у тебя дальше он там подхватывается собирается автоматически
00:19:49 - 00:21:06
тестируется релиз вот и это как раз на мой взгляд этот то вещи которые он разработчик не то что не должен думать но хорошо если я человек котельник который за это может отвечать и более того бизнеса это как раз один из самых важных моментов это ответ ответ за ответственность за delivery ответственность за то что мы можем взять код сказать по его автоматически прогнать без участия людей без необходимости там руками тратить на это время человеко-часы и сказать что то вот это вот наш новый релиз там сделать 1.10
00:20:26 - 00:21:46
мне детство полность согласен абсолютно прав моё моя точка зрения на свои абсолютно одна и та же просто тут вопрос о том о чем мы говорим типа вот если мы с тобой там еще культ 3 человек зарабатывают и приложением это одна ситуация не кается мы тут можем обойтись без devops а если нас там условно 50 то ну безусловно должен быть какой-то человек хоть какого назови но он должен обслуживать инфраструктуру над которой мы работаем безусловно чтобы связать осуждаете к кончику держитесь протаскивать всякой так много всякой
00:21:08 - 00:22:11
жести смотри давай давай дальше пойдем немножко я тебя хотела чего-то спросить я видела тебя в земле особо упомянуто чистый архитектура все я хотела тебя попросить можешь своими словами примерно рассказать вообще о чем это и как оно устроено и почему почему ты к этому пришел вообще как ну слушай рассказали в тексте посмотрел вроде понравилось ну о чем мы в целом это я честно скажу вещи не добежал до книжек не успел у меня просто сейчас тяжелая артиллерия идет я читаю книжку про компиляторы с драконами
00:21:39 - 00:23:12
можешь смуты на верных сталкерами в детстве я просто засыпаю короче они я люблю читать но не засыпай is so much уже второй месяц эмоций а для дяди богу еще не добежал но читаю его статьи принц интересно о чем и как я это понимаю ход надо писать правильно высоты разработчик понятия правильно многие думают что он расхожее но это такая строгая на самом деле штука есть такое понятие как чистые функции на которых там очень много чего у дяди богу рассказывается вокруг чего ходится но в целом вы должны понимать что код нужно
00:22:26 - 00:23:56
писать так чтобы как бы данные число проходили чтобы не было side effect of чтобы не вводить их побочек лишних это просто рушит какие-то что усложняет все тестировать намного проще код когда он чистый это такое как но образ мышления скорее всего он соста но чистый код этот клин клин архитектуры это скорее про образ мышления который собирательный из каких-то без практик без я возьму в кавычки может быть в кого-то расхожую не смотрел мне в ощущении что-то немножко сейчас слышал об именно подход грубо говоря чисто
00:23:10 - 00:24:36
функциональный подход там писать дефектов вот все и чисто архитектуру именно в плане в архитектурном то есть там в плане плане архитектуры нам там делать год то же самое он достаточно чётко расписан там компоненты там есть эта диаграмма с кружочками и для все вот это вот и там есть про прохождение данных до через разные слои вот это все но я насколько помню может быть я не прав то что до конца не помнить италии но что именно там функциональный не функциональный подход там сайт эффекта нет эффекта это чуть-чуть стороне а там
00:23:55 - 00:25:09
именно про изоляцию компонентов друг от друга и про отсутствия смешивание бизнес-логики между ним вот да вот это не сказал про бизнес стоит абсолютно верно говоришь очень важный момент ну должна оставаться бизнес-логика и логика приложения абсолютно разной должна смешиваться это да абсолютно следующий вопрос тут прямо чтобы не про я вот не досказал можно одной фразы это все закрыть просто не должно быть протечек абстракции нужно выстраивать абстракции на каждом слове и они не должны течь пейте можно закрыть тогда я логика
00:24:32 - 00:25:58
бизнес только будет оставаться скорее всего будет оставаться своем месте и горьких приложения будет оставаться дальше смотри у меня просто следующий вопрос как сказать а какие ты видишь мне недостатки в этом подходе можешь сейчас головы какой-нибудь назвать слушай мне кажется такой знаешь вот первый ну и на мой взгляд для меня был очевидный недостаток это то что для того чтобы этим пользовался на то чтобы это все работало тебе нужно короче знать это все достаточно широко сразу же ты не можешь типа взять там условно кусочек такой ты
00:25:15 - 00:26:35
кусочки такое-то и чтобы из этого получилось то о чем говорит ну собственно лишь cable ну тактику не получается нужно заходить сразу же со всякой темы это время сразу это не можешь так научиться писать и думать и как разрабатывать так сразу вот дальше ну опять же таки я со своего низкого уровня не могу так сильно судить но на мой взгляд мне кажется есть проблемы когда ну условно есть условно тебе нужна какая тебе нужно какое-то расширение на модульности если ты будешь это строить расширение в его парадигме
00:25:55 - 00:27:23
я преподаю при поставлю его парадигме а.п. его столпы если его парадигму взять там как одну как более функциональный стиль и а.п. всего вещами хотя на мой взгляд это все ну то что сейчас в языках реализовано в частности в питоне это все такие вещи смазаны нового п мне кажется можно будет то же самое наследование делать более эффективно в плане читаемость кода планетам продакшена как это будет насколько быстро и насколько это будет там память джо честно не могу сказать но несколько веков будет будет быстрее
00:26:38 - 00:27:52
дойти я во первых сначала поясню для слушателей а на самом деле это не значится я юниоров на собеседовании спрашивают про чистый код обычно и вообще это я бы не сказал что умение разбираться в том что вообще такое чистый рот и читать дядюшку баба это обязательный навык для джуниора скорее даже нет чем да вот просто я в данном случае с чуть-чуть одним глазом смотрю в комментарии я исхожу из резюме собственные фермы вот и раз уж он там это дело упомянул то я считаю своим долгом об этом тоже спросить это просто такое лирическое
00:27:16 - 00:28:38
отступление смотри и давай я чтобы вот эту тему тоже с чисто архитектуры закрыть я даже со своей страны чуть-чуть прокомментирую мне кажется двор одна из таких проблем от которой вот я просто из головы сразу сразу пусть могу придумать может быть они совсем буду прав когда люди говорят про то автомат подчеркивает но просто своих статьях что у нас выбор фреймворка выбор там база данных выбор всего как сказать он должен проходить абсолютно абстрактно на берем инструмент от под задачу и это не должно быть
00:27:57 - 00:29:29
сильно быть замешано с бизнес области 5 принципе вот похоже похоже вещи говорил здесь есть проблема в том что во многих компаниях решение о том какой технический продукт использовать для построения архитектуры они поднимаются не исходя из того что у клива я прочитал там там нашу проблему хорошо решая технологии кстати и внедрять да она решается из еще из того что вот у нас в компании есть такая экспертиза такие люди умеют поддерживать а вот мы хотим выбрать себе базу данных для проекта мы можем захотеть там взять
00:28:43 - 00:29:57
себе манка тебе но так уж случилось что у нас большая часть инженеров они умеют работать с крисом поэтому пусть даже по сгорать того не не настолько эффективна будет решать наши задачи но в целом для как бы для компании будет эффективно завязаться на него удастся для нового проекта потому что уже мы сможем его поддерживать и то есть тут получается чуть больше переменных приходится рассматривать чем и и к сожалению чуть теснее смешивать свои что такое знаешь немножко uniq своей более подход ну то что бог предлагает вот не
00:29:21 - 00:30:41
знаю мне кажется ты любишь linux и вот ну ты мыслишь ты ну смотришь как вообще это формировалась как там не знаю формируется в принципе убежит посмотри как пакеты формируется некая похожие мысли но до с одной стороны даны просто плевать как я читал еще много постов с критикой того что о чем там предлагает частности у него как скачена с одной стороны он говорит там про абстракции про все с другой стороны большом количестве постов про эту архитектуру он стоит на приводит примеры java кода контрпример для кого есть вопросы на
00:30:02 - 00:31:21
самом деле там были разборы что он вроде как рассказывает одно потом в пользу там своих парадигму немножко нарушает местами вот ну это уже чуть чуть чуть чуть другая история ладно давайте перейдем чуть чуть чуть чуть дальше капитану на расход пропитал говорим давай мы раз начали говорить про нибудь про недостатки давай продолжать про недостатки расскажи пожалуйста что те в питоне не нравится прям вот тут что то что тебя кажется проблемой которая стоит решать слушаем ли сложно сказать сложно сказать что такое прям проблема мог
00:30:47 - 00:32:08
рассказать что глядите ребята какая здесь беда а там то вот так то хорошо но я скажу чего чего я опасаюсь есть такие вещи когда говорят что пропитан к особенно его изучаешь активно достойно сюда достаточно часто слышишь о том что это такое питание подход что мол вот ты что-то делаешь на 3 говорят вот это вот так из питоне и не то чтобы эта проблема это не проблема проблема не знает количество скобок в успех наверное эта проблема и когда создатель говорит что ну блин да типа можно было архитектурами
00:31:27 - 00:32:52
сделать так то так то и не было бы этих скобок но пропитанная не могу такого сказать я могу сказать что есть какие-то вещи допустим ты изучаешь ооп и смотришь ну не знаю какой там вот и есть какие-то узкие вещей типа наследования вот как реализовано им ролл в притоне и ты думаешь она вот так вот должно быть ну это она или то допустим хороший пример для новичков все его поймут ты изучаешь структуры данных и алгоритмы читаешь книжки и тебе говорят что вот там есть массив не вот она такая то сложность там
00:32:10 - 00:33:31
ты можешь такие перед ну алгоритму реализовывать и потом смотришь на питон и и ты понимаешь что это ну немножко не те структуры данных это какие-то абстрактной структуры данных и под капотом они реализованы там все немножко не так как ну как это сделано допустим там на низко уровнях языках здесь есть моменты но я честно так хочу к тебе сказать чем него не нравится такой инструмент как давай давай раза легче чуть вот это то что то сказал вот у тебя хоть вот ты скажешь структура питона в структура данных они реализованы
00:32:50 - 00:34:17
немножко другим образом можешь назвать какую-нибудь конкретную структуру вот как оно реализовано об одном языке как раз питание по сравнению с ним вот любой вот которые 1 придет вот гляди я не буду приводить язык я скажу как вы допустим вот идеально скинуть обычная классическая структура данных мать сифу и и список да ну то есть у нас сложность вот мы реализовываем что мне плыву немного сейчас секунду у нас есть массив у нас есть список значит в питоне у нас есть список и этот список чтобы по нему пройтись у нас есть сложности нам
00:33:34 - 00:35:19
нужно перебрать весь список до в обычном классическом списке в структуре данных список у нас каждый элемент связан с другим для того чтобы нам найти какой-то элемент на сложность будут нас уже тоже будет выбрал него в голове придумал смотри давай давай я попробую чуть-чуть еще помочь у тебя есть есть две структуры они разные есть структура массив и структура связанный список вот так немножко смешал вот можешь искать чем они отличаются и соответственно что к воспитанию да конечно проще отличается смотри у нас
00:34:25 - 00:36:08
связанный список это общем массив это отдельный элемент то есть у нас есть кусок памяти и ну условно там он умеет хотя размер 10 и массивом будут просто вот у нас 10 каких-то кубиков когда нам нужно будет что-то добавить в этот массив какое-то значение нам нужно будет ну допустим затем срединно быть какое-то значение нам нужно будет все 5 кубиков сместить по по памяти сторону до чтобы добавить вот в списке мы можем просто вставить значение и переназначить ссылку на вставленный элемент потому что список
00:35:24 - 00:37:12
это у нас не просто кубики а это кубики которые друг на друга указывают сумму как версия связанный список там работа подсаливать связный список ну да да да по питание вот у тебя структура лист например это массив или сейчас надпись вообще в питоне все эти структуры они реализованы увидят половину там если внутрь посмотреть немножко я не ошибаюсь но не ошибаюсь не совсем ну вот список он разве не реализован там словарь ну а в чем там слова это слова это у тебя когда есть пары ключ-значение список у тебя список просто правильно
00:36:17 - 00:37:51
рассказал целую там ну чуть чуть чуть там сначала смешал но в принципе правильно что есть массив есть связанный список да и вот они пока без относительно питона они устроены таким образом что тебя массив это кусок памяти до в которых которые в котором заданы тем до какого-то размера и мы соответственно элементы тура записываются да вот кусок банить и у тебя в таком случае поиск он будет просто перемещение на размер одного элемента умножить на сколько это будет очень быстро в случае связанного списка
00:37:05 - 00:38:21
когда у тебя есть указатели на следующий то может быть на предыдущий элемент связанной то у тебя поиск элемента ты проходишь покажем вот это что это верно теперь вот снова нет ты делаешь там а равно там квадратные скобочки от тебя лист внутри массив или связанный список вопрос внутри у нас ну внутри у нас связанный список для того чтобы найти какой-то элемент не придется пройтись по всем то молод и он будет у меня будет на самом деле не совсем на самом деле там все таки массив именно в листе то есть там как за счет чего это
00:37:42 - 00:39:00
работает обычно здесь сбивает с толку то что ты в список может закидывать объекты разных типов вот но на самом деле у тебя в списке там там подлежащей массив и у тебя в нем хранятся просто указатели низкоуровневые объекты то есть у тебя там на самом деле массив указателей на поем че там в терминах сипой кишках вот и соответственно у тебя действительно такая можно считать один кусок памяти и у тебя может быть такая ситуация что во-первых ставки они действительно за о от n до потому что нужно перемещать
00:38:22 - 00:39:33
элементы а во-вторых по умолчанию когда мы создаем его пустом villar у нас а лоцируется кусок памяти конечной длины вот если мы перестаем в него влезать когда мы добавляем тогда у нас что происходит а вот сервис еще один кусок который в два раза больше я обычно настраиваю обычно то раз больше туда линейно копируется вся информация которая была старого куски и дальше мы начинаем записывать уже в конец то есть это может быть такая вот процедура real o вот это может быть ну это линейная реал локация вот это вот
00:38:57 - 00:40:07
хитрость есть потому что у нас списке в питоне и они не фиксированного размера и мы можем потопить пока не надоест и это будет приводить периодически к новые локации внутри однако это массив обычный в кишках с другой стороны я я иногда тролли здесь это вопрос голос мать хороший вопрос не троллинг еще что есть в стандартной библиотеке питона другая структура которая таки реализует связанный список вот которая выглядит внешне очень похожи на лист ну а да именно реализовано внутри связанным списком
00:39:32 - 00:41:05
о нет нет нет но ты приди ближе к но вид на конечностях очередь да я ее кстати я помню что там 2 связанный список там же не одна связана как помимо слева случае структура данных уже другая стыда можешь докладывать историю с этой стороны одинаковую сложность а внутри уже те же ему законника где списка у нас работают ну да гости к инструктору хорошо так сейчас потом мы даже что еще спросить смотри я не знаю имеет смысл приписать конкретный код давай пока попробуем для простоты на словах обе обсудить вот у
00:40:15 - 00:41:51
меня есть такая задача у тебя есть два текстовых файла довольно большой это два слепка файловой системы с путями то есть у тебя там в абсолютно беспорядки они оба у тебя там пути это можно взять там стандартное линуксовые то там от корня со слухами пути к разным файла на диске так разным файлам и папкам даже это вы это у тебя наборы вот этих путей этого слепка файловой системы в разные моменты времени вот мне тебе дали показали место где они лежат и сказали пожалуйста напишите программу которая посчитает с
00:41:07 - 00:42:43
момента за время между первым и вторым snapshot какие файлы какие пути собственно добавились какие удалились ну то есть у нас на каждый путь есть какое-то [музыка] что-то ненужное время посмотреть да не агрегирует так они не нет по сути задача просто в сравнение файлов у тебя два текстовых файла да они абсолютно неупорядоченные у тебя в каждом каждой в каждом текстов они просто так на каждой строчке записан путь до к файлу или папке на каждую строчку записан путь тогда и тебе нужно посчитать грубо
00:41:56 - 00:43:15
говоря тиф то есть посчитает что с момента между первым и вторым вот такие-то пути добавились какие такие то пути удаления или по сути сгенерировать еще два файла группа говорят что добавилось что реально файловой системы от никак не связана по сути просто div именно текстовых файлов которых вот пути заданы блинов новом формате стадо как бы это сделала [музыка] нам нет первое в голову приходит и конечно немножко волнуюсь но мне кажется можно так сделать можно взять пробежаться берем один файл ситуация для
00:42:39 - 00:43:56
того файла будет идентичным берем один файл мы считываем каждую строку учитываем построчный тот файл каждую строку мы добавляем список ну то есть создаем список из вот этих строк ну дальше я буду просто если у нас создана дерево с 1 этаже как ты говоришь условно жесткого диска до с одного и того же устройства просто в разные моменты времени как сказал тогда у нас скорее всего в моем понимании это будет одна и та же структура тогда я просто не смогу сравнить каждый элемент перебирая его в этом списке но они не а
00:43:27 - 00:44:51
сортировки опыта сейчас такой же просто очередь выбирать себе с ними нас структура может быть разная да да да нет окей хорошо разный порядок это вообще не проблема тогда мы можем сделать знаешь как тогда нам нужно выстраивать структуру нам нужно выстраивать структуру от q1 ее можно не так сложно говорить ну в общем как я это вижу себя в голове можно сделать вот лист стали сделать список и в каждом списке будет два значения первое значение это условно корень второе значение это то что в этом в этой папке лежит
00:44:09 - 00:45:37
папки которые есть в этой папке на корень дальше мы погнали там первое значение корень , вторые значения будут ну df там не значит темп и так далее это будет первое значение дальше у нас идет второе значение это будет вот все вот эти внутренние папки не огня я сейчас посмотрим пока сложно понять я не напишу сейчас скажу то там дальше у меня нужно будет рекурсивно за придет смотри давай я понимаю что хочется все все красиво красиво сделать давай пока самом простом варианте какой-нибудь обычно как на
00:44:53 - 00:46:27
собеседованиях говорят давай напишем минимальные работающее решение пусть она будет неэффективно и но она как бы задачу будет решать а дальше подумаем о том как как его улучшить вот если при нас просто вот на коленке вас сесть и и вот сейчас вот закидать накидать на 5 за 5 минут как бы ты написал так ладно хорошо с этими листами да там может быть что-то у нас не пойти ну тогда бы делу структуру из словаря я бы знаешь как сделал да в принципе то же самое то есть назначением значениям было бы как сказать ну типа верхние
00:45:40 - 00:47:30
корень какой-то ключом точнее был бы корень назначением были бы дети ну как внутренний подкину дети куда-то вниз смотри как как вот в коде поэта вот эти вот у тебя там есть грубо говоря цикл по файлу дата его построена ожидаешь чтобы ты скажешь . тел так с каждой строчкой получается а может быстро хотим представить как это будет выглядеть просто вид что она не структурирована или пока как какая мне будет первая строчка ну а вторая какая стройке смотри строк каждая строчка это просто это путь файловой системе с ножами то
00:46:37 - 00:48:15
есть у тебя там слишком я не знаю user слышал о ком слэш пинта грубо говоря да и вот у тебя на каждой строчке по такого пути ясно что они внутри файла эти пути они не отсортированы то есть у тебя у снапшоты снимали когда я не знаю просто программа которых снимали она там ничего не сортировал они абсолютно беспорядки и соответствует задача вот эти два стартапа сравнить в одном файле может быть там слышат лишь б там на следующей строчке там слышится сложна в другом файле у тебя будет с.ф. и может мы
00:47:27 - 00:48:55
просто тогда сортируем мы сравним ну типа построчно все эти тела и не будем заниматься и посмотрите получится если у нас нету за твою щихся структур одинаковых мы условно там a user а и а user а это что-то разные значит ну типа это 2 плавления нежность это по сути дела и сравнить просто тогда отсортированный списке отсортированы списках отличишь ну точнее как это можно отличить на вопрос с вопросами на как у тебя в файле в одном что-то добавилось другом что-то удалилась ты берешь следующее значение у
00:48:11 - 00:49:39
тя там допустим 2 нашлось одинаково теперь следующее значение и оно разное файла и как понять она у тебя может быть оно встречается где-то файле дальше у тебя просто что-то удалилась или может быть а наоборот чтоб новое что добавилось понимаете о чем я да я понял тебя так не получится сделать ну типа по списку пройтись не получится и сравнивать каждое значение с другим нам нужно тогда как то их пронумеровать что ли смотри наводящий вопрос как вообще проверить что ты идешь по по строчкам дата передает какие элементы даже
00:48:55 - 00:50:17
неважно строчки ни строчки как понять что ты этот элемент уже видел где-то раньше самый быстрый способ добавить его куда-то ну вот и все . ты куда ты должен обращаться тебя что-то должно говорить ты видел его или нет потом да ну ты наверху должен создать там условно какой нибудь типа список и закидывать туда исцелять его на вход в коллекцию вот смотри но в списке ты как его искать будешь просто есть и и если это значение ин май collection да просто превращая скучает и спесь и кто это у тебя реально быть линейный
00:49:36 - 00:51:06
поиск ну да вот и будет окей можно эффективней словно можно только немножечко подумать тогда ну смотри мы можем как этому каждый раз должно пройтись по коллекции существа не корректируем но не готовят но смотря но до тебя кроме списка какие чего коллекции питание есть другие слова ли попасть к соларева как работает но от единицы у нас хэш-таблицы реализация таблицы с ключами мы можем быстро обращаться к ключу просто как этот ключ пометить не совсем а зачем его помечает смотри вот если брать словарь допустим
00:50:22 - 00:52:24
да тебе ничего не мешает просто в качестве ключа использовать самые пути а в значении писали что угодно можно писать туда света можно использовать в когда мы можем потерять просто подумала с этим снесены мы же можем потерять значение если у нас это потеряет но по большому счету это не страшно я ничего про публикации не говорил важно считать что там и него нет ли в нем все то же самое то же реализация у нас чувствуешь таблица только без без без ключей можем закидывать сет и поезд будет у нас за линейное время осуществляться вы не
00:51:44 - 00:53:03
залинейной праздничной за единицу это зальет как раз давай давай еще раз просто поговорим сначала то есть вот мы и мы делаем сад да вот расскажи вот как как простатите ну смотри наши даже вот так вот возьмем аллисер мы у нас есть два файла мой первый файл целиком все строчки прочитали запихнули в этот да теперь мы а нам нужно посмотреть на второй файл и понять что там добавилось что удалилась вот расскажи дальше с этого момента как она путь выпили сейчас ну то есть у нас второй файл это уже список и так понимаю то есть мы
00:52:24 - 00:53:46
высчитываем грубо говоря не список это у нас какой то это рей был fly и можем там контекст самого открыть до через менеджер контекстно мы откроем этот файл и будем построить на часов то есть потому своим это рыбу и в этом цикле я буду просто ифом проверять если он и есть он входит в сет так если он входит и тогда этот файл у нас есть допустим я буду делать новую коллекцию чтобы и вывести а не это нам не нужно нам нужно нужно же будет того чего у нас нету тогда если он есть а если его нету тогда я
00:53:15 - 00:54:43
беру эту строчку и добавляю еще в культа коллекцию это будет уже список и как врезал и как этот буду писать тут как заказчик скажут окей а я если есть если что а если есть он спасать а ну ни чего не нужно но twin-set с него нету тогда ты записываешь ok смотри а как ты больше отслеживать те которые удалились таким образом ты можешь осилить которые добавились то есть если его нет изначально связь а значит это новая строчка и не было руки а как как отследить которых доверить так нету ты можешь в принципе в слуг рассуждать
00:53:59 - 00:55:44
обычно на собеседовании кто-то по рабочему полезно что можно скажешь на его окей да на самом деле задачка каплю и вот я решал ни один раз не и общее число же нету ну смотри у нас есть коллекция да значит мы если не в этом сети то мы берем это значение и добавляем его в какую-то свою какой-то свой резал это если его нету после этого значения нету там а если она этого значения учения его нету списке тебе смотри у тебя конечная цель да мы уже с тобой определили как а как понять мне кажется мы так не определим с нашей
00:55:29 - 00:57:21
структуры данных нет на самом деле на самом деле есть вариант смотреть я могу подсказать можешь пойти мы же совсем понимаю как мне определить что ну изменено или оно удалено измененного не определяет мы потеряем так и добавилось удалилась а только добавился длилась да да да то есть измененного это этого не было задачи а окей хорошо ну вот это вот мы берем этот список но у нас есть сет с первую массаж 1 set aside второй список ну это рыбалку это по которому проходит специальный был список чтобы было
00:56:51 - 00:58:09
различие с этом и так мы проходим ся по этому списку и сравниваем значение входят ли вот этот значение если оно не входит наш сет во втором списке нету того что было на что-то удалена ну если во втором она есть а в первом нет добавилось ну окей до начала добавить сергей наоборот нету если оно не входит эти добавилось с лихвой значит удалилась но нет да уж не осталось ну какие хорошо миру подсказку смотри а тебе ничего не мешает просто изначально высота их удалять процессию есть ты находишь значение которое там есть уже это значит
00:57:32 - 00:59:27
что она есть двух файлах уже и она тебя не интересует ваш вайс это снести и тогда когда ты дойдешь до конца 2 файла ты определись все что добавилось дабы тем же сам алгоритм как мы с тобой пошутили и у тебя все эти останутся только те строчки которые удалились потому что ты удалил все что всем прошел до этого шаг сделать ладно ответ на поверхности лежал дошли вот ну в общем вот окей хорошо если что ты такой просто мою маленькую маленькая рекомендация постараюсь немножко не смешивать понятия где там у тебя список
00:58:34 - 01:00:14
дейтрейдер где файл потому что действительно важная разница то есть перебираешь строчки файле то прям так и говорить что значит что там в этом файле там есть или в этом ньютом в этом операторы там есть грубо говоря голове что буду ница избежать окей так хорошо сейчас я что-нибудь еще придумаем смотри предположим у тебя есть у тебя есть у тебя есть оператор с сейчас здесь нормального нет я не смогу скинуть смотри у тебя есть картаж допустим хочу был у тебя в этом тепле внутри пустой список ты к этому тепло
00:59:24 - 01:01:53
обращаешься и пишет что я не знаю может признаешь может быть не знаю что ты можешь а конкатенировать списке используя плюс равно то есть у тебя есть там например список там которым куда ты пишешь плюс равно список бору теплого в результате получается список foobar смотри у тебя теперь начинаю список находится внутри тепла ты в тепле и упал ты как ты сам правильно же сказал вам неизменяемый да ты обращаешься к нулевому элементу пишешь плюс равно еще какой-то список что у тебя произойдет в такой ситуации я
01:00:37 - 01:01:55
рос работает не сработает что как как это будет выглядеть ну смотри ты из у нас full это тепло да ну и про просто тепло внутри него пустой список да и ты пишешь плюс равно другой список в котором внутри там что-то есть там 123 например ну югу от не мутабельные там данных и но он не изменяем я не могу его изменить соответственно то крыма и будут ну какой то исключением мы поймаем потому что мы присваиваем и мы не можем короче взять его изменить через вот этот оператор плюс но не могли бы просто взять и присвоить
01:01:19 - 01:03:01
этому значению новое значение значение в тепле и опять же нельзя присваивать хорошо нет игру мы могли бы присвоить просто переменной ну какую-то новую коллекцию которая будет фу плюс бар и так понимаю на жизнь задача была скакать и не ровать веке этой коллекции футбол судьба вот тут точно не очень сейчас не какая-то ложки на которой можно рисовать на самом деле там есть тонкость смотри я тебя я тебе сейчас расскажу о том что происходит у тебя когда ты пишешь в таком виде код да у тебя тепло в нем
01:02:08 - 01:03:19
список и третью через плюс родам обращаешься значит к этому элементу теплый пишешь плюс равно у тебя происходит сразу две вещи у тебя во первых происходит появляется исключение это правильно сказал что кукла не может писать поэтому исключению но прикол в том что у тебя сам опять-таки происходят у тебя список такие элемент добавляется объяснить почему это происходит и сайт эффект я честно говоря но я читал про него ну вот так вот я не могу вспомнить почему такой эффект происходит сейчас давай ну давай
01:02:46 - 01:04:07
порассуждаем почему тогда может такое происходить такой сайт эффект нас ссылочная модель и у нас есть то есть у нас full сейчас ссылается на какую-то на какую-то памятник утечек памяти и вот мы ее изменяем да так тут по моему дело в том как реализован у нас там по моему смысла в том как реализован упал и наверное наверное я не помню я думаю да смотрите плутона и мутабельные да все правильно но у тебя в принципе контейнеры к датах них вот этот фильм не добавляешь они же ссылки хранят на объекты они сами объекты это нормально
01:03:26 - 01:05:19
вот но прикол в том что тут вопрос о как работой плюс равно потому что у тебя плюс равно он ты элемент успешно перевоз даты его успешно и кстати статус добавляешь туда новый список в конец но у тебя операция плюс равно она превращается в то что ты взял присваивается то что ты взял плюс то что ты написал е получается что если взять по ссылке список его за extended ты можешь то присвоить то что получилось youtube а ты уже не можешь тропу не получается что первую операцию отрабатывает авторов и лица с
01:04:23 - 01:05:54
exception вот и получается такой вот японский скажу так вот такие моменты они честно говоря не на слух не на текст не воспринимаются я люблю ну посмотреть просто березка вилайят как смотрю я просто смотрю как вот допустим вот этот метод плюс равно это жену чему-то эквивалента там же можно ну за этой жопы провалиться и посмотреть как реализовано the literal плюс равно и там уже на самом деле можно ну короче так понять и не так она смотреть с расскажу на большинстве языков она просто складывается плюс равно 1 да она
01:05:08 - 01:06:30
у тебя будет разложена здесь та же самая история здесь точно так же работает и если есть вот такой вот тонкий момент у тебя плюс срабатывает который 101 как бы она идет до присвоения происходит тогда мы получаем тусовку сутки так хорошо хоть ещё придумаю в голове у себя смотри у меня просто в час всякие разные такие извращения на в генераторах которые которые не стоит приложению расспрашивать смотри давай такой вот вопрос он немножко тоже шуточной но тут это вопрос не не столько пропитан сколько про умение опять же рассуждать
01:05:46 - 01:08:00
стараюсь обычно не 100 тонн бетона питание дать вот это сейчас немножко спойлер что ну посмотри в питоне во втором во втором питанию можно было получить такую ошибку сейчас третьем это чтоб исправили она теперь по-другому выглядит при сильно понятнее стало у тебя есть функция какая функция foo неважно с какими-то аргументами ты эту функцию вызываешь каким-то образом и получаешь ошибку в ошибке написано не power functions excel и то есть турагент скобках турбина то есть у тебя функция ожидала два аргумента ты передал два
01:06:58 - 01:08:33
аргумента но всё-равно получил и кассацию можешь предположить как в какой ситуации такое может произойти вы посмотри на питон да вот посмотри на функции может представить как должна выглядеть функция и как должен выглядеть ее вызов чтобы в теории того получить такую ошибку а первый раз вызываются эта функция или в какой-то из 1 1 ну то есть по большому счету не важно но считаем что первый допустим ok [музыка] ну на воротник конечно хочется ну предположим допустим аргумент который ну допустим там верху и
01:07:47 - 01:09:06
он функция должна принимать нас какое-то именованных два аргумента и мы ссылаемся в самой функции мы будем ссылаться на какие-то объекты и возможно если этими объектами но мы где-то определим выше я не знаю чем им присвоили смотри я сразу скажу за этой функции будет сразу скажу на то что в теле функции написано вообще неважно по химии значения только объявления то есть вот строчка двс аргументами и строчка вызова чем точно там внутри она вообще роль нига это вообще может быть написано raider там с
01:08:54 - 01:10:27
этим текстом не в этом суть не буду тратить время не готов сказать три скажу у тебя в питоне у функции может быть два вида аргументов в помнишь как какие ну конечно ну как два вида аргументов там ну то есть можно взять позиционный аргумент указать можно назвать именованный аргумент также ну там еще можно описать потеряв а выхода таким образом тифон да она принимает а аргументом принимает аргумент б позиционные и принимает аргумент центам за работе допустим нормально вот смотри и можешь предположить как можно эту
01:09:40 - 01:11:28
функцию вызвать чтобы получить вот эту ошибку который обсуждаю ну опять же , нет даже мысли который был изначально то есть я должен передать но я должен передать на первый второй аргумент что то что являлось бы к каким-то хитрым объектом смотри там до на самом деле проще то есть опять же в третьем питание это исправили но вот функция которой я писал так принимает abcs значением 1 по умолчанию ты можешь эту функцию вызвать как ты можешь ее вызвать фу а равно там два и c равно 4 стр у тебя функция а бы не передавать у тебя
01:10:39 - 01:12:13
что получится у тебя функция принимает минимум два аргумента потому что у тебя 3 и стих о возвращении на принимает аргументы твой папа любому должна принимать о вызове 3 эту функцию вызвать ее вызвал передачи два аргумента ну раз даже не вернулся в свой но это мне кажется знаю что можно отнести к ошибке интерпретатора ну не совсем в чем ошибки интерпретатор то есть это действительно карать функций вызывал ты ей просто не передал позиционный необходимый документ вот другое дело очень плохой exception в
01:11:25 - 01:12:32
которой нифига не песня что произошло вот и поэтому собственно в третьем питания нет пофиксили там теперь оказавшим выглядит как я не помню сейчас точно что текст и не передавал обязательный оппозиционный момент по моему буквально там proper описывать с текстом до подробно свет он аргумента дал несколько миксера вот то есть вот в этом собственный прикол хитрый но я говорю это немножко такое опять же чуть чуть чуть чуть роликовый вопрос там продаются в этих самых комментариях что совсем не сталкеров развлечение набрали как можно
01:12:01 - 01:13:44
ну смотри давай я сейчас я чуть последние добро чем тогда и потихоньку закаляться я там когда я расскажу то же со своей стороны там там какой фидбэк это мы успеем еще сообщать потреплемся так смотри ну давай давай попробуем опять же чуть-чуть по простому питоне есть этот ключевое слово пьет гандер никак сначала что у тебя черные съел можешь описать чуть поподробнее вообще зачем она нужна как она работает что это за оператор такой до скажу честно я его использовал всего по моему один раз ну ел тут оператор который
01:12:52 - 01:14:35
создает сделать такой объект который является и terrible в результате то есть когда мы создаем функцию и андрей значения ритер нам мы отдаем это какое-то значение когда мы функции завершаем дел там мы что-то отдаем то эта функция это будет генератор которые будут ну отдавать какие-то значения 0 там и есть опыт и это рей был этот метод который должен поддерживаться этим объектам и мы будем просто проходится условно указывают ссылки на каждое значение интересует могу туда рассказать как она будет указываться вот я с точки зрения
01:13:42 - 01:15:25
кода как она могла просто и просто то есть ну она дает ему создать генератор и последующего правда такой генератор то есть обычно генератор чем они отличаются да ну вот в питоне есть допустим чтобы мне было проще объяснить как генераторы обеспечить такую что если из comprehension до нас к эта функция она создает какой-то список а есть генератор и они ну есть генератор то есть там можно создавать не только может быть не только диском приходиться то есть можно взять объект создать его который будет отдавать те же самые
01:14:37 - 01:16:04
значения если при его про и тренироваться по нему по этому объекту но при этом он не будет занимать памяти то есть он будет занимать какую-то сложности линейную время итерации по нему но в памяти он не хранится этот объект и во время итерации по этому объекту мы имеем ну и нормально сказать что эти посылы указательный модели то есть мы указываем том место в котором сейчас находится ну а как это устроено да смотри если мы возьмем допустим список до памяти мы можем его значение перебирая список все равно байт памяти
01:15:25 - 01:16:48
хранится data for перебираем все равно в памяти целиком лежит а как в генераторе достигается вот этот фишка что память у себя только один текущий объект на палец потому что эта функция это не это не объект как как структура данных какая то эта функция которая имеет в единицу времени условный какой-то указатель какой-то указатель на каком моменте она находится условно эта функция и с этого момента она может дальше продолжить ну там то есть оператор никс который перед делает еще одну итерацию в этом итераторы и мы дальше переходим
01:16:07 - 01:17:39
этой ссылкой на следующий объект но это не какая-то структура данных как лист которая хранится в памяти это как функция ok смотри там в чем хитрость у тебя вот я чего хотел добиться да вот этим вопросом основное отличие в том что генератора вот допустим есть такой чтобы генератор экстрасен может быть знаешь этот у тебя и слишком прихожу квадратных скобках у тебя результат его работы это список есть генератор экспрессом в круглых скобках результата вы работа это собственный генератор но не суть генератора в том что мне казалось мне
01:16:55 - 01:18:19
кажется это и хотел сказать просто чуть-чуть да что основная идея это то что вместо хранения значений в памяти всех как это делает листопада мы добавляем у нас есть функция вычисления каждого следующего элементов последовательности и нам не нужно их хранить все а мы просто когда перебираем элементы у нас каждый раз функция прогоняет вычисления считает значение для следующего элемента и его возвращает и запоминаем где остановилась если мы обращаемся следующий раз да на следующей итерации туда то она опять прогоняется
01:17:38 - 01:18:48
почку вычислений считает следующие элементы его возвращают собственно вот так вот она работает в этом в этом суть именно таких ленивых вычислений что ты перед перебираешь элементы могу тебя поскольку заданная функция вычисления следующего элемента там например на основе предыдущего банально скажем ты последовательность деревья там вычисление следующего в плюс 1 к предыдущему например нападать и собственно именно за счет этого у тебя достигается ситуация что ты памяти не хранишь не хранить что целиком именно
01:18:12 - 01:19:32
это имел ввиду праздновалось ним так чуть чуть чуть это может быть помнишь на память ты говоришь изучал что у тебя как сделать объект который будет иметь вот этот интерфейс что ты можешь его форе перебирать что в следующее значение будут вычисляться может быть вспомнишь как как такой объект создать ну как ты так сказал скобках 0x у них нет я в доме именно объекты класса описываешь классом и что в этом классе написано но слушай там есть специальный метод метро ошибаюсь ну я так на память или вспомню и тортами и специальный этот
01:18:54 - 01:20:31
метод можно посмотреть он работает с ним я поменялся 2 это тоже есть заслуженную одну довести до говорю что вклад гитары это наверное я имею виду какому-то фнаф с точки функциональными что можно применить ну а если класс мы создаем туда должен иметь для носа и вычисления следующего элемента как раз же тебе нужно для того чтобы генератор получился да вот собственно и нам нужно реализовать next да окей всеобщего все правильно ну смотри давай я попробую какой-то федак дать сказали что нужно даже в это же время тоже втиснуть и
01:19:43 - 01:21:29
обсуждаете смотри я чего бы сказал у тебя очень действительно хорошо сжимаем во первых по сообщениям чате я так понял что она ссылка на него там же есть и даже читать те кто нас смотрит они уже даже видели вот и тут момент такое что ты в режим и очень много чего перечислил там действительно делать эти проекты вот но ты вот чисто архитектура указала да' написал что по ней стараешься делать как юнгой на задаю вопрос ну расскажи тогда что что она себя представляет тебя это немножко в голове все это смешалось может быть
01:20:36 - 01:22:03
переволновался может быть что тут знаешь как если ты может быть со мной не согласятся да у меня лично такое ощущение что если ты абсолютно у тебя нету готового ответа на какую-то конкретную там технологию ли подход который едет прямо указал вроде мира на важном месте то там в самом начале еще посвятил то лучше его либо в резюме не упоминать вообще либо перед собеседованием лишний раз ставить какие то сам поца базовые вещи просто чтобы ответить на вопрос что это такое а если спросит глубже уже сказать что ну типа я
01:21:21 - 01:22:36
там не такие подробности не вникал вот то есть с одной стороны классно что ты вообще про это читала и вникала собирался ну да вот этот на этот вопрос нам и на мой взгляд ты не ответил к сожалению там у тебя за немножко смешалась с функциональным программированием это покинет ничего страшного вот более того я еще раз скажу что на самом деле задача на собеседовании это не сказать не только поспрашивать у тебя чё ты знаешь да вот при в грубом самом определении а это еще и попытаться определить границы то есть удаться какие-то вопросы
01:21:57 - 01:23:36
довести до такого уровня чтобы до чтобы уже был была такая граница чтоб человек сказал будут я не знаю я дальше там не работаете вот это это абсолютно нормальная ситуация то есть не надо бояться он не здесь я тебе кстати отдам должен что у тебя действительно нет проблем и говорить там я не знаю чтобы то есть ты задумаешься но может сказать штуки я не знаю это это абсолютно нормально ничего страшного вот и дальше идем дальше с этим вопросом это уже ответ он воспринимается машин там это тем чуть-чуть поговорить и перейти к
01:22:48 - 01:24:03
чему-то следующем потому что когда долго-долго сидишь думаешь особенно если делаешь это не вслух дальше-то как бы разные просто тоже интервью тут тут бывает так что задачку задаются ты те говорят там тебя десять минут маслом и ты давай тут уже в эти рамки тут как у меня согласен и я опять же скале гораздо легче когда лист бумаги есть и можно нарисовать быстрый доступны показать больше собеседование и укладываешься в те рамки которые задают ну стараешься доказать максимум в том ну да смотри значит что что еще чуть-чуть у тебя
01:23:26 - 01:25:09
немножко немножко в голове смешалось мне кажется у меня создалось впечатление притока что эту тебя больше терминология смешалось чем понимание в принципе понимаешь как там устроят то же самое там словарь список сет и так далее исключение то вначале путаница с тем что там связанный список или или или или массив вот но мне кажется тут чуть-чуть имеет смысл подтянуть именно терминологию и просто чуть-чуть потренироваться правильными словами про это рассказывать то есть я сейчас у меня есть ощущение
01:24:18 - 01:25:32
что ты понимаешь о чем говоришь просто немножко там под путаешься словам вот но возможно какой-то другой interviewer какой-то другой человек он не согласится и скажут что они ты чё то вообще не то рассказываешь короче это никуда не годится поэтому может быть с моей стороны будет так что чуть чуть чуть больше внимания к конкретным словам которые ты произносишь и вот детальным каким-то к реализации тоже текстом структур из когда я тебя спросил например что давай возьмем типа слова это сказал сразу клёво значит там
01:24:55 - 01:26:08
то один будет у нас поезда внутри каш таблица все понятно что ты знаешь вот но мы к этому шли не сразу вот ну и что еще да в принципе в принципе наверное даже все то есть мы поговорили еще знаешь я может быть чуть чуть вот последнюю минуту спрошу тебя что ты сам думаешь про как тебе понравилась ли вообще это интервью получил это новый опыт и собственно с той стороны тоже так не особо к интервью даже полезно да давай я об этом не сказал по моему я все это моё первое интервью войти я специально оттягивал ну да публичного
01:25:32 - 01:27:14
собеседования я решил себе дать такую возможность мы условно мне было бы классно посмотреть на свое первое интервью специально не ходил на другие интервью я сейчас на самом деле достаточно много времени подать у для того чтобы там ну и linkedin настроить все эти моменты но не соглашался над этим на первый вот там не так что многое было но все же мне было интересно чтобы посмотреть и минута чистый опыт который не который не проигнорирован вот этими десятками интервью к от уже заучил то что спрашиваю и
01:26:23 - 01:27:32
мне было просто интересно что я там условно выучил за полтора за два года когда изучал программирование в первые свои годы ну я честно говорю на сами интервью не так много ходил мне в жизни свобод два или три штуки но я имел много возможностей труд людей работал когда мы нанимали много стажеров и зачастую поначалу много сидел рядышком но потом и самому доводилось интервью it в целом я считаю что интервью это работа вообще это не только работа интервью я могу но и работают of your потому что нужно вытягивать
01:26:57 - 01:28:27
знания нужно как можно больше вытянуть как можно глубже копнуть только тогда как ты правильно отметил можно будет видеть эту ширину которую но человек для себя задает в изучении материалов проработки каких-то проектов вот эту шину в целом мне кажется мы с тобой как-то наверное справились с этой задачей тем более за полтора часа мне кажется что то до охватили бы логично по моему по моему хорошо пообщались есть если что если вдруг захочет что-то там опять же в ней обсудить пожалуйста приходи там в телегу куда угодно можем
01:27:44 - 01:29:14
даже пообщаться спасибо тебе и тогда наталья передается спасибо вам огромное вы сегодня огромнейший молодцы у вас было очень интересно слушайте огромное спасибо всем тем кто вас сегодня описал очень активный комментарий я видела что ребята там и задачи обсуждали свои решения предлагали вот и довольно клёвый фильм как раз будет за здоровье кажется пересмотреть и заодно почитайте что там было в комментариях вот такой вот формат еще публичные собеседования находится в плейлисте hex это собеседование прямом
01:28:28 - 01:29:36
эфире заходите туда разные ходить и не самые интересные смотрите их помните что вопросы на собеседовании бывают совершенно разные золотой формулу собеседования не существует но тем не менее это кажется раз новый интересный опыт ну а ты закончишь хочу тем чтобы как раз еще раз сказать поле большое спасибо за участие в таком эксперименте а их ему передать большое-большое удачно в его деле и в том чтобы в итоге ты нашел где же тебе классное и чем конкретно ты хочешь все-таки заниматься всем огромное спасибо за то что она
01:29:04 - 01:30:14
слушали всем отличного пятничного вечера хороших выходных всем пока
01:29:39 - 01:29:49