Собеседование python разработчк Артем Меньшиков (Северодвинск)

  Рет қаралды 31,435

Андрей += Пронин

Андрей += Пронин

8 ай бұрын

t.me/KZbinPronin
Чат для общения pyhton разработчиков и им сочуствующих. Свободное общение, тестовые и вопросы с собесов и прочее. Заходите, там вам рады.
www.tinkoff.ru/rm/pronin.andr... начинаю сбор на книжку с крабом
Если Тиньков не даёт перечислить, стукните в личку телеги andpronin, придумаем что нибудь
Мой канал про обучению python с нуля и до мидла Андрей+=Пронин
/ @pypronin
Я в других сетях
🔗Вконтакте: CaptPronin
🔗Дзен: zen.yandex.ru/id/5fbd33919412...
#python #питон #программирование #Андрей_Пронин #собеседование #

Пікірлер: 115
@cutealister9736
@cutealister9736 8 ай бұрын
Андрей настолько преисполнился, что собеседует самого себя
@bvanbanan
@bvanbanan 4 ай бұрын
😂приквел к Терминатору
@user-bh8qg5gq7b
@user-bh8qg5gq7b 8 ай бұрын
Найти себя в прошлом и.... устроить себе собес, очень профессионально. 😊
@AndyPronin
@AndyPronin 8 ай бұрын
Приключение на полчаса
@Sosed2024
@Sosed2024 8 ай бұрын
Благодарю , классно!😇 Вопросики может будут в тему: 1) про ListComprehansion, 2) про сеттеры интересно послушать.
@AndyPronin
@AndyPronin 8 ай бұрын
учту. задав каком нибудь из собесов.) Спасибо
@technocoh
@technocoh 6 ай бұрын
Хорошее интервью, парень понравился, его ход мысли, решения :)
@slizverg23
@slizverg23 8 ай бұрын
В задаче можно было бы ещё поинтересоваться, должна ли функция возвращать новый список иди изменённый оригинал.
@galogramma8461
@galogramma8461 8 ай бұрын
Расшаривай экранчик звучит как снимай штанишки))
@IlyaChaplenko
@IlyaChaplenko 8 ай бұрын
Встретились как-то Андрей и андрей
@user-nl4ps9rm9o
@user-nl4ps9rm9o 5 ай бұрын
классно справился, респект!
@user-jx6mj5jo8b
@user-jx6mj5jo8b 8 ай бұрын
zeros = lambda lst: list(filter(lambda x: bool(x), lst))+[0]*lst.count(0)
@kaluginpeter
@kaluginpeter 4 ай бұрын
Первая задача есть на литкоде. Относится к медиум сложности. Там по сложнее требования. Для решения на ум сразу пришли два указателя. На выходе константа по памяти и линейно по времени. Оптимально
@podjigalgoroda6523
@podjigalgoroda6523 2 ай бұрын
она относится к изи сложности
@qqqwww8498
@qqqwww8498 5 ай бұрын
Пройтись по списку, посчитать нули, потом их удалить и в конце добавить столько, сколько насчитали
@dimkas4284
@dimkas4284 8 ай бұрын
идеальнее решения не найдёте) O(n) по времени O(1) по памяти с сохранением порядка элементов и переносом нулей в конец def moveZeroes(nums): idx = 0 zero = None while idx < len(nums): if nums[idx] == 0 and zero is None: zero = idx idx += 1 continue if nums[idx] != 0 and zero is not None: nums[idx], nums[zero] = nums[zero], nums[idx] zero = zero + 1 idx += 1 return nums
@Chel1k7
@Chel1k7 8 ай бұрын
Не понял, есть варик о(1) сделать?
@AndyPronin
@AndyPronin 8 ай бұрын
Нормас. да
@dimkas4284
@dimkas4284 8 ай бұрын
@@Chel1k7 по памяти да, по времени нет
@Chel1k7
@Chel1k7 8 ай бұрын
@@dimkas4284 понял, спасибо
@user-sh8tk5dx3w
@user-sh8tk5dx3w 8 ай бұрын
def zero_to_end(collections): end = len(collections) - 1 for i in range(len(collections)): if i == end: break if collections[i] == 0: collections[i], collections[end] = collections[end], collections[i] end -= 1 return collections
@user-ym4mj1pg3h
@user-ym4mj1pg3h 4 ай бұрын
Неплохо так поднимается самооценку ) Учу питон первый месяц. Первое задание выполняется в 1 строку 2-мя способами. А через цикл 3 способа и все они менее громоздкие.
@HUNTER-WR
@HUNTER-WR 3 ай бұрын
В одну строку выполняется при декларативном стиле написания, а могут попросить любой. Знание ЯП это 10-15% от любой выбранной области, так что желаю успехов!) К слову, я учусь 18 месяцев и нихрена не знаю).
@user-ym4mj1pg3h
@user-ym4mj1pg3h 3 ай бұрын
@@HUNTER-WR Ты либо медленно учишься, либо занижаешь свои навыки, либо учишь всё в подряд, либо методика обучения крайне неэффективная. За 2 месяца человек переходит от уровня "print(1)" до уверенного использования ОПП. Далее изучаются необходимые для работы библиотеки. Месяц-два-три на библиотеку для уверенного использования. За 18 месяцев можно пройти путь от нуля до мидла.
@Nina-hy4ql
@Nina-hy4ql 3 ай бұрын
@@user-ym4mj1pg3h Это если вы уже были знакомы с программированием до. Если это первый язык, то никак вы за 2 месяца не перейдете от принт хэлло ворлд до уверенного использования ООП. Продемонстрируйте, кстати, 3 менее громоздких способа решения через цикл
@HUNTER-WR
@HUNTER-WR 3 ай бұрын
@@user-ym4mj1pg3h не спорю, всё так. Python лаконичен. Только сделать пару классов для SQLite (или просто классов) это одно, а вот построить даже простенькое приложение в окружении кучи других технологий, а потом понять, что всё не так, это немного другое)). Я же про то, что Python и пакеты - это только малая часть любой области. Или у тебя уже получается!? В таком случае, желаю только самосовершенствоваться, правда).
@ASFlasher
@ASFlasher 8 ай бұрын
Досмотрел пока до 17:30 и не понял почему это N log(N) лучше чем N? может дальше объясняется что это рофл, но пока не похоже..
@user-ux5qh3qc4e
@user-ux5qh3qc4e 6 ай бұрын
Да нипочему, просто интервьюер ошибся. В итоге решение с использованием sort работает медленнее, чем наивное. Единственный апгрейд для наивного решения - переделать на вариант с O(1) по памяти вместо O(n). По времени быстрее O(n) не получится.
@IgorKashin
@IgorKashin 5 ай бұрын
Слушайте, я не знаток питона, но почему в собеседованиях так абьюзят dynamic array? Ну инициализируй ты его с правильной длиной сразу. Он же потом будет копироваться по мере наполнения. Сортировка n*log(n) лучше чем n? Это троллинг кандидата или мне пора уходить из профессии?
@pollworld9084
@pollworld9084 Ай бұрын
я тоже полез в комментарии поставив паузу после этих слов ))) подумал , а есть смысл смотреть дальше после такого )
@funvideos3890
@funvideos3890 4 ай бұрын
Блин, посмотрел пока первое задание, ну оно вообще лёгкое. Надеюсь дальше сложнее будет, а то так и я могу быть разработчиком 😂
@Nina-hy4ql
@Nina-hy4ql 3 ай бұрын
Так будьте
@dmitrikolesnikov9762
@dmitrikolesnikov9762 16 күн бұрын
lst = [4, 90, 0, 123, 64, 0, 44, 5] print(*list(filter(lambda x: x, lst)) + [0] * lst.count(0))
@user-gd4en4ot3u
@user-gd4en4ot3u 6 ай бұрын
это собес на джуна?
@eaf2k
@eaf2k 5 ай бұрын
Сюр какой-то... - Ну а сложность сортировки какая в Питоне? - Скорее всего Nlog(N) - Ну это же лучше, чем просто N? - Безусловно
@moHAXmoHAX
@moHAXmoHAX 8 ай бұрын
первую задачку так решил int_lst = [randint(0, 9) for i in range(50)] for i in range(int_lst.count(0)): int_lst.remove(0) int_lst.append(0)
@moHAXmoHAX
@moHAXmoHAX 8 ай бұрын
навел марафет =)) num_list = [randint(0, 9) for i in range(50)] def num_at_the_end(res_list: list, num: int) -> list: new_lst = res_list[:] for _ in range(new_lst.count(num)): new_lst.remove(num) new_lst.append(num) return new_lst print(num_at_the_end(res_list=num_list, num=5))
@user-rq7km6kp7o
@user-rq7km6kp7o 4 ай бұрын
При таком подходе к решению, если список будет 10кк значений, выполнение будет очень длительное.
@storlay
@storlay 7 ай бұрын
Первое, что в голову пришло def remove_zero(arr) : zero = [] no_zero = [num if num != 0 else zero.append(num) for num in arr] return no_zero + zero Насколько правильно?
@sn3232
@sn3232 7 ай бұрын
у тебя когда else выполняется возвращает None, так что список получается такой: [1, 2, 3, 7, 99, -10, 50, None, None, None, None, None, 0, 0, 0, 0, 0] (входной: [1, 0, 0, 2, 3, 0, 7, 99, -10, 0, 50, 0])
@vio3381
@vio3381 7 ай бұрын
первая задачка def asa(functio): for i in range(len(functio)): if functio[i]==0: del functio[i] functio.append(0) return(functio) print(asa([1,2,3,0,8,67,0,6,3]))
@oreal4045
@oreal4045 7 ай бұрын
del functio[i] functio.append(0) Это можно заменить на functio.append(functio.pop(i))
@maddestmonarch
@maddestmonarch 3 ай бұрын
А если 2-3 нуля подряд?
@user-sb6nq3mw5c
@user-sb6nq3mw5c Күн бұрын
for i in lst: if i == 0: lst.remove(i) lst.append(0) return lst
@7IdE
@7IdE 7 ай бұрын
Ну, в целом, норм, наверно. Из плюсов: 1. В целом, чувствуется, что код он пишет далеко не в первый раз - и несколько строк сразу закомметил, и удалил строку с клавиатуры, и пеп8 соблюдает, и синтаксические ошибки не делает, и печатает достаточно уверенно и быстро. Да, в этом ничего сложного. Но когда человек делает это на автомате - это для меня как триггер о том, что человек не просто копипастит код. 2. Вспомнил, что метод .sort() ничего не возвращает и заменил его на sorted() - это прям найс. 3. Мало того, что вспомнил про параметр key у сортировки, так еще и правильную лямбду написал - это еще раз найс. Из минусов: 1. Распаковка? Зачем? Просто чтобы показать, что ты ее знаешь? Это прям слегка испортило предыдущее впечатление. Особенно когда был тест с пустым массивом и он сказал, мол, ничего не вывело, но этот кейс можно отдельно рассмотреть и вернуть пустой массив. И с чего бы вдруг распаковка пустого массива не вывела в консоль ничего, кроме пустой строки? 2. Вопрос "но nlogn же лучше, чем просто n?" ответ "да, конечно". Правильный ответ: "нет, конечно". 3. Также меня крайне колебнули вопросы вида "целые числа?" и "отрицательные могут быть?". Собсно, а какая разница, если нужно отсеивать конкретное значение? 4. Тоже звоночек был, когда он начал рассуждать, как можно "ускорить" решение за О(n) в данном случае. И звоночек был в момент, когда я понял, что он не озвучит мысль вида "чтобы узнать, остались ли в массиве нули - нужно пройти весь массив до конца, а это О(n)". 5. Вообще полный игнор потребляемой памяти. 6. Алгоритмическая подготовка у него явно отсутствует. Плохо ли это? Я бы сказал, что да - он не понимает цену своего кода. Да, далеко не часто можно встретить обработку больших данных на голом Питоне, но все же. Чтобы начать писать сложный код, нужно понимать, как сам Питон под капотом работает. А алгосы это именно то, что способствует изучению подкапотни. Так что я всеми клешнями ратую за то, что их нужно затачивать. 7. Также меня крайне сильно триггернула его особенность со всем соглашаться, даже не подумав. Это и про nlogn, и в разговоре про мидлвары - просто слышит утвердительные интонации от Андрея и сразу же с ними соглашается. Я бы сказал, что это не совсем найс. В общем, лайв кодинг мне +- понравился, да и подумать человек может.
@PZDC_1988
@PZDC_1988 2 ай бұрын
подумал что массив это массив, в прямом понимании, и стало интересно, но потом увидел список...
@user-pi1ez7ju5x
@user-pi1ez7ju5x 4 ай бұрын
не понял шутку про аркадиевица
@user-zx9gc6mw5i
@user-zx9gc6mw5i 6 ай бұрын
Такое решение, эффективно или нет? def sorted_list(int_list): last_index = 0 total = int_list.count(0) for i in range(len(int_list) - total): if int_list[i] == 0: last_index += -1 int_list[i], int_list[last_index] = int_list[last_index], int_list[i] return int_list
@user-de3op9hs4p
@user-de3op9hs4p 4 ай бұрын
Нет. Эта задачка в одну строчку решается.
@RusPeople21
@RusPeople21 8 ай бұрын
17:32 А с каких пор O(n log n) лучше чем O(n)?
@AndyPronin
@AndyPronin 8 ай бұрын
) хорошо, что заметили)
@user-bh8qg5gq7b
@user-bh8qg5gq7b 8 ай бұрын
Тоже обратил внимание. Но я понял, он оговорился и имел ввиду log n. А может и нет)
@AndyPronin
@AndyPronin 8 ай бұрын
@@user-bh8qg5gq7b да. Но потом начали решать через сортировку) в целом, косяк
@user-jx6mj5jo8b
@user-jx6mj5jo8b 8 ай бұрын
zeros = lambda lst: sorted(lst, key=lambda x: not bool(x))
@tobemaguire7389
@tobemaguire7389 7 ай бұрын
def zero_to_end(data: list) -> list: counter_of_zero = data.count(0) while 0 in data: data.remove(0) return data + [0] * counter_of_zero print(zero_to_end([0, 0, 1, 2, 3, 0, 6, 4, 0, 1, 4]))
@gulfstream3963
@gulfstream3963 7 ай бұрын
Ув. Андрей, посоветуйте на свой взгляд, достойный онлайн ресурс для изучения Python. Заранее благодарю!
@AndyPronin
@AndyPronin 7 ай бұрын
От целей зависит. Зачем нужен питон?
@gulfstream3963
@gulfstream3963 7 ай бұрын
@@AndyPronin учу язык с нуля... сейчас прохожу обучение в одной онлайн школе, но понимаю, что подача материала, явно на самом низком уровне, хотя денег стоит, как крыло от самолёта...
@gulfstream3963
@gulfstream3963 7 ай бұрын
​@@AndyProninхотелось бы если платить деньги, то получить реальные знания и навыки
@AndyPronin
@AndyPronin 7 ай бұрын
@@gulfstream3963 а что за школа?
@AndyPronin
@AndyPronin 7 ай бұрын
@@gulfstream3963 нужны пет проекты
@vitaliy3521
@vitaliy3521 8 ай бұрын
Я вот так задачку решил: sorted(int_lst, key=lambda x: x == 0) Блин потом так же решили :D
@igorz5804
@igorz5804 7 ай бұрын
Пара вопросов: 1. За последние N лет сложилось впечатление, чтоб основная ниша python'а на рынке - это ML/Data (Numpy/Scipy/Pandas), Web - Django, devops-задачи. Т.е. вот не понравился тебе ML и ты выучил только Django - выходишь специалистом довольно узкого профиля. Как думаете? 2. Почему-бы, даже джунов, не поспрашивать про, например: gil, gc и тд? Разве не интересно посмотреть на сколько вглубь копает человек? А то так довольно простые верхнеуровневые вопросы, не считая алгоритмов, которые находятся в отдельной нише.
@AndyPronin
@AndyPronin 7 ай бұрын
Интересная идея. Спасибо
@antondopira5957
@antondopira5957 6 ай бұрын
мне кажется джуну о garbagge collector вообще не стоит задумываться
@nadyinky
@nadyinky 7 ай бұрын
Можно решить используя два указателя за t=O(n), space=O(1): def group_zeros(lst: list) -> list: left = 0 for right in range(len(lst)): if lst[right] != 0: lst[left], lst[right] = lst[right], lst[left] l += 1 return lst
@BritScientist
@BritScientist 7 ай бұрын
Возможно, лучше сделать -> None, и ничего не возвращать, список здесь меняется на месте.
@alexey.kondakov
@alexey.kondakov 7 ай бұрын
Что за ерунду ты написал?
@shadowraze6928
@shadowraze6928 6 ай бұрын
def group_zeros(arr: list[int]) -> list[int]: for enum, i in enumerate(arr): if i == 0: arr.append(arr.pop(enum)) return arr
@user-bu9ox5lj2h
@user-bu9ox5lj2h 4 ай бұрын
[1, 1, 1, 0, 0, 0, 1]@@shadowraze6928
@user-jx6mj5jo8b
@user-jx6mj5jo8b 8 ай бұрын
Почему не count(0) и extend([0]*x) ?
@halvomez3431
@halvomez3431 2 ай бұрын
их надо не только добавить в конец, но и перенести
@user-is2jw6yj5v
@user-is2jw6yj5v 8 ай бұрын
Он же это не написал
@ukusbobra
@ukusbobra 7 ай бұрын
Так nlogn же медленнее линии...
@yawneed
@yawneed 7 ай бұрын
Я тоже удивился.
@seoonlyRU
@seoonlyRU 8 ай бұрын
По классике лайк от СЕООНЛИ))
@4ebybek
@4ebybek 7 ай бұрын
Удивился, когда он сказал мой город)
@mikesandera62
@mikesandera62 6 ай бұрын
1 задача. lambda array: sorted(array, key=bool, reverse=True)
@user-de3op9hs4p
@user-de3op9hs4p 4 ай бұрын
Порядок элементов нарушится.
@user-de3op9hs4p
@user-de3op9hs4p 4 ай бұрын
Пардон, тут все правильно. Невнимательно посмотрел. Респект.
@Karaku228
@Karaku228 8 ай бұрын
Когда уже будем Лутца читать?:(
@user-dr2lc4wu6p
@user-dr2lc4wu6p 7 ай бұрын
А вы занимаетесь менторством?
@AndyPronin
@AndyPronin 7 ай бұрын
Читаю лекции в Практикуме и рашу свою команду. Просто менторстово не практикую. Но могу попробовать подыскатт
@user-il2rm5ls1r
@user-il2rm5ls1r 5 ай бұрын
Не понимаю, почему линейное решение наивным называете. А сортиовка, которая дольше работает лучше 😮
@AlexandrMakarov13
@AlexandrMakarov13 4 ай бұрын
Наивным называют самый первый вариант, что пришел в голову, а после уже думают как апгрейдить
@alexseydugin8109
@alexseydugin8109 8 ай бұрын
sorted(int_lst, key=abs, reverse=True)
@Nina-hy4ql
@Nina-hy4ql 3 ай бұрын
Вы меняете порядок остальных элементов. По условию задачи не нулевые элементы должны сохранять свою последовательность
@user-es7ho9me3w
@user-es7ho9me3w 6 ай бұрын
def sort_data(*args): zero_list = [] data_list= [] for item in args: if item == 0: zero_list.append(item) else: data_list.append(item) return data_list + zero_list
@user-de3op9hs4p
@user-de3op9hs4p 4 ай бұрын
Да, только то же самое можно в одну строчку написать.
@evtepo
@evtepo 6 ай бұрын
def zero_to_the_top(numbers: list): indx = 0 counter = 0 while indx < len(numbers): if numbers[indx] == 0: counter += 1 del numbers[indx] continue indx += 1 return numbers + [0]*counter
@user-bh2dj5fx4g
@user-bh2dj5fx4g 3 ай бұрын
def fr(n): for i in range(n.count(0)): n = n[:n.index(0)] + n[(n.index(0) + 1):] + [0] return n def rv(n): if n.count(0) == 0: return n return rv(n[:n.index(0)]) + rv(n[(n.index(0) + 1):]) + [0]
@Games2Dev
@Games2Dev 5 ай бұрын
Что за тенденция, все время давать какие-то абстрактные непродуманные задания? В итоге собеседование превращается в унылые рассуждения, а что если бы... И сидим 15 минут, фиг знает чем занимаемся. Конкретная рабочая задача должна быть на собесе или близко к тому. Нули никто не сортирует, они на этапе заполнения форм отсеиваются обычно, а вот отсортировать товар по параметрам пользователя, по артикулам или по фильтрам, вполне себе рабочая задача, и таких задач море.
@elshadalizade
@elshadalizade 5 ай бұрын
mylist = [-1, 1, 0, 5] newlist = [x for x in mylist if x!=0] zerolist = [x for x in mylist if x==0] print(newlist+zerolist)
@halvomez3431
@halvomez3431 2 ай бұрын
2 раза линейно один и тот же массив обходить? А если там миллион значений?
@user-vo2fq6my8x
@user-vo2fq6my8x 6 ай бұрын
третий ролик из трех. Где человека представлояют, как человека с высоким скилом. А по уровню знания и мышлению, дай бог до уровня jun - еле дотягивает. Я по себе сужу, я то думал, я ничего не знаю, но вот эти "спецы" пробивают моё дно.
@neven3304
@neven3304 3 ай бұрын
Что за смех? Почему всех устроил обход первой задачки за n log n с использованием доп памяти? Почему n log n лучше чем O n? Зачем с такими серьезными лицами рассказывать такую чепуху, при этом выкладывая это как обучающее видео?
@lostsoul8634
@lostsoul8634 7 ай бұрын
sorted(numbers, reverse = True)
@andreyas1937
@andreyas1937 7 ай бұрын
Ваш брат?😂
@AndyPronin
@AndyPronin 7 ай бұрын
)
@denismigalin5912
@denismigalin5912 8 ай бұрын
a = [0,1,0,-3,-5,0,2,14,5235,0,0,3,5,0] # For Example b = [] r = 0 for i in range(len(a)): if a[i] > 0 or a[i] < 0: b.insert(i-r,a[i]) elif a[i] == 0: b.append(0) r += 1 x = True while x: q = 0 for i in range(1,len(b)): if b[i] == 0: break elif b[i-1] > b[i]: b[i-1], b[i] = b[i], b[i-1] q += 1 if q == 0: x = False RESULT: b = [-5, -3, 1, 2, 3, 5, 14, 5235, 0, 0, 0, 0, 0, 0]
@denismigalin5912
@denismigalin5912 8 ай бұрын
a = [0,1,0,-3,-5,0,2,14,5235,0,0,3,5,0] a = sorted([i for i in a if bool(i) == True]) +[0]*a.count(0) RESULT: a = [-5, -3, 1, 2, 3, 5, 14, 5235, 0, 0, 0, 0, 0, 0]
@user-hq8he3et3f
@user-hq8he3et3f 7 ай бұрын
def conter(lst): zores = [] res = list(filter(lambda x: x if x > 0 else zores.append(x), lst)) res.extend(zores) return res
@virus8727
@virus8727 7 ай бұрын
знаний за 3 недели самообучения питону хватило только на ))) c = [1,0,3,10,-1,5,0] counter_zerro = 0 new_list = [] index = 0 while index < len(c): if c[index] == 0: counter_zerro +=1 if c[index] != 0: new_list.append(c[index]) index +=1 new_list.extend([0] * counter_zerro) print(new_list)
@user-jv8od3in9y
@user-jv8od3in9y 6 ай бұрын
def func(listok: list) -> list: x = [] for i in listok: if i == 0: listok.remove(i) x.append(i) listok.extend(x) return listok
@user-jv8od3in9y
@user-jv8od3in9y 6 ай бұрын
def func2(listok: list) -> list: listok.sort(reverse=True) return listok
@user-de3op9hs4p
@user-de3op9hs4p 4 ай бұрын
@@user-jv8od3in9y Нет. Порядок элементов нарушится. Не надо тут ничего сортировать.
Omega Boy Past 3 #funny #viral #comedy
00:22
CRAZY GREAPA
Рет қаралды 13 МЛН
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,1 МЛН
КАК СПРЯТАТЬ КОНФЕТЫ
00:59
123 GO! Shorts Russian
Рет қаралды 2,5 МЛН
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 12 МЛН
Михаил Выборный собеседование junior python разработчик
56:37
Решаем тестовое задание на позицию junior python backend разработчик
21:18
𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞
Рет қаралды 10 М.
Смурова Елена собеседование Junior python разработчк
57:13
Хочу стать Junior Python
16:29
Y_LAB University
Рет қаралды 1,5 М.
Omega Boy Past 3 #funny #viral #comedy
00:22
CRAZY GREAPA
Рет қаралды 13 МЛН