MOCK-СОБЕСЕДОВАНИЕ с Эдуардом | Знания Python, задачи на код, алгоритмические задачи

  Переглядів 32,095

Поколение Python

Поколение Python

10 місяців тому

В продолжение разработки линейки курсов "Поколение Python" запускаем новую рубрику - собеседование. В ней наши ученики будут погружаться в атмосферу реального собеседования на должность Python Junior Developer. Их ждут вопросы на знание Python, задачи на написание кода, а также алгоритмические задачи.
В собеседованиях могут принимать участие студенты, которые прошли все наши актуальные курсы. 🙌

КОМЕНТАРІ: 76
@kalbschulz4690
@kalbschulz4690 10 місяців тому
в поддержку канала ) надеемся на, то, что народ поддержит эту работу)
@viktorsk8202
@viktorsk8202 10 місяців тому
Таких бы видосов побольше.Тема собесов очень важна
@user-fg4wm8hr7n
@user-fg4wm8hr7n 5 місяців тому
Вот хороший собес, полезный для просмотра. Все объяснили, достаточно глубоко. Собесы с реальными джунами часто не дают хороших ответов на вопросы. Спасибо, полезно!
@canal-bx8wr
@canal-bx8wr 19 днів тому
два профи пообщались) как это поможет джуну на реальном проекте? которому нужна в первую очередь уверенность, а не теория? но такие видео ведут только на очередные ненужные курсы. Почему на курсах не уточняют, что из следующих 10 параметров используют только 1-й, очень редко еще и 2-й. А остальными 8-му не нужно забивать свою оперативку в голове. Но ты зазубрил все 10, но не знаешь даже главной особенности того 1-го, с которым ты и будешь постоянно работать первые 3 года)).
@Neistoviy
@Neistoviy 3 місяці тому
Я думал парня на синьора собеседуют, а потом «ну когда найдешь свою первую работу..»
@user-tq2qh4yq5e
@user-tq2qh4yq5e 10 місяців тому
Класс, обязательно посмотрю:)
@davidfisher3581
@davidfisher3581 9 місяців тому
Хороший собес! Респект ребятам, которые это делают, молодцы. Еще бы тайм коды на видео добавили - супер чудесно бы было. Сервис для перезентаций тоже понравился
@AskarAlmazovich
@AskarAlmazovich 7 місяців тому
Очень полезное интервью и разбор вопросов. Спасибо за такое развернутое видео! Продолжайте в таком же духе!
@dmitryzdor3084
@dmitryzdor3084 10 місяців тому
Прошел три курса "Поколения Python" и привык к конкретным ответам, решая задачи. Точно такая задача про словарь из двух списков была у Пронина, я решил прям как на видео. А по итогу сказали надо расширять сознание, и если списки не равны нельзя терять данные. Необходимо при большем количестве ключей использовать например zip_longest. А если остались не используемые значения их например в отдельный список или в отдельный ключ.
@wrestler91100
@wrestler91100 9 місяців тому
Классные у вас курсы ребят, именно благодаря ним и выучил питон
@Eduard_Latypov
@Eduard_Latypov 10 місяців тому
Рубрика огонь)) Больше подобных видосов Тимур)
@nik-ix2md
@nik-ix2md 8 місяців тому
шикарное интервью, больше похоже на интересную дискуссию
@user-qj5mp3tv9z
@user-qj5mp3tv9z 3 місяці тому
Отличное видео, очень полезная информация и очень грамотно раскрыто, узнал для себя некоторые новые моменты)
@user-pi1ez7ju5x
@user-pi1ez7ju5x 3 місяці тому
привет, привет. открыл видео на этом канале в первый раз и уже участник команды)))
@avetbab1525
@avetbab1525 8 місяців тому
Приветствую. Как называется плагин автозаполнения для Pycharm ? Стандартно он вроде не так работает.
@sergiybustrov8831
@sergiybustrov8831 7 днів тому
2:47 в банковских системах обычно используют integer, и там нет такого понятия, как копейки и тому подобное
@densaface
@densaface 6 місяців тому
Классный контент, с удовольствием посмотрел. Многое из внутренностей питона для меня оказалось открытием, а задачку в конце я решил за секунды после ее озвучивания. Но я понимаю, что смотрю это спокойно на диване, а в реале мог бы и потеряться. Даже еще бы предложил метод пузырьковой сортировки для более быстрого обегания границы между нулями и единицами. Т.е. найти последний 0 в первой строке и последний 0 в последней строке, посчитать средний наклон спуска по диагонали... Но в 999 из 1000 случаев это на самом деле не нужно. Тем более питон это не про скорость.
@kirilldegtyarev9754
@kirilldegtyarev9754 9 місяців тому
Я не понял - кто кого собеседовал...
@sergei_voitenkov
@sergei_voitenkov 6 місяців тому
Наиграно
@rednil8242
@rednil8242 Місяць тому
в матрицах в первом проходе можно и бинарным поиском найти) но это так, в порядке интереса
@MichaelSemikin
@MichaelSemikin 3 місяці тому
в целом интервью очень приятное. "рядовым программистам комплексные числа никогда не потребуются" -- но при этом пару минут убили на обсуждение... а в сумме на обсуждение float/decimal убили минут пять. интервьюер сильно влюбился в слова "гомо/гетерогенный". к чему бы это ))) всегда поражает, как с одной стороны люди в матрице нули ищут, а с другой -- не знают, что такое "+=". и ещё более забавно, когда человек, писавший на с# говорит, что поведение "+=" неочевидно...
@7IdE
@7IdE 9 місяців тому
Ого, вы теперь еще и собесы делаете - вообще респект. А кто ведущий? Не шахматный ли человек-матрица, случаем? :D P.S. А Эдуарду респект - сразу видно, что разбирается во внутрянке Питона. Зачет.
@user-uv2mh7qy5h
@user-uv2mh7qy5h 5 місяців тому
Про finally и отключение э-ва. Скорость света 300000 км/с. Или 300 км за 1 мс (милисекунду) - Если, допустим, электростанция находится от нас в 3000 км и на ней произошла авария, то свет у нас погаснет только через 10 мс. И если наш код выполняется быстрее, чем 10 мс - то finally имеет шансы быть выполненным.
@MiFix-sh7el
@MiFix-sh7el 25 днів тому
шедевро питон
@mr.naotari
@mr.naotari 10 місяців тому
🤟
@viacheslavgurov4371
@viacheslavgurov4371 6 місяців тому
Tough guys. Really.
@lostvayne871
@lostvayne871 6 місяців тому
Вот мое исполнение: def count_zeros(arr: list): if len(arr) == 1: return arr[0].count(0) if len(arr[0]) == 1: return len(arr) - sum([x[0] for x in arr]) c = 0 for i in range(min(len(arr), len(arr[0]))): if arr[i][i]: break c += 1 part1 = [row[:c] for row in arr[c:]] part2 = [row[c:] for row in arr[:c]] return c ** 2 + count_zeros(part1) + count_zeros(part2)
@user-bw5in2yo7s
@user-bw5in2yo7s 8 місяців тому
хороший собес
@succubuseva
@succubuseva 5 місяців тому
А где ссылка на статью про +=?
@USER_____Oo_____USER
@USER_____Oo_____USER 5 місяців тому
Не увидел ссылку, которую говорил, что кинешь на 21.15мин, или просто не нашел
@ilyaskutlyyarov8152
@ilyaskutlyyarov8152 10 місяців тому
еееееееееееееееееееееееее!!!!!!!!!!!!
@julysss_
@julysss_ 8 місяців тому
Это точно на Джуна собес😮?
@Nina-hy4ql
@Nina-hy4ql 4 місяці тому
А где написано, что на джуна?)
@mormone123
@mormone123 3 місяці тому
@@Nina-hy4ql т.к. вопросы про азы, ну почти, и про фреймворки ничего не спросили, + задака на алогритмы не сложная, хотя, как уже сказано, это не собес)
@dimarogov4687
@dimarogov4687 3 місяці тому
привет, а где страничка обещанная на 20:06 страничка?
@akel-la
@akel-la 5 місяців тому
Как я решил задачу с матрицей: def count_zeros(m): c = 0 i = len(a[0]) for x in a: i = x[0:i].count(0) c += i return c В каждой строке количество нулей (которые только в начале) не больше, чем в предыдущей, таким образом, мы постепенно будем проверять все меньшую и меньшую часть (срез) строки, так как всю строку проверять смысла нет. Я не сделал никаких проверок на единицу в цикле, так как(по моему мнению) сами эти проверки отнимают время. Подскажите, какую скорость имеет данный алгоритм?
@user-de3op9hs4p
@user-de3op9hs4p 3 місяці тому
Это вообще работать не будет, поскольку "а" не определено. Ну и сложность О(n**2), потому что в цикле for на каждой итерации count, что тоже является циклом. Итого, цикл в цикле.
@mars_gimaev
@mars_gimaev 10 місяців тому
Помимо лайка, добавлю комментарий)
@IvanDaVinci
@IvanDaVinci 2 місяці тому
видимо перенервничал Эдуард, на последнюю задачку можно было так же легко сделать с ходу используя индексы))) sum(row.index(1) for row in matrix)
@ivanbarankin9927
@ivanbarankin9927 Місяць тому
если сейчас такие джуны, то я сочувствую тем кто пытается войти в айти) чувак тянет на мидл + пятилетней давности
@andreymenskiy893
@andreymenskiy893 3 місяці тому
Задача с матрицей Ментр сообщает, что можно работать с индексами Тогда почему нельзя представить матрицу как typle a = ((0, 0, 1, 1), (0, 0, 1, 1), (0, 1, 1, 1), (1, 1, 1, 1)) summ = 0 а для подсчета сделать так? for i in a: summ += i.index(1) тут ведь так же сложность линеная
@rodkonst
@rodkonst 3 місяці тому
чувак, кажется ты гений
@MrVernuk
@MrVernuk 3 місяці тому
на сколько я знаю, сложность метода index() - O(n) в худшем случае, так как элемент с искомым индексом может быть в самом конце списка(кортежа) и в общем, в худшем случае, цикл for дает нам сложность O(n) и поиск индекса 1 нам тоже дает O(n). В сумме будет O(n2) ну или O(n * m) если матрица не квадратная.
@Anshegar
@Anshegar 4 місяці тому
Не совсем понял чем не угодил проход циклами по всем строкам матрицы для выявления всех нулей. Сколько раз я уже видел такое, да код красивый, но черт ногу сломит в логике, вместо того что бы написать на 2 строки больше но зато все понятно как в азбуке. Никогда не понимал этого.
@rednil8242
@rednil8242 Місяць тому
потому что суть задачек на алгоритмы не в том чтобы проверить как код в проде ты будешь писать, а именно что проверить смекалку, навыки именно в алгосах и структурах данных
@Anshegar
@Anshegar Місяць тому
@@rednil8242 Так а это чем не алгоритм с циклом то? я помню когда начинал учить питон столько велосипедов ненужных , работающих, но соверншенно ненужных, поизобретал что боольше чет и не хочется.
@rednil8242
@rednil8242 Місяць тому
@@Anshegar тем что до него додумываться почти что не надо задачка и так изи-медиум, смысл не показать что кандидат просто цикл умеет писать, но в том что догадается до оптимального решения. буквально вчера с этим на собесе столкнулся, с квадратичной сложности до линейной оптимизировал.
@Andron4iKTV
@Andron4iKTV 5 місяців тому
С листами и кортежами слишком оверлоад. Не правильно так делать. Это лишь две "почти одинаковые структуры данных" Динамические масив для листа и статический для кортежа. И от туда уже выходит их юз кейс. Человек ответил что итерация через кортеж быстрее что не являеться правдой. ВО первых бенчмарк написать 30 секунд и посмотреть что они одинаковые и даже чаще выигрывает лист(но это зависит от рантайма). Второе чисто знать их структуру что тоже дает ответ что в инетрации как и аксесе нету быстрее или медленее. Пустую аллокацию лист не итерирует.
@Andron4iKTV
@Andron4iKTV 5 місяців тому
О хэш таблице. Человек рассказал о старом представлении хэш таблиц в пайтоне. + не рассказано о пробации\колизия\решению кол и тд. Тема очень глубокая. И если уже упоминать у то что знаешь глубь то или рассказывать детально или вообще не рассказывать а то порождает только непонимание.
@shadvcad
@shadvcad 5 місяців тому
def count_zeros(matrix): return sum(i.index(1) if 1 in i else len(i) for i in matrix)
@Sergiypsm
@Sergiypsm 5 місяців тому
Постановка
@Nina-hy4ql
@Nina-hy4ql 4 місяці тому
Почему?
@kostechkaS
@kostechkaS 10 місяців тому
39:52 Проверил в VS code, вывело это: [10, 'a'] [123] [10, 'a'] Собственно, получается Тимур неправильно сказал, что в первом выводе будет только 10. Или в чем проблема?
@A.AA.A-qo6tw
@A.AA.A-qo6tw 10 місяців тому
Гений, смотри хотя-бы когда копируешь код, операции уже произошли и ты выводишь грубо говоря 2 списка, а не 3.
@A.AA.A-qo6tw
@A.AA.A-qo6tw 10 місяців тому
Хоть return и возвращает список, но функция на него продолжает ссылаться и в итоге в 3 её вызове список увеличивается и в list1 также.
@kostechkaS
@kostechkaS 10 місяців тому
@@A.AA.A-qo6tw так задача стоит что выведет код, и вывело собственно, то что я написал. А не то что сначала выведет первый принт, второй и третий, и почему так произошло, если вывести сразу все.
@A.AA.A-qo6tw
@A.AA.A-qo6tw 10 місяців тому
@@kostechkaS думаю, что суть данного вопроса состояло не тупо ответить, что выведет, а именно механизм работы в данном случае.
@forgotten_forbidden
@forgotten_forbidden Місяць тому
def count_zeros(mat): zeroes = 0 for i in range(len(mat)): for j in range(len(mat[i])): if mat[i][j] == 0: zeroes += 1 else: break return zeroes так красивее , нет ?
@rednil8242
@rednil8242 Місяць тому
так квадратичная сложность
@3realm734
@3realm734 2 місяці тому
кортЕжи
@oleksandrkhrashchevskyi5265
@oleksandrkhrashchevskyi5265 9 місяців тому
Нафига думать если есть консоль, с такими работодателями даже не общаюсь.
@A.AA.A-qo6tw
@A.AA.A-qo6tw 9 місяців тому
Во-первых, это не нанимаете на работу, а MOCK собеседование. Во-вторых, если вы не знаете, что происходит под капотом, то в некоторых ситуациях консоль вам не поможет решить проблему. И знать как всё устроенно внутри, куда полезнее, чем бездумно писать код.
@oleksandrkhrashchevskyi5265
@oleksandrkhrashchevskyi5265 9 місяців тому
@@A.AA.A-qo6tw я всегда смотрю консоль и в 100% всегда решаю сложные задачи. В любом другом случае все уже решено и нужно искать ответ в интернете. Либо читать документацию.
@random_act
@random_act 6 місяців тому
шарлотан
@talgis4169
@talgis4169 8 місяців тому
никогла не понимал, зачем на инженерном языке решать алгозадачи, вам java мозги жмёт?
@Hardy_21
@Hardy_21 8 місяців тому
27:40 какая компеляция? он о чем? питон интерпритируемый, там все во время выполнения делается
@Vladimir_Pismenskiy
@Vladimir_Pismenskiy 7 місяців тому
А что у нас хранится в папке pycache?)
@AleksandrKokuashvili
@AleksandrKokuashvili 9 місяців тому
ЭлсЭ, прям коробит от этого косноязычия!! Else [els] Откройте словарь, все названия идут из английского. ну реально невозможно это слушать
@A.AA.A-qo6tw
@A.AA.A-qo6tw 9 місяців тому
Это не урок по английскому, чтобы придераться к произношению. Да, английский полезная вещь, но всё же, имейте терпение и уважение к чужому труду.
@olessiverskiy357
@olessiverskiy357 6 місяців тому
Ребята, ну выучите, наконец, как правильно произносить else и прочие английские слова! Так режет ухо, что хочется спросить кто вас так научил? Или сами решили за англичан так произносить? А самое страшное, что свою неграмотность вы ещё и мультиплицируете!
@fedor835
@fedor835 8 місяців тому
Очередное тупое собеседование. Важны не знания основ, а мышление программиста. Выучить язык при необходимости ума большого не надо, а вот интеллект важен всегда. Короче, очередной эйчаровский тупизм.
@Nonstop4ik
@Nonstop4ik 3 місяці тому
как без знания тонкостей языка писать эффективный код?
@knarg4682
@knarg4682 3 місяці тому
И прямо со старта... >>> import decimal >>> a = decimal.Decimal(0.3) >>> b = decimal.Decimal(0.1) >>> a + a + a + b Decimal('0.9999999999999999722444243843') >>> >>> 0.3 + 0.3 + 0.3 + 0.1 0.9999999999999999 >>> Разницы в результате тупо нет, те же самые 16 девяток после точки, а потом неестественный хвост как бы приклеен. Ну, раз кому-то неправильный результат с колбасой в 28 знаков милее -- дело хозяйское. В данном случае "точность" означает "подробность", но никак не "правильность". Что в регистрах, что в ячейках оперативки одна и та же двоичная система, иначе и быть не может. Так что если считать десятичные дроби, нужен не компьютер, а калькулятор. И кортеж со списком длиной даже в миллион -- при линейном чтении разница в районе седьмого-восьмого знака после точки. А поиск элемента по индексу / индекса по значению в коллекции на 10 тысяч оказался тоже весьма неоднозначным. import random lst = [*range(10000)] random.shuffle(lst) tpl = tuple(lst) indexes = [*range(10000)] random.shuffle(indexes) @halt def list_item_by_index(): for x in indexes: a = lst[x] @halt def list_index_of_item(): for x in indexes: a = lst.index(x) @halt def tuple_item_by_index(): for x in indexes: a = tpl[x] @halt def tuple_index_of_item(): for x in indexes: a = tpl.index(x) list_item_by_index(), list_index_of_item() tuple_item_by_index(), tuple_index_of_item() Результаты: list_item_by_index time: 00 h 00 min 0.00274250 s list_index_of_item time: 00 h 00 min 1.06715661 s tuple_item_by_index time: 00 h 00 min 0.00153810 s tuple_index_of_item time: 00 h 00 min 1.17664792 s Ну и создание кортежа командой tuple из генератора тоже медленнее, чем comprehension. А что там насчёт преимуществе кортежа по памяти? >>> tuple([*range(1000000)]).__sizeof__() 8000024 >>> [*range(1000000)].__sizeof__() 8000040 >>> Есть разница))) Но это надо создавать списки/кортежи длиной в 1-3 элемента, а числом в легионы, чтобы профит ощутить.
@knarg4682
@knarg4682 3 місяці тому
13:00 "однотипность"... Сразу вспоминается функция all, которая любую пустую коллекцию (во всём остальном Питоне это False и даже для "напарницы" этой функции any) и заодно пустую строку воспринимает как True. Знаете, почему? А потому что "если в комнате нет ни одного человека, то можно утверждать, что каждый человек из находящихся в комнате -- француз. Или женщина". Я не шучу ни грамма. Это известное логическое утверждение называется "парадокс остроумного француза" (The Paradox of the Clever Frenchman) или "парадокс одинокого француза" (The Paradox of the Lonely Frenchman). А потому что в Нидерландах хорошие наркотики, вот почему. 16:30 "список, его хэш-значение..." >>> s = [1, 2] >>> hash(s) Traceback (most recent call last): File "", line 1, in TypeError: unhashable type: 'list' Действительно.
Эффект Карбонаро и пончики
01:01
История одного вокалиста
Переглядів 6 млн
Решаем тестовое задание на позицию junior python backend разработчик
21:18
𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞
Переглядів 8 тис.
Про Kafka (основы)
49:23
Владимир Богдановский
Переглядів 343 тис.
Алтынбаев Артур python разработчик собеседование
52:07
Андрей += Пронин
Переглядів 11 тис.
Docker за 20 минут
21:42
suchkov tech
Переглядів 31 тис.