Гриценко Сергей | Собеседование junior python разработчик

  Рет қаралды 6,529

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

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

10 ай бұрын

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

Пікірлер: 54
@AndyPronin
@AndyPronin 10 ай бұрын
Активность Олега в теме активного обмена опытом между разработчиками: t.me/it_horizon_club/6 Чат для общения pyhton разработчиков и им сочуствующих. Свободное общение, тестовые и вопросы с собесов и прочее. Заходите, там вам рады. t.me/KZbinPronin
@gricen1
@gricen1 10 ай бұрын
Огромное спасибо Олегу за собес. Отдельная благодарность Андрею за канал и возможность потренироваться на "кошках") По факту собес получился провальным. Особенно обидно с затупом на массивах и хэш-таблицах, учитывая, что я это знаю. Но самое главное свое назначение мок-собеседование выполнило. Подсветило те моменты, на которые нужно обратить больше внимания и проработать их. Тем, кто еще по какой-то причине не воспользовался этой возможность, крайне рекомендую. До встречи на алгоритмическом собесе ;-)
@gricen1
@gricen1 10 ай бұрын
58:50
@yavener
@yavener 10 ай бұрын
Немного может запутать условие прибавить +1 к предыдущему ИЛИ следующему элементу, но в решении будет достаточно рассмотреть только один из кейсов в зависимости от направления движения по массиву: если идем слева направо то прибавляем +1 к следующему элементу, а если же решаем двигаться по массиву от конца к началу, то +1 к левому элементу.
@milov52
@milov52 10 ай бұрын
Отличный собес - один из лучших за последнее время
@AndyPronin
@AndyPronin 10 ай бұрын
Лайк, шер, колокольчик. Рад, что нравится
@oleg_korolev
@oleg_korolev 10 ай бұрын
Учился вместе с Сергеем, был один из самых сильных студентов в когорте. Понимаю, что не понимаю целей, которые ставятся перед подобными интервью, но кажется, что интервью прошло в пустую. По сути, это скрининг, было очень мало вопросов, про Джангу, питон и фреймворки. Думаю, что задачу для скрининга нужно формулировать проще, чтобы не пришлось потом 20 минут объяснять условия.
@Phantom-ul2hl
@Phantom-ul2hl 10 ай бұрын
Привет! А где сам Андрей с чтением Лутца. Я уже второй том читаю 28 главу ООП) на канале последняя была 20ая 2 месяца назад. Жду с нетерпением рубрики по разбору книги Марка Лутца с примерами кода, как было раньше😊
@user-eo9kz8ru9d
@user-eo9kz8ru9d 10 ай бұрын
Олег классный чел.! Рад за него и немного завидую ему, если честно. Самая моя большая ошибка в жизни , что не пошёл учиться раньше. А теперь мне 39 и очень тяжело учиться.
@nitebo1
@nitebo1 10 ай бұрын
Никогда не поздно. Да тем более если нравится программировать, то можно это делать «для души»)
@user-eo9kz8ru9d
@user-eo9kz8ru9d 10 ай бұрын
@@nitebo1 учусь, но пошли вложенные списки и матрица и я забуксовал(
@slizverg23
@slizverg23 10 ай бұрын
@@user-eo9kz8ru9dРазберёшься, не парься. Главное не бросать и со временем понимание придёт. Спустя два года обучения сейчас оч смешно вспоминать, какие темы мне поначалу казались «сложными»:)
@user-eo9kz8ru9d
@user-eo9kz8ru9d 10 ай бұрын
@@slizverg23 спасибо
@vanadoo5836
@vanadoo5836 8 ай бұрын
Повезло что мне не 39, а всего 38 😅
@seoonlyRU
@seoonlyRU 10 ай бұрын
лайк от СЕООНЛИ новичку по классике
@buddhagameplay5356
@buddhagameplay5356 10 ай бұрын
Проверяем длину списка, если >= 2 то далее, если меньше - "не подходит". Далее перебираем список и проверяем на чётность "число" и "число справа" либо "число" и "число слева", выбрать нужно только одно и делать так до конца списка. Считать операции +1. Доходим до конца - делаем проверку последних двух чисел. Если они разные (с точки зрения чётности) - "не подходит", если нет +1 и выдаём результат
@vladislavmazur5419
@vladislavmazur5419 8 ай бұрын
Не понимаю почему список из 2 не проходит, даже список из одного, если значение четное, то результат 0
@sn3232
@sn3232 6 ай бұрын
Ещё есть шорткат, который позволит определить возможно ли преобразование вообще. При выполнении "операции" чётность суммы не изменяется, т.к. к ней прибавляется 2 единицы. После преобразований сумма должна быть чётная (т.к. все элементы чётные), т.о. можно по чётности суммы определить возможность преобразования. С одной стороны это добавляет ещё один проход по массиву, но можно надеятся на оптимизацию встроенной sum, короче говоря, надо проверять насколько это на самом деле шорткат)
@user-wu9ov4wj3l
@user-wu9ov4wj3l 10 ай бұрын
Если сумма всех чисел списка чётная, то идём дальше, а если нечетная, то уже не можем - как первое условие проверки.
@boloyeung3568
@boloyeung3568 6 ай бұрын
Это надо по всем числам вначале пробежаться... смысл?
@EduardMalinochka
@EduardMalinochka 10 ай бұрын
А можно ссылку на литкод на эту задачку? Хочется ее прорешать со всеми готовыми тестами:)
@mak32
@mak32 5 ай бұрын
Абсолютли
@user-bb6cs6wk6y
@user-bb6cs6wk6y 10 ай бұрын
Counter =0 For i in range (len(list)-1): If list[i]%2==0: list[i]+=1 list[i+1]+=1 Counter +=1 #ну еще условие про длину списка =2 и если второй элемент нечётный , неудобно с телефона писать (
@iwan-programmer
@iwan-programmer 10 ай бұрын
def func(nums): flag = False counter = 0 for i in nums: if flag: counter += 1 if i % 2: flag = not flag return None if flag else counter
@user-xm9mg4fi4z
@user-xm9mg4fi4z 10 ай бұрын
Интервьюер так поставил задачу, что вообще не понятно было чего он хочет. Нет чтоб сказать прямо, что если число не четное добавляем оденицу следующему, а вывести надо количество операций с изменением числа.
@gricen1
@gricen1 10 ай бұрын
@@user-xm9mg4fi4z Часть задачи как раз и состоит в том, чтобы выудить из формулировки суть. С этим не очень хорошо справился. В какой-то момент были опасения, что не уложусь по времени.
@yavener
@yavener 10 ай бұрын
не будет правильно считать, т.к. не учитывает, что если к текущему элементу прибавили +1, то и к следующему нужно добавить +1 (при движении по массиву слева направо).
@iwan-programmer
@iwan-programmer 10 ай бұрын
@@yavener Считает правильно. Запусти и убедись. )
@yavener
@yavener 10 ай бұрын
​@@iwan-programmer ссори, да, работает) но код на первый взгляд весьма не очевидный. Ассоциирую с монеткой, которая в начальном положении на орле и при первом нечетном числе переворачивается в решку. Пока она в этом положении (решка) при каждой итерации растет counter. В конце смотрим, если решка - выдаем None , иначе counter.
@dd0275
@dd0275 10 ай бұрын
def func(a: int) -> list | bool: countO: int = 0 if len(list(filter(lambda n: n%2 == 1, nums))) % 2 != 0: return False for i in range(len(nums)-1): if nums[i]%2 == 0: continue nums[i] += 1 nums[i+1] += 1 countO += 1 print(countO) return nums Нам достаточно понять сколько нечетных чисел в массиве, потму что по факту ты просто перемещаешь нечетное число в конец массива(и если в конце массива будет четное количество нечетных чисел, это говорит о том что задачу можно решить).
@sn3232
@sn3232 6 ай бұрын
Здесь ещё менее жёсткое условие! Чтобы понять можно ли провести преобразование достаточно понять чётное ли число нечётных чисел в массиве, т.к. чётность суммы инвариантна при выполнении "операции". Т.о. первую проверку можно упростить до sum(nums) % 2 != 0. Вместо list | bool я бы вернул Tuple[ bool, Optional[int], Optional[ List[int] ] ] где первый bool говорит возможно ли преобразование ну или сразу collections.namedtuple(transform_possible: bool, ops_counter: int, even_list: Optional[List[int]]) Использовать print для вывода, думаю сами понимаете не стоит.
@Villhard
@Villhard 8 ай бұрын
Может я что-то не понимаю, но это вроде просто решается. def func(nums: list[int]): if len(nums) < 2 or sum(1 for num in nums if num % 2 != 0) % 2 != 0: return False counter = 0 for i in range(len(nums)): if nums[i] % 2 != 0: nums[i] += 1 nums[i + 1] += 1 counter += 1 return counter
@sn3232
@sn3232 6 ай бұрын
Здесь, вероятно, будет быстрее проверять чётность всей суммы, не проверяя отдельно чётность каждого слагаемого. Вместо: sum(1 for num in nums if num % 2 != 0) % 2 != 0 просто: sum(nums) % 2 != 0 Этот алгоритм кстати и итоговый массив вычисляет, что в задаче не требуется (или просто портит входной массив если нельзя привести к нужному виду), + изменение входных данных происходит, что, вообще говоря, нужно будет для пользователя проговорить отдельно (лучше капсом))).
@maximkuchiga141
@maximkuchiga141 10 ай бұрын
может кто-нибудь объяснить почему на входе у функции int?
@sn3232
@sn3232 6 ай бұрын
misspell
@LifterAndy
@LifterAndy 6 ай бұрын
Ой, а позовите меня на собеседование))) Я самоучка, ни на какие курсы не ходил. Меня ни кто на работу не брал. Занимаюсь фул-стек разработкой. Пишу скам проэкты, интернет-казино, порносайты, ботов и т.д.)))
@beardedman721
@beardedman721 10 ай бұрын
Ну ептыть, опять я все пропустил 😬
@marat_shaydulin
@marat_shaydulin 10 ай бұрын
def make_even(nums): ops = 0 for i in range(len(nums) - 1): if nums[i] % 2 == 1: nums[i + 1] += 1 ops += 1 return ops if len(nums) > 1 and nums[-1] % 2 == 0 else "impossible"
@sn3232
@sn3232 6 ай бұрын
т.е. портите входной массив и идея "операции" никак не отражена в функции?
@marat_shaydulin
@marat_shaydulin 6 ай бұрын
@@sn3232 да
@7IdE
@7IdE 10 ай бұрын
Рили было крайне странно услышать "ничего не знаю про хэш-мапы" после такого бекграунда, но задачу в целом решил, код писал неплохо. Ну а фидбек от Олега - как обычно на высоте.
@gricen1
@gricen1 10 ай бұрын
Сам в шоке)
@Konstantin_Stalnov
@Konstantin_Stalnov 10 ай бұрын
Олег очень тактично общается!!! 👏👏👏
@gricen1
@gricen1 10 ай бұрын
Да, другой бы размотал, как бог черепаху)
@user-zx6fq1ig4h
@user-zx6fq1ig4h 10 ай бұрын
Хуже задачи, только ее формулировка(
@mak32
@mak32 5 ай бұрын
Ну после примера вроде бы понятно стало, а без примера вообще не ясно
@igorpetrov7464
@igorpetrov7464 7 ай бұрын
Капец интервьювер , не понимает, что спрашивает. Умышленно или по тупости неправильно помогает
@user-bc5rm4rk5e
@user-bc5rm4rk5e 5 ай бұрын
def convert_to_even(nums: list[int]) -> int | str: try: if (l := len(nums)) < 2: raise IndexError count = 0 for i in range(l): if nums[i] % 2: count += 1 nums[i] += 1 nums[i + 1] += 1 return count except IndexError: return 'не могу'
Learn HTML5 and CSS3 For Beginners - Crash Course
3:54:03
developedbyed
Рет қаралды 3,8 МЛН
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 15 МЛН
顔面水槽がブサイク過ぎるwwwww
00:58
はじめしゃちょー(hajime)
Рет қаралды 123 МЛН
Алтынбаев Артур python разработчик собеседование
52:07
Вселенная и Специальная теория относительности.
3:51:36
ЗЛОЙ АНАЛИТИК ВСЕЛЕННОЙ.
Рет қаралды 6 МЛН
Решаем тестовое задание на позицию junior python backend разработчик
21:18
𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞
Рет қаралды 10 М.
Смурова Елена собеседование Junior python разработчк
57:13
Python собеседование Александр Воробьёв
53:52
Андрей += Пронин
Рет қаралды 44 М.
SENIOR on JUNIOR Javascript Developer interview
26:35
BELOV
Рет қаралды 272 М.
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 15 МЛН