Собеседование на позицию Senior Python Developer 4000-5000$ #11

  Рет қаралды 10,716

Python собеседования

Python собеседования

Жыл бұрын

00:00 - как сделать select из 2 таблиц одним запросом
01:31 - как работает индекс в БД
02:36 - как найти медленный запрос
04:00 - что такое транзакция
04:51 - блокировки в БД
08:50 - как посмотреть список процессов
09:43 - что такое pid
10:58 - разница между процессом и потоком
12:04 - как посмотреть кол-во свободной оперативки
14:20 - что такое docker
15:40 - что такое docker-compose
16:35 - какие есть логические операции
16:55 - какие есть встроенные типы данных в питоне
17:29 - какие есть последовательности
17:49 - разница между изменяемыми и неизменяемыми типами
18:37 - дефолтный параметр - пустой список в функции
19:30 - f-строки
19:56 - как перевести строку в байты
20:25 - decimal
21:21 - datetime и timezone
23:24 - enum
24:10 - исключения
26:01 - разница между статической и динамической типизацией
26:55 - аннотации
28:09 - magic-методы
30:10 - как проверить, что значение есть в словаре
30:20 - enumerate
30:35 - как проверить, что объект класса является потомком другого класса
31:15 - как сделать копию словаря
32:00 - вложенность в словарях
34:22 - чем отличается класс от объекта класса
34:56 - может ли метод класса вернуть класс
35:15 - наследование
36:06 - интерфейсы
36:57 - mixins и mro
38:18 - queryset и его методы
41:16 - Q
41:38 - views
46:05 - migrations
46:53 - middleware
48:25 - python wheels
49:27 - как указать версию в pip
49:50 - poetry
50:35 - is vs ==
51:00 - monkey patching
52:55 - metaclass
53:17 - code review docker-compose
56:12 - code review python
01:02:19 - code review django
#собеседование #backend #python #django #ооп #senior #сеньор #интервью #программирование #sql #review

Пікірлер: 89
@alexdzehil7194
@alexdzehil7194 7 ай бұрын
Собес на 5к - "приходилось ли юзать f строки"🤣
@user-kg3kl4sy1w
@user-kg3kl4sy1w Жыл бұрын
Спасибо за контент!
@Anthony_Private
@Anthony_Private Жыл бұрын
Спасибо за видео)
@Alex.M.
@Alex.M. Жыл бұрын
Некоторые вещи, как понял я, собеседующие, сами относительно плавали. То есть, у них был вопрос и был ответ на него, если не угадал конкретно с их ответом, буква в букву, значит не угадал вообще. А слыша ответ на вопрос иначе, хоть и правильно, были удивления. ИМХО, проблема в том, что ребята заранее не готовились, не составили список вопросов, не проработали их никак. По сути, брали с головы. Что говорит, лично мне, что простых разрабов, нагрузили провести тех собес. Им это нафиг не надо, не ихнее, но провели. =) З.Ы. Побольше бы ваших видео. Много интересного почерпнул для себя из "направлений", которые в работе нафиг не нужны были много лет, но оказывается их могут спрашивать.
@Jackson-mn3oj
@Jackson-mn3oj 7 ай бұрын
Ребята, вместо того, чтобы коннектиться к инстансам и что-то там в терминале писать и разглядывать htop, возможно имеет смысл наладить мониторинг нормальный? Ну или выполнять профилирование при помощи специализированных инструментов например.
@Alex.M.
@Alex.M. Жыл бұрын
Декоратором роутинги над функциями, если память не подводит, такого нет в джанго, зато есть во фласке.
@diosioqmartina8230
@diosioqmartina8230 Жыл бұрын
Спасибо за отличное видео. Если не ошибаюсь CharField создает поле VARCHAR в бд, а TextField - TEXT
@python_interview
@python_interview Жыл бұрын
Проверил, да действительно, я ошибался)
@megagluik100
@megagluik100 Жыл бұрын
некоторые вопросы прям совсем примитивные (не простые, а именно примитивные, как будто сначала просят решить квадратное уравнение, а потом спросить, что означает маленькая двойка в правом верхнем углу от икс), а некоторые вполне норм в любом случае интервью больше как экзамен, подготовили 100 вопросов, из которых многие ваще не нужны (ощущается, что ребята натренировались интервьюить джунов, но не поняли, что для интервьюирования синьоров не достаточно просто добавить вопросов) примеры для ревью они тоже конечно так себе составили) автор молодец, не считая душку вначале про консольные утилиты (я тоже согласен, что это очень субъективные вопросы и гуглятся на раз два) и немного базы - все збс ответил
@galandec2000
@galandec2000 6 ай бұрын
о прикольно, почти все знаю, 80% точно могу ответить. хотя не писал на нем лет 7.. считаю пока себя джун уровнем в нем. талант не пропьешь!)))) такое впечатление что те кто спрашивают, знают меньше чем тот у кого спрашивают.😂
@denismerigold486
@denismerigold486 Жыл бұрын
Как я скучаю по собеседования в России, было всё так просто. А были ли более углублённые вопросы касательно опыта/команды и тд?
@python_interview
@python_interview Жыл бұрын
Именно на этом вроде не было, хотя обычно на этих вопросах делают акцент
@ChannelYoJo
@ChannelYoJo Жыл бұрын
Классный контент А какой фидбек от интервьюэров получил?
@python_interview
@python_interview Жыл бұрын
Не было фидбека)
@user-qe3dn1bi3t
@user-qe3dn1bi3t Жыл бұрын
привет! по идее ты бываешь на собесах достаточно часто. какой их процент в среднем заканчивается оффером для тебя? спасибо за контент )
@python_interview
@python_interview Жыл бұрын
Привет! Зависит от ситуации на рынке. Раньше были часто офферы, примерно 50/50. Последний раз когда недавно проходил собесы, то наверное процентов 20 успешных только было)
@ilaktionov
@ilaktionov Жыл бұрын
Докер не обязательно развернется одинаково на всех средах, например тенсорфлоу и процессор м1
@codingjerk
@codingjerk 4 ай бұрын
Хорошее замечание, ещё ядра всё же могут отличаться в разных средах, ибо контейнер это не виртуалка
@megagluik100
@megagluik100 Жыл бұрын
(непрошеный совет) я присоединюсь к мнению из комментов на счет того, что даешь слишком быстро ответы. вопробуй как-нибудь по-другому, ради эксперимента смотри, у тебя на интервью (предположим) 1 час. ты можешь либо быстро ответить на 30 вопросов, либо ответить на 10 вопросов, но развернуто и уйти вглубь. таким образом ты во-первых покажешь, что ты более задрот и обожаешь выжигать код глазами (это плюс для интервьюирующего), во-вторых возможно тебе не успеют задать какой-нить душный вопрос, на который ты не знаешь ответ, в третьих (возможно) сможете зацепиться и развить тему, перейдя из режима экзамена в режим ламповой беседы. из минусов, конечно, если интервьюрующий тоже шарит и вы зайдете слишком глубоко и ты где-то потеряешься, но имхо тут это стоит того) спасибо, за то что заливаешь интервью, очень познавательно! продолжай в том же духе!
@python_interview
@python_interview Жыл бұрын
Спасибо, в след раз попробую такой подход)
@green1278dramost5
@green1278dramost5 Жыл бұрын
Вы отвечаете на вопросы МАКСИМАЛЬНО сжато. Это намеренная стратегия? :) Т.е. вы рассуждаете так: если краткий ответ входит в ожидаемый развернутый ответ, то это должны принять?
@python_interview
@python_interview Жыл бұрын
Если честно я не понял, что от меня хотели услышать, так как не получал фидбэк на свои ответы) Задавали вопрос, я на него отвечал, затем следовал следующий вопрос и тд. Т.е. со мной не пытались вести какого-то диалога, поэтому я предположил, что это некий блиц вопрос-ответ. Ну и большинство вопросов были закрытыми, а отвечать на них открыто довольно тяжело (возможно это только моя проблема). Плюс меня немного смутило то, что когда я давал ответ другими словами, то на него реакция была, как на неправильный. Вследствие этого энтузиазм поубавился)
@green1278dramost5
@green1278dramost5 Жыл бұрын
@@python_interview Я заметил, что вы и на других собеседованиях также кратко отвечаете на вопросы. Припоминаю, что для одного из ваших видео был комментарий, что вы опытный собеседуемый и отвечаете только то, что спрашивают, чтобы у собеседующих не возникали зацепки для дополнительных вопросов по теме. У же, например, как и на экзаменах начинаю в ответ на вопрос выдавать все, что знаю, порой уходя от первоначальной темы. Видимо это не всегда прпвильно :)
@python_interview
@python_interview Жыл бұрын
Хорошо, когда вначале говорят, какие ответы нужны и не приходится угадывать. Часто предупреждают, что если будут слышать правильное начало развернутого ответа, то перебьют, чтобы не тратить лишнее время. А если хотят услышать больше, то задают дополнительные наводящие вопросы)
@TheDelwish
@TheDelwish 4 ай бұрын
не смотрел все, тыкнул случайно, на 1:01:00 . ну как сказать в чем проблема? видно, что спрашивающие сами несильно дотягивают до уровня сеньоров ибо в этой шаблонке куча проблем и намеренный мистайпинг, это малая часть этих проблем. там с ООП все очень плохо, зачем-то передается структура данных со свойствами, которая внутри размазывается на публичные поля (что создает потенциально сильную связность, если у вас прям логика завязана на эти данные ну так запихните их в класс, как это стандартно делается в питоне). класс Dog без особых на то причин нарушает интерфейс публичный Animal добавляя новое свойство , при этом нигде не описывается, что такое новое поведение добавлено, аля какое-нибуль breedable . Вершина ужаса это класс Коровы, которая вообще ничего не делает только добавляет публичные методы несовместимые с интерфейсом (базовым классом). т.е. написана ниочемная логика, а уже поломано поведение т.о. что придется на каждом участке программы писать кучу проверок, что за класс, и что он умеет. подобный код сразу в помойку. совет новичкам - когда пишете сразу думайте о двух вещах - как вы это тестировать будете (пускай даже гипотетически) и как вы этим пользоваться будете в разичных сценариях программы. данным кодом пользоваться нельзя, тут ООП (наследование) не помогает , а делает все только хуже, ибо написано криво
@remsha
@remsha Жыл бұрын
Привет, расскажи почему ты ходишь на собесы? Сначала у тебя были мидловые, теперь сеньорские. Ты в поисках работы или просто качаешь бицуху в собесах?
@python_interview
@python_interview Жыл бұрын
Привет, по разному. В каких-то искал новую работу, в каких-то просто смотрел рынок, чтобы лучше понимать, что сейчас востребовано и что за это предлагают)
@user-xg8qt8ky1s
@user-xg8qt8ky1s Жыл бұрын
Да контент он пилит. Разве не понятно?
@denismerigold486
@denismerigold486 Жыл бұрын
Всегда нужно ходить на собесы, а то можно потерять этот навык.
@PanicWassano
@PanicWassano Жыл бұрын
@@denismerigold486 навык не теряется, если не прокрастинировать на работе)
@gvadellupa9335
@gvadellupa9335 Жыл бұрын
Кстати, то, что User ссылается на Wallet по связи FK - это ж вроде некорректно. Должно ведь быть, что у ЮЗЕРА может быть несколько КОШЕЛЬКОВ, а не у КОШЕЛЬКА несколько ЮЗЕРОВ.
@python_interview
@python_interview Жыл бұрын
Верно, я не заметил этого)
@codingjerk
@codingjerk 4 ай бұрын
Зависит от желаемого поведения, может иметь смысл даже many-to-many, а-ля кошельки с совместным владением.
@molochnikzero
@molochnikzero Ай бұрын
На счёт poetry не соглашусь - pip сейчас сам хорошо справляется с выбором нужной версии библиотеки. Основная и главная фишка poetry, pipenv, pdm и прочих подобных пакетных меннаджеров - это избегание ситуации, когда какой-нибудь малолетний дебил в твою зависимость версии берёт и форспушит. lock-file - это то, ради чего стоит использовать эти штуки. И по этому, когда в какой-то момент на проде у тебя не собирается пакет из-за проблем с зависимостями - не поленись и посмотри что там отъебнуло, вместо удаления и создания заново локфайла, анон!
@user-no5hc7eo8t
@user-no5hc7eo8t 5 ай бұрын
на 4 минуте подумал, что тут собеседование по 1С проходят)
@neoblackhat1798
@neoblackhat1798 Жыл бұрын
норм! Пили еще! у меня года два назад более хардкорное интервью было. на алгоритмах пролетел и чертовых брокерах типа кролика. а вообще судя по уровню вопросов парни на проводе явно не сеньоры. первое, что у меня спросил сеньор на собесе - почему интерпретатор твой враг?
@Antonio-ib6ii
@Antonio-ib6ii Жыл бұрын
автор тоже отвечает на уровне жуниора если честно. Давно не собесился видимо.
@NoName-ky2eq
@NoName-ky2eq 7 ай бұрын
А что по rabbitmq спрашивали?
@neoblackhat1798
@neoblackhat1798 7 ай бұрын
чем отличается от kafka и как правильно использовать@@NoName-ky2eq
@user-rx2gq9ly5h
@user-rx2gq9ly5h 8 ай бұрын
Бедного чела прям замучили вопросами начального уровня, лучше б была абстрактная задачка на создание какого-нить сервиса. А то с такого собеса прям сбежать охото, жуткая душнота
@user-ez1ni2jj6t
@user-ez1ni2jj6t 3 ай бұрын
Мамкины собеседователи
@nightblure
@nightblure Жыл бұрын
спасибо что пофиксил звук) оффер получил?
@python_interview
@python_interview Жыл бұрын
нет(
@gheorghemirca3840
@gheorghemirca3840 Жыл бұрын
Является ли нормальным тот факт, что класс Cow наследует класс Dog?
@python_interview
@python_interview Жыл бұрын
Думаю, что нет, но я не совсем понял суть задания. Нужно ли было оценивать это как абстрактный код и искать только ошибки по питон коду? Или с точки зрения проектирования и реализации методов? Мне вроде сказали представить, что с методами все норм, они просто выполняют какую-то функцию. И я пытался ревьювить, отталкиваясь от этого, не обращая внимания, что принтится по логике там не то, за что должен отвечать метод, и что корова наследуется от собаки, а не от животного. Я вырезал рассуждения о том, что по такой логике у коровы будет порода (breed), потому что сказали, что с этим все ок)
@user-rp6cz7gf8d
@user-rp6cz7gf8d Ай бұрын
Автор красава. Судя по интонации интервьюров - токсичный климат в комманде. Не особо хочется им этим всем заниматься и новых людей в комманду набирать. Ну раз уж начальство из-под палки заставило то что поделать....
@mxnsprod
@mxnsprod Жыл бұрын
Слушай, вообще интересный контент. Собеседующие действительно вялые, но, возможно, они просто ожидали более развернутых ответов и альтернатив. по базам питона как будто плаваешь, тот же лутц в своей книженции довольно подробно расписывал вопросы про типы. Один раз прочитал, всех удивил. Я сам, дай боже джун минус, но раз на раз твои ответы меня смущали. В любом случае, однозначно лайк за контент!
@user-tm2og6kk9b
@user-tm2og6kk9b 5 ай бұрын
Знаю синьоров которые ни один джуновский собес не пройдут нормально, ибо нахрен не нужно держать в памяти джуновский контекст, там более важный предметный контекст. Его на стековерфлоу не загуглишь и в книжке лутса по-быстрому не прочитаешь
@rawanqurmet3795
@rawanqurmet3795 3 ай бұрын
это мок-интервью или настоящее? ощущение будто друг другу не особо рады)
@python_interview
@python_interview 3 ай бұрын
Настоящее)
@rawanqurmet3795
@rawanqurmet3795 3 ай бұрын
@@python_interview если нужны такие интервью, можем слелать колл, думаю ответы будут хорошего качества. Посмотрим докуда можно планку повысить. Я senior, пишу 15+ лет
@rawanqurmet3795
@rawanqurmet3795 3 ай бұрын
@@python_interview гоу к вам приду на собес, чисто для контента. обещаю качественные ответы, хочу посмотреть до каких рамок можно себя толкнуть. Senior Python Engineer, 15+ опыта
@user-dh5ip3uu8k
@user-dh5ip3uu8k 2 ай бұрын
офер дали в итоге?
@python_interview
@python_interview 2 ай бұрын
Нет
@nicsolov9821
@nicsolov9821 Жыл бұрын
Мне кажется, этот интервьюер очень хорошо знаком, компания случайно не в Армении/Грузии?
@python_interview
@python_interview Жыл бұрын
Неа
@nicsolov9821
@nicsolov9821 Жыл бұрын
@@python_interview Вероятно, что показалось. И да, если вы сейчас в РФ, то как-бы вы оценили сегодняшние реалии рынка?
@python_interview
@python_interview Жыл бұрын
@@nicsolov9821 Я сейчас не в РФ, но мне кажется, что рынок перегружен. 1. Раньше тех. собес пытались назначить как можно раньше, сейчас чуть ли не на след. неделе только слоты свободные 2. Частенько после созвона с hr долго откладывали тех собес, а потом либо игнорили, либо писали спустя несколько недель, что вакансия закрыта. Это мои субъективные ощущения, может у кого-то по-другому)
@nicsolov9821
@nicsolov9821 Жыл бұрын
@@python_interview Мне кажется, что на рынок идёт кризис по всему миру, это печалит. А ещё просто сумасшедший поток новичков. Можно ли узнать, куда вы перебрались?
@python_interview
@python_interview Жыл бұрын
@@nicsolov9821 В Грузию
@Antonio-ib6ii
@Antonio-ib6ii Жыл бұрын
Первые пол часа вопросы на уровень Джуна. Надеюсь дальше интереснее
@gvadellupa9335
@gvadellupa9335 Жыл бұрын
Мне кажется, не совсем корректно говорить "вопросы уровня Джуна". Тут скорее дело в ответе. Джун ответит по-своему, мидл/синьор - уже по-другому. Грубо говоря, чем выше грейд, тем более детальное понимание должно быть той или иной технологии, соответственно и ответ более развёрнутый
@ChannelYoJo
@ChannelYoJo Жыл бұрын
Странное суждение, ведь на втором вопросе про индексы БД автор смешивает хэшмату и B-Tree. Хотя это, конечно, разные структуры, в которых поиск происходит за разное время O(1) / O(log). Про одни индексы можно рассказывать и рассуждать минут 10 на интервью
@PanicWassano
@PanicWassano Жыл бұрын
@@ChannelYoJo тут не только разное время, хеш поддерживает только оператор equality. Еще можно добавить, что индекс хранится отдельно от таблицы, и если мы выбираем поле (на котором висит индекс), то запроса в основную таблицу может и не быть.
@galandec2000
@galandec2000 6 ай бұрын
не совсем понятен вопрос про процессы.. процессы где в linux или в Python? как и потоки. ибо это прям сверх разное.)) потоков ограничение минимум-5, максимум-50 и работают они с общей памятью. процессы могут быть любого количества главное чтоб хватило ресурса и работают как отдельный процесс со своим GIL, если ядер не хватает будут исполняться конкурентно. с потоками не совсем так в python, они со своими особенностями и количество потоков не равно "быстрее выполнится", в отличии от процессов. потоки надо подбирать по количеству для производительности, в разных задачах они по разному будут отрабатывать. тоеcть если у нас 10 потоков то 5 может оказаться быстрее чем 10, или 7. и на них не рекомендуется выполнять счетные операции, каки анализ данных, их лучше на процессах делать, так быстрее. это я про python процессы и потоки.)) вдруг кому пригодится. а то часто пользуются потоками для вычисления. а они блочат GIL и выполнение медленное на выходе.. на процессах такое выполняйте, будет вам шастье.))) и python не будет медленным.)))
@user-zt2ob3le7e
@user-zt2ob3le7e Ай бұрын
Со всем уважением, но как по мне, так все заданные вопросы должен знать мидл. С сеньором стоит разговаривать на более фундаментальные темы или про интересные фишки.
@python_interview
@python_interview Ай бұрын
полностью согласен
@borismish3017
@borismish3017 5 ай бұрын
Вопросы уровня мидл.
@user-zx9el2ld7g
@user-zx9el2ld7g Жыл бұрын
Ужасный собес, собеседующий максимально не заинтересован в процессе. Очень скучно, кажется, что даже джун бы прошёл данный собес, поскольку собеседующий никак не раскрывал суть вопроса.
@VintHeXer
@VintHeXer Жыл бұрын
Вспомнил, как я проходил однажды через кадровое агентство, где при ответе на вопрос не было не то что диалога, а вообще полный "разрыв связи": - Что делает этот код? - _рассказываю_ *пауза в 15 секунд* - Алло? - Да? - Я ответил - Хорошо, следующий код. И так далее.
@Antonio-ib6ii
@Antonio-ib6ii Жыл бұрын
Слабо про линукс и субд
@saralightbourne
@saralightbourne Жыл бұрын
какой senior… это слабый junior
@ivan2885
@ivan2885 Жыл бұрын
и где он слабьій junior?
@saralightbourne
@saralightbourne Жыл бұрын
@@ivan2885 все вопросы про синтаксис питона, основы бд и чуть-чуть linux. это trainee
@ivan2885
@ivan2885 Жыл бұрын
@@saralightbourne и солид на примерах тоже trainee, если єто трейни то тогда какие вопросьі должньі бить на senior?
@saralightbourne
@saralightbourne Жыл бұрын
@@ivan2885 junior - какие-то конкретные технологии (python, django) middle - независимость от конкретных технологий, лучшее знание альтернатив (плюсы / минусы подходов). но им нужен senior для координации senior - понимание доменной области, когда какие технологии и архитектуры использовать, умение направлять и решать бизнес-проблемы я проходила интервью на senior, меня даже ни одного вопроса по python не спросили. всё время обсуждали разные бизнес кейсы, опыт в деталях и какие бы решения я приняла в таких-то ситуациях
@user-cx8kh4sb2i
@user-cx8kh4sb2i Ай бұрын
ребят, если это на $5000 то это просто смех ебаный)
@evilkite6816
@evilkite6816 Жыл бұрын
Кринж. И это синьёр?
@Gribori
@Gribori 8 ай бұрын
Ну вот да, тоже показалось, что вопросы не для помидора
@user-hp7pc3lv3v
@user-hp7pc3lv3v Жыл бұрын
Чел, по Линуксу и докеру твои ответы - это трыедец. Дальше пока не смотрел) А вообще, такое впечатление, что тебе на них так же пох, как и им на тебя) По питону чёт тоже не особо, изменяемые и неизменяемые типы - незачет...
@python_interview
@python_interview Жыл бұрын
Мне вопросы показались странными, поэтому так и отвечал) Меня спрашивают, как можно посмотреть список процессов. Я отвечаю, но мой ответ не совпадает с тем, что на листочке в ожидаемых и начинаются вопросы по типу "а если у тебя этого нет, а если у тебя того нет". Но у меня же все это есть, а если нет, то я загуглю и найду другой способ) Не понимаю, зачем я должен знать наизусь все команды линукса и за что отвечает каждая циферка в chmod)
@user-yj8kp1kx6x
@user-yj8kp1kx6x Жыл бұрын
@@python_interview не понятно зачем так душили по линуксу, как по мне это реально очень странно
@klasdtigra
@klasdtigra 7 ай бұрын
@@python_interview Ну я не совсем соглашусь с этой позицией, то что ты не знал команды top ps df это показывает что ты редко ходишь куда-то по ssh, а для бекенд разработчика это бывает нужно Поинт про загуглить был б актуален если б они тебя попросили что-то не тривиальное для отображать список всех запущенных дискрипторов или что-то в таком духе Просто почему в их глазах ты получил минус за такой ответ > разработчик который все время гуглит тривиальные действия это медленный разработчик Ну и про БД как раз видно что с высокой нагрузкой ты не работал потому что не сталкивался с проблемами которые могут вызвать неправильно вызванный уровень изоляции например, такие вещи все же лучше умело скрывать на собесе начитавшись теории и от зубов рассказывая что такое serializable read uncommited read commited и reperable read если что замечание не уменьшить мотивацию а попытка раскрыть почему за те или иные вопросы ты получал минусы в глазах собеседующего
Собеседование на позицию Senior Python Developer 5000$ #12
21:18
Python собеседования
Рет қаралды 2,7 М.
Собеседование на позицию Senior Python Developer 350т.р. #10
24:29
Python собеседования
Рет қаралды 14 М.
1🥺🎉 #thankyou
00:29
はじめしゃちょー(hajime)
Рет қаралды 20 МЛН
Пришёл Intern - оказался JUNIOR Strong / Интервью на позицию DevOps Engineer / Мок собес  / 1
1:36:38
Принципы SOLID / С Примерами На Python
12:36
PyLounge - программирование на Python и всё о IT
Рет қаралды 12 М.