Собеседование на позицию Backend Developer Python + Django Middle #2

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

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

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

    00:00:00 - 00:01:52

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

    00:00:56 - 00:02:48

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

    00:01:58 - 00:04:05

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

    00:03:03 - 00:05:24

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

    00:04:17 - 00:06:17

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

    00:05:23 - 00:06:47

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

    00:06:09 - 00:08:03

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

    00:07:07 - 00:08:44

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

    00:07:59 - 00:09:59

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

    00:09:03 - 00:10:39

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

    00:09:57 - 00:11:45

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

    00:10:49 - 00:12:19

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

    00:11:41 - 00:13:22

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

    00:12:31 - 00:14:44

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

    00:13:37 - 00:15:35

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

    00:14:55 - 00:16:33

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

    00:15:55 - 00:17:32

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

    00:16:56 - 00:18:39

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

    00:17:48 - 00:19:55

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

    00:19:05 - 00:21:14

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

    00:20:16 - 00:22:16

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

    00:21:21 - 00:22:59

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

    00:22:17 - 00:24:16

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

    00:23:17 - 00:25:24

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

    00:24:33 - 00:26:22

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

    00:25:35 - 00:27:28

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

    00:26:35 - 00:28:19

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

    00:27:33 - 00:29:35

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

    00:28:38 - 00:30:11

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

    00:29:31 - 00:31:46

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

    00:30:40 - 00:32:12

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

    00:31:26 - 00:33:27

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

    00:32:27 - 00:33:48

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

    00:33:15 - 00:35:10

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

    00:34:19 - 00:36:50

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

    00:35:39 - 00:37:24

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

    00:36:33 - 00:38:45

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

    00:37:38 - 00:39:30

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

    00:38:41 - 00:40:45

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

    00:39:47 - 00:41:00