Собеседование на позицию Senior Python Developer 350т.р. #10
HTML-код
- Опубликовано: 28 сен 2024
- 00:00 - первая задача по python
01:05 - вторая задача по python
02:31 - третья задача по python
05:00 - что такое асинхронность
07:02 - что такое django middleware
08:21 - запрос на sql
10:08 - отличие реляционной базы от нереляционной
12:43 - минусы использования индексов
13:16 - задача на архитектуру
#собеседование #backend #python #senior #сеньор #интервью #программирование #sql
Всем привет! Давно не выкладывал видео. В последних собеседованиях были либо сильные проблемы со звуком, либо материал получался скудным с малым количеством интересных/сложных вопросов.
Это интервью получилось тоже небольшое. Думал выкладывать или нет)
Дайте обратную связь нужны ли подобные собесы или лучше выкладывать более насыщенные тех. вопросами?
P.S. Уже предвижу комментарии по типу "И это интервью на сеньора?" и поэтому заранее отвечу. По моим наблюдениями, чем выше грейд, тем меньше технических вопросов и задач. На джуна и миддла валили гораздо сильнее и количеством, и качеством) Большинство сеньорских собеседований превращаются в "поговорить за жизнь и опыт" + немного вопросов. Поэтому это еще одна причина, почему нет новых видосов)
Думаю стоит выставлять все собесы где хорошо слышны вопросы и ответы.
Так же и алгоритмы ютуба будут видеть активность канала и лучше его продвигать.
Скучные можно помечать как-либо.
Будет ли вам интересно самому кого-нибудь проинтервьюировать, например меня, на позицию джуна?
@@green1278dramost5 Не было такого опыта, так что не уверен, что получится хорошее интервью)
@@python_interview а что у тебя вообще по бэкграунду? Универ, стажировки? Или же сам путь проложил, мб курсы какие
@@gvadellupa9335 Универ)
Лайк не глядя.
Автор, спасибо тебе за твою работу.
Блинн мы эти задачи для Junior-а даем в PHP )) Что за эти вопросы ))
Часто интервьюер не знает грейд интервьюируемого, чтобы объективно оценить
Вы просто гоев на бабки разводит, сеньёрам джуновские зп платите
Что такоэ рнр? Русское народное единство?
Поэтому все и хоронят рнр
С вопросом про асинхронность, всё же если его понимать так, как он был задан: объяснить человеку, который не понимает, что это, то можно было привести вот такое объяснение
МакДональдс, касса, продавец, покупатели. Представь, что после принятия заказа у первого покупателя, второй покупатель будет ждать, пока не будет выполнен заказ первого. Синхронщина) Но если брать то, как это работает в жизни: заказ приняли, дальше принимают следующий и тд... то получается асинхронка) Надеюсь, понятно расписал
Ваш пример не описывает асинхронное программирование. Работники кухни не реализовывают асинхронный подход, они выступают в роли отдельных параллельных процессов / потоков.
@@rubyxanax4239 Да, соглашусь. В моем примере нужно представлять кухню как единый процесс, а лучше даже единый поток -_-
На канале Диджитализируй (вроде бы, но мб на другом канале) приводился этот пример, мне вот запомнился) Лучше там глянуть, чтобы без искажений
Собственно да, вот небольшой видосик
ruclips.net/video/b3iXdDmXm7s/видео.html
@@gvadellupa9335 этот пример в оф. документации FastApi
@@umni_kot воу, не знал)
вопросы, которые были у меня на собесах по python middle (все не перечислю):
1. какая алгоритмическая сложность добавления элементов в список / словарь / множество?
2. что такое RPC в python? как он работает?
3. для чего нужны tell и seek?
4. GIL в python и в чем его проблема? (ну это уже более-менее адекватный вопрос)
5. functools wrapper для чего используется?
и прочие вопросы про многопоточность, параллелизм и асинхронность
сразу вываливают такие вопросы. это сложно.
без всякого типа инкапсуляция Python, наследование, и прочее-прочее, к чему ты можешь подготовиться и ответить нормально. в общем давят неожиданными задротскими вопросами.
я полагаю, что вопросы, которые встречаются в видео на ютубе, просто отсутствуют в реальной практике собеседований на данный момент.
Смотрю с техлидской колокольни, но ничего плохого (и тем более задротского) в вопросах не вижу. Лично я бы при проведении собеса мог бы задать каждый из них в зависимости от того с чем человек работал до этого и с чем ему придётся работать. Правда я собесы не считаю экзаменом и вопросы использую не как чеклист а-ля "знает/не знает" чтобы кандидатов отметать, а как способ в целом прощупать глубину и ширину знаний.
Допускаю, что вам на интервью попался чел с установкой "пробежаться по вопроснику как на экзамене", а то и с целью "завалить". Тогда неприятно. Но сами вопросы нормальные.
Вчера был на собеседовании и мне покалывали именно эти картинки 1 в 1
Извиняюсь, но чел который собеседуется, я бы даже задумался об его принятии на позицию мидла.... Теория на уровне джун ту мидл, практика на уровне джуна, но нужно тестовое ему замороченное дать на логику. Автор красавчик, формат собеса супер.
По поводу твоего комментария сверху, то соглашусь, когда проходил собес на тим лида, то меня больше гоняли не по базовым вопросам, а больше вопросов было в плане высокой нагрузки и как решить проблемы с ней, что изменить или какие варианты можешь предложить и каждый детально описывал "что зачем и почему" + что из этого всего может выйти в конечно итоге с перечислением всех плюсов и минусов
Достаточно интересное интервью, примеры кода интересные и в общем норм вопросы
Готовишься к разговорам о высоком и повторяешь материал на позицию Senior или Middle, но вдруг задают вопрос с подвохой на уровне Junior, ты теряешься, и тебе обещают перезвонить))
Жиза) Сидишь повторяешь, как какой-нибудь сборщик мусора устроен, а тебя просят перечислить изменяемые/неизменяемые типы данных, и все вылетает из головы)
@@python_interview а итог собеса известен? Был офер или ещё на рассмотрении?
@@gvadellupa9335 Даже обратной связи не дали)
@@python_interview грустно (
@@python_interview Я бы тебе тоже обратную связь не дал. На первые вопросы толком не ответил, запрос можно было без группировок написать, последний вопрос завалил, да и про остальное рассказал как то не убедительно.
Спасибо, оч. интересно! А можно узнать дату собеседования?
"Дайте обратную связь нужны ли подобные собесы или лучше выкладывать более насыщенные тех. вопросами?"
Все интересные, на мой взгляд.
Октябрь 2022
Я понимаю что задачка 3 на внимательность и в реальной жизни может это на скорость разработки не повлияет, но что-то для сеньора человек плавал, уже можно было и подумать сперва
Зачем адекватному разработчику знать, что будет, если применить булевые операции к данным небулевых типов? Адекватный программист такой код сам не напишет, и другому такое запушить в продакшн не даст
Мне кажется, ему не сделали оффера
Обратная связь от меня, раз уж вам компания ничего не дала :)
2. 01:05 Плаваете в поведении стандартных методов, но имхо, это не то, что должно от зубов отскакивать
3. 02:31 Ошибки. Интервьювер рассказал про обе.
4. 05:00 Объяснение с фактическими ошибками, без указания на ключевые отличия разных моделей выполнения
6. 08:21 Второй запрос не заработает, если там просто айдишник на имя заменить
9. 13:16 Мне кажется интервьювер дал задачу не на архитектуру, а на общий проблем солвинг и хотел узнать как ты бы подошёл к решению, не уверен мне послышалось или нет, но вроде он упомянул SQL, возможно он хотел узнать, как бы ты подошёл к отладке и оптимизации запроса.
В целом я думаю норм, я бы взял, но даю моменты для развития:
- Пробежаться ещё раз по Лутцу, чтобы знать как работают условные extend / and и т.д.
- Подтянуть asyncio, можно написать свой реактор на генераторах например, чтобы лучше разобраться во внутренностях и особенностях
- Docker тоже хорошо было бы подтянуть
- Не совсем уверен в текущем уровне, но рекомендовал бы поботать system design (или хотябы подтоговиться к system design интервью)
@Python собеседования Спасибо за видео.
Если не затруднит, как часто на собеседованиях на джуна/мидла дают литкодовские задачи?
Зависит от компаний, литкод задачи любят в крупных (яндекс/тинькофф/епам). На джуна вроде не дают особо, там больше любят тестовые задания на дом
не совсем про Python собеседование. в конце идет уже больше про системный дизайн
Привет, у меня такой вопрос, коммерческого опыта нет, знаю C, люблю Computer Science. Хочу в backend, выбираю между Python, Java, C#, Golang что посоветуете, чтобы легче было устроиться на работу, слышал, что Python-программистов уровня Junior слишком много и труднее будет устроиться?
Привет, я к сожалению не специалист в этой теме. Скорее всего да, много джунов на питоне, т.к. язык простой для входа в IT. Но лучше посмотреть статистику)
Если есть знания, то я бы посоветовал смотреть в сторону GO. Он щас активно развивается, и будут открываться новые вакансии. Плюс он достаточно новый, а значит у всех небольшой опыт работы с ним, и меньше конкуренция)
@@python_interview спасибо большое за ответ
судя по вопросм на собесе, можешь сразу идти на пайтон синьора
Выбирай то, где вакансий больше
А это точно сеньор?
Вопрос 4 про что такое ассинхронность такой крен выдает
Ответ что переключение контекста в асинхронном коде через фучуры происходит как-то по умнее это даже Джуна не достойный ответ
То есть про то как работает await и собственно в чем главное отличие асинхронного кода от мультитрединга с мультипроцессингом мы говорить не будет
Да на самом деле по реакции собеседующего тоже видно что он кринжанул с этого
то есть я ответил на все вопросы верно😂
Собес в рокетдату ?
неа
РТИТС?
Не
@@python_interview :) не может быть
@@python_interview собеседующего зовут Игорь?)
@@Apocalepse не помню, давно дело было)
6:50
-да бля
Что то на Senior-а собес не тянет. Теория почти не затронута
Это вопросы для синьйора? дайте мне 10 вакансий. Вопросы максимум мидловые, кроме архитектуры
Знание asyncio продвинуто это уже требования к джунам. Если яндекс и прочие конторы будут продолжать плодить свои курсы "ЯП за неделю и вход в профессию" я вообще не представляю, что будет дальше и какие еще барьеры будут работодатели ставить😂😂😂.
А где людям знания брать тогда? Самим? В универе?
Как часто пишешь асинхронные http запросы?
Хотите прикольный вопрос? Касается асинхронщины в некоторой степени. У нас есть сервер гуникорн, в нем есть флаги --threads, --workers , для начала в чем разница. Далее, предположим наше приложение написано на фастапи. Окей, верно ли полагать что наши io операции будут ускорены скажем в 10 раз ? 10 тредов ведь, 10 инстансов фастапи, почему ?
Я так слушаю, тут вроде бы человек знает что-то, но опыта то нет, то какой-то он слабый на 350к. Думаю уровень не 350к , мб 70-80
Я примерно с таким опытом, мб только объяснить концепции могу лучше, подаюсь на джуна и ловлю собственно отказы. На мидла тоже отказы, так как нет опыта работы с клаудом, а там где я работал клауд этот был не нужен, точнее самая база, по деплою, но это все через банальный гитлаб решалось...
Если попытаться кратко ответить, то workers для cpu bound задач, threads для io bound. Про ускорение в 10 раз не совсем понял в чем именно вопрос. У нас 1 воркер с 10 тредами и чисто io операции? Тогда прям ровно в 10 раз не будет ускорения, потому что нужно время на создание потоков, обмен данными и тд. Плюс ещё GIL. Или у нас 10 воркеров и решаем cpu задачи? Тогда скорость будет расти до определённой границы в зависимости от кол-ва ядер.
@@python_interview да, норм, тут скорее мини ловушка, ну мол 10 инстансов, почему бы не получить прирост. Да и вообще, интересно как бы кандидат рассуждал, скорее вопрос про это.
Ну вопрос джуновский, так что наверное всем можно задать и явно будет видно как человек мыслит
@@alexk3929 Нормально тебе самооценку задавили, с такими знаниями 70-80 и джуном. Полгода такой обработки - и подберет тебя какая-нибудь галера, будешь там пилить мидловые задачи за джуновскую зарплату и обещания карьерного роста. Еще понукать будут - дескать, мы тебя авансом взяли, рассчитывая что ты быстро вырастешь, а ты чё-то не растешь, держи-ка еще 2-3 проекта параллельно и смотри в сроки уложись.