Собеседование Python developer на 3000$

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

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

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

    00:00:02 - 00:01:29

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

    00:00:46 - 00:02:20

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

    00:01:33 - 00:03:02

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

    00:02:18 - 00:03:48

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

    00:03:02 - 00:04:15

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

    00:03:42 - 00:05:11

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

    00:04:26 - 00:05:49

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

    00:05:12 - 00:06:32

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

    00:05:54 - 00:07:43

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

    00:06:52 - 00:08:37

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

    00:07:46 - 00:09:17

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

    00:08:36 - 00:10:19

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

    00:09:33 - 00:11:21

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

    00:10:32 - 00:11:56

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

    00:11:20 - 00:13:02

  • если тот же самый нет у нас во первых в нить к докладу торгует паркета я реально такого не видел еще обычно все-таки там напрямую казался значения какие вон смотрите допустим это было для примера и тут у нас нормальное название аргументу и даже вот эти методы 100 tabs on data и там апдейт сам дотану по-настоящему там будет написано что-то типа generate поймем солдата позже а сам section такой то там или апдейт 10 пин report for на гос стайлз условно там будет какой-то вменяемый названием самом деле для примера

    00:12:46 - 00:14:27

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

    00:13:37 - 00:15:16

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

    00:14:26 - 00:16:07

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

    00:15:16 - 00:16:43

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

    00:16:01 - 00:17:38

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

    00:16:53 - 00:18:25

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

    00:17:39 - 00:19:12

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

    00:18:31 - 00:20:03

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

    00:19:17 - 00:20:44

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

    00:20:01 - 00:21:42

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

    00:21:01 - 00:22:29

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

    00:21:47 - 00:23:09

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

    00:22:29 - 00:24:22

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

    00:23:31 - 00:25:13

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

    00:24:26 - 00:25:53

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

    00:25:14 - 00:26:50

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

    00:26:07 - 00:27:42

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

    00:26:58 - 00:28:45

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

    00:28:05 - 00:29:38

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

    00:28:54 - 00:30:42

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

    00:29:50 - 00:31:30

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

    00:30:47 - 00:32:14

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

    00:31:50 - 00:33:20

  • магазин с автором и не знаю там магазин по категории давайте давайте я напишу вот у нас есть магазин и да и соответственно магазин там for magazines и мы берем wave lab складываем в какой-то где-то у нас там был тип допустим навязал dict мы складываем там лизал за упс [музыка] магазин айти мы складываем в него какие-то данные там тайтл зеррин тайтон и значит там of a имя автора магазин вот этот автор это у нас вот этот модуль которая связана с магазином через пареньки здесь нужен целый стреляет из себя ту

    00:32:50 - 00:35:05

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

    00:34:03 - 00:35:50

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

    00:35:28 - 00:37:25

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

    00:36:35 - 00:37:54

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

    00:37:15 - 00:38:49

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

    00:39:06 - 00:40:29

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

    00:39:50 - 00:41:20

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

    00:40:39 - 00:42:05

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

    00:41:31 - 00:43:06

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

    00:42:24 - 00:43:57

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

    00:43:11 - 00:44:53

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

    00:44:03 - 00:45:33

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

    00:44:51 - 00:46:16

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

    00:45:37 - 00:47:01

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

    00:46:20 - 00:47:54

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

    00:47:14 - 00:48:46

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

    00:48:01 - 00:49:31

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

    00:48:53 - 00:50:28

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

    00:49:46 - 00:51:22

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

    00:50:56 - 00:52:33

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

    00:51:56 - 00:53:25

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

    00:52:40 - 00:54:36

  • выполняете полиморфизм да и то что такое морфином и арте принцип полиморфизма это сложение i can take a notion of party когда у нас один интерфейс соответственно символ плюс используется для двух совершенно разных задач в зависимости от контекста круто обычную на следующие говорить встречались с инъекцией зависимостей dependency injection не знаете вопрос помните мы протест игры или для мойки мы выходит берем и прям какими-то хитрыми и там патчами monkey патчами подставляем какую-то другую зависимость правильно

    00:53:58 - 00:55:34

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

    00:54:57 - 00:56:31

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

    00:55:46 - 00:57:13

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

    00:56:41 - 00:58:19

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

    00:57:39 - 00:59:37

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

    00:58:57 - 01:00:15

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

    00:59:35 - 01:01:17

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

    01:00:32 - 01:01:59

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

    01:01:21 - 01:02:55

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

    01:02:22 - 01:03:50

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

    01:03:13 - 01:04:41

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

    01:04:10 - 01:06:06

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

    01:05:16 - 01:06:44

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

    01:06:02 - 01:07:30

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

    01:06:49 - 01:08:20

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

    01:07:35 - 01:08:31