Тёмный

Александров Сергей (Ярославль) Собеседование python разработчик 

Андрей += Пронин
Подписаться 25 тыс.
Просмотров 5 тыс.
50% 1

t.me/RU-vidPr...
Чат для общения python разработчиков и им сочуствующих. Свободное общение, тестовые и вопросы с собесов и прочее. Заходите, там вам рады.
Поддержать канал: www.tinkoff.ru...
Обычно денежка идёт на книжки про питончик. Но иногда на светлое и тёмное.
Если Тиньков не даёт перечислить, стукните в личку телеги andpronin, придумаем что нибудь
Виш лист
Хорошие книги по Питончику, которые могу рекомендовать (и хочу купить с вашей помощью).
Изучаем Python. Двухтомник. Марк Лутц. Очень подробно и структурно (Хочу дождаться 6го издания.. )
• Изучаем Python с Марко...
Читаем и разбираем ее тут
Куплено (огромное спасибо зрителям)
Знакомство с Python | Бейдер Дэн (2023) - выглядит приятно для новичка
Чистый Python. Тонкости программирования для профи | Бейдер Дэн (2022) - хорошо для продолжения
Высоконагруженные приложения. Программирование, масштабирование, поддержка | Клеппман Мартин
Python. К вершинам мастерства | Рамальо Лучано - 2е издание - сложно для новичка, но интересно
Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура -- хорошо про то, когда какой фреймворк применять
Видимо, дальше появтся еще нескромные желания. Но пока - так
Моя тележка andpronin -- стучите, если что.
Мой канал про обучению python с нуля и до мидла Андрей+=Пронин
/ @pypronin
Я в других сетях
🔗Вконтакте: CaptPronin
🔗Дзен: zen.yandex.ru/...
#python #питон #программирование #Андрей_Пронин #собеседование #

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 37   
@7IdE
@7IdE 9 месяцев назад
Ну, крайне неуверенный в себе чувак, конечно, но отдать должное - инженерные мозги у него точно есть. И он ими даже пользоваться может. Да, тут сразу чувствуется, что алгоритмической подготовки у него особой нет - но при этом очень и очень здраво размышляет, а не гадает. Особенно после фразы Олега "мб лучше думать, а не вспоминать?" Но это все фиксится за месяц-два чтения Кормена и решения Литкода. Также весьма бодро пишет код - явно "не в первый раз" пишет. Множества активно применяет - это тоже найс. Ну и в конце, когда получил подсказку насчет словарей - сразу же сходу придумал корректный алгоритм. Из минусов - 1-2 раза, когда он сказал "нужно использовать множество", мне показалось, что это он "просто сказал", а не "увидел возможное решение". Ну и то, что изначально он хотел оптимизировать место с сортировкой, а не цикл - это было странно, с учетом того, что уравнение-то он корректное написал. Так что, весьма неплохо, как по мне. P.S. Итоговая сложность его алгоритма будет О( n * m ) + O( 2 * n ) + O( n * log(n) ) O( n * m + n * log(n) ) Где O( 2 * n ) O( n ) и O( n ) + O( n * log(n) ) O( n * log(n) ) А убрать сложность сортировки тут нельзя, т.к. относительно n сортировка имеет самую высокую скорость роста. Ну а сказать, что это все эквивалентно О(N^2), где N = max(n, m) - это уж очень грубая оценка. Ибо с тем же успехом можно было бы сказать, что финальная сложность 0(N!). Соррян, но надо было подушнить. :D
@ИванИванов-д7н6л
@ИванИванов-д7н6л 9 месяцев назад
Смотришь собесы тут, потом идешь и смотришь требования на джунов на том же хх, и начинаются когнитивные искажения.
@УлановАлександр-м4е
@УлановАлександр-м4е 10 месяцев назад
Очень интересно было посмотреть!
@ekaterina6235
@ekaterina6235 10 месяцев назад
Спасибо за видео)
@IvanIvanov-xd2rb
@IvanIvanov-xd2rb 9 месяцев назад
Сидя дома на диване сразу приходят нужные идеи, а вот на собеседовании все по другому . Как с этим бороться ?
@AndyPronin
@AndyPronin 9 месяцев назад
практикой
@IvanIvanov-xd2rb
@IvanIvanov-xd2rb 9 месяцев назад
@@AndyProninя думал может таблетки посоветуете 😂
@Chel1k7
@Chel1k7 9 месяцев назад
@@IvanIvanov-xd2rbпивка бахни перед собесом
@Maine__Coon__1
@Maine__Coon__1 10 месяцев назад
Приветствую
@myxapg4758
@myxapg4758 8 месяцев назад
From collections import Counter)
@mak32
@mak32 9 месяцев назад
Вот смотрю периодически и как в поговорке у меня: "чужую беду, руками разведу", а по факту наверное нет
@yemtsev-dmytro
@yemtsev-dmytro 9 месяцев назад
А если в первом 5555 а во втором 5777? Нужно 5777 на вьіходе?
@akarigale173
@akarigale173 9 месяцев назад
А нельзя сразу аккуратно описать условие задачи, а не раскрывать разные ее стороны по ходу решения собеседуемым? Ну глупо же получается, нужно какие-то интервью для интервьюеров устраивать на проф. пригодность
@yemtsev-dmytro
@yemtsev-dmytro 9 месяцев назад
Ведучий запутал в первом вопросе… сказал что если в первом 555, а во втором 5. Велущий тупо путает
@БлаговестНедков-ж5ы
@БлаговестНедков-ж5ы 9 месяцев назад
def some_foo(arr1, arr2) -> list: return list(set([num for num in arr2 if num not in arr1]))
@DaNeo18
@DaNeo18 9 месяцев назад
Тоже сразу такое пришло в голову
@ДенисМедведев-о7д
@ДенисМедведев-о7д 8 месяцев назад
Неправильно. Если arr1 = [5, 5], а arr2 = [5, 5, 5], то функция вернёт пустой список, а нужно чтоб вернула [5].
@sergeysakara4842
@sergeysakara4842 7 месяцев назад
def your_func(a, b): res = [] for num in a: if num not in b: res.append(num) return res
@I_A_Terekhov_tube
@I_A_Terekhov_tube 6 месяцев назад
def some_func(arr1: list, arr2: list): rounds = len(arr1) for round in range(rounds): for elem in arr1: if elem in arr2: arr1.remove(elem) arr2.remove(elem) return arr2 arr1 = [7, 2, 5, 3, 5, 3] arr2 = [7, 2, 5, 4, 6, 3, 5, 3, 5] # вернуть элементы, отсутствующие в arr1 -> 4, 5, 6 print(some_func(arr1, arr2))
@justman073
@justman073 5 месяцев назад
Кубическая сложность по времени
@AHTOH_IO
@AHTOH_IO 9 месяцев назад
list(set(arr1).difference(set(arr2))) это чит? А, досмотрел до 24 минуты и понял что чит... В условиях не звучало "с сохранением дублей"!
@marat_shaydulin
@marat_shaydulin 9 месяцев назад
from collections import Counter def arr_dif(arr1, arr2): return list((Counter(arr2) - Counter(arr1)).elements())
@evgends
@evgends 7 месяцев назад
а если без Counter?
@lesbian_economy
@lesbian_economy 9 месяцев назад
Все таки я думаю это не очень трудно указывать таймкоды перед тем, как заливать видео.
@AndyPronin
@AndyPronin 9 месяцев назад
Полностью согласен. Там надо просто цифры через двоеточия минута:секунда, и описание того, что в это время происходит. Сможете сделать?
@lesbian_economy
@lesbian_economy 9 месяцев назад
@@AndyPronin пассивная агрессия это одна из скреп всего it сообщества
@alchi_alchi_
@alchi_alchi_ 10 месяцев назад
В таком виде код, конечно, упадет. Нет проверки наличия элемента во втором списке перед удалением и sort так не работает. Хорошо, когда в первую очередь смотрят на способность мыслить и рассуждать, но тогда можно писать на псевдокоде.
@mikeofs1304
@mikeofs1304 9 месяцев назад
Имхо, но главная ошибка (как и у многих других) - соискатель не уточняет досконально все условия задачи которая изначально поставлено слишком широко (вероятно специально), а бросается ее решать
@ИльяКазак-ш4р
@ИльяКазак-ш4р 4 месяца назад
Этот плохо ведет собеседование, во всех роликах он очень размыто говорит и сильно путает кандидата..
@АнтонКоноп-в5й
@АнтонКоноп-в5й 6 месяцев назад
res = [i * (arr2.count(i) - arr1.count(i)) for i in set(arr2) if arr2.count(i) > arr1.count(i)]
@Mr_robot_001
@Mr_robot_001 9 месяцев назад
Побольше собесов с Олегом. Мужик реально топчик. 👍👍👍
@AndyRoid1986
@AndyRoid1986 5 месяцев назад
Фух, решил рассмотреть вариант с библиотекой, пол дня убил на функцию которая выдаст остаток вычитания списков def listaminuslistb(a:list,b:list): #не хотел трогать изначальный лист #программа выдасть разницу a1=a.copy() b1=dict.fromkeys(b,0) #создаем словарь for i in b: b1[i]+=1 # значения в б и их количество zzz=list(b1.keys()) #значения в списке kkk=list(b1.values()) #кол значений в списке for i in range(len(zzz)): for j in range(kkk[i]): if zzz[i] in a1: a1.remove(zzz[i]) #удаляем значения из а ,если есть по кол раз в б return a1 #остаток а после вычитания
@ВасилийБаритонов-щ5ы
@ВасилийБаритонов-щ5ы 2 месяца назад
return obj1 ^ obj2 Это что так сложно?
@mikeofs1304
@mikeofs1304 9 месяцев назад
Еще наверное стоило бы упомянуть , что использование хэшей меняет стоимость в "процессорном времени" на стоимость "в памяти". И если по памяти есть ограничения, то тогда упростить алгоритм можно отсортировав оба массива, и двигаясь от начала сравнивать элементы и их индексы, тогда бы получили 2 n log n
@igorz5804
@igorz5804 9 месяцев назад
"Найдите элементы, которые не повторяются, но повторяются".
@mikeofs1304
@mikeofs1304 9 месяцев назад
Еще наверное стоило бы упомянуть , что использование хэшей меняет стоимость в "процессорном времени" на стоимость "в памяти". И если по памяти есть ограничения, то тогда упростить алгоритм можно отсортировав оба массива, и двигаясь от начала сравнивать элементы и их индексы, тогда бы получили 2 n log n
@justman073
@justman073 5 месяцев назад
Но если ты сортируешь их через .sort(), то как побочный эффект ты изменяешь список чисел по ссылке, это может изменить логику программы в другом месте, где используется этот же список, безопасным способом будет локально хранить sorted() версию, но это даст линейную сложность по памяти
Далее
+1000 Aura For This Save! 🥵
00:19
Просмотров 9 млн
+1000 Aura For This Save! 🥵
00:19
Просмотров 9 млн