Вообще эти софт скилы не понимаю. Человек на собесе. Вы же сами его спрашиваете. Сами. Спрашиваете. Догично же, что он отвечает!). Мол как работу ищете и т.д. На что он вам честно отвечает. Есть собесы. Было 2 собеса. тестовые. На одну работу хотели брать, но я не готов был так быстро переезжать в другой город. Вы говорите, нельзя так подробно отвечать. Что??)) Почему? И зачем вы тогда это спрашиваете. Вы спросили собеседуемого он ответил. Почему это плохо))) В дисонансе диком я). Чем это плохо?
ну так представь, ты встретил через 20 лет бывшего одноклассника и просто бросил дежурное "как дела?", а он прям остановил тебя и давай рассказывать всю свою жизнь. вот это типичное отсутствие навыков общения, не понимание того, что где и как можно/нужно рассказывать, а что нет. но вообще хээры эти да, сами болваны, как и многие собеседующие. кто-то болваны, кто-то издевается над соискателями. и самое обидное когда они же сами соискателей нашли. я понимаю бы там подтрунивали над такими "спецами" как этот выпускник курсов, который даже максимальный элемент массива не может найти, даже с Идеей и интернетом
@@dennu2580 ок. Я написал это сообщение потому что я реально не понимаю. ) ну ок. Будем не раскрываться на собесах. Отвечать общими фразами. НО, я так и не понял почему! В видео вроде это не объясняют, ну по крайней мере мне не понятно почему.
Сколько же критики в адрес парня… во-первых, молодец, что пошел на собес, многие и до этого не доходят, пока по знакомству не залетят)) во-вторых, позиция джун, понятное дело, что он будет плавать в темах, для этого и есть старшие коллеги по работе. Да так почти во всех сферах. Я работаю в другой отрасли, зав аптекой, но на саентиста учусь, и ко мне на работу пришли прям нулевые девушки, я не знаю, что они в вузах делали, но ничего, всему важному обучил, практиканты тоже нулевые приходят, становятся спецами уже походу дела. Парень красавчик, все у него получится обязательно, не робкого десятка
просто сейчас очень много человек на одно место, джунов как грязи развелось. Я вообще удивлен, что задачка со словарем это мидловая задачка оказывается
Честную обратную связь нужно давать, тем более по таким базовым вещам. Парень молодец, просто нужно читать, писать и развиваться. Никто же не хочет учить джунов совсем базовым вещам на работе, архитектуре - да, локальному "бест практикс" - да, познакомить с новыми инструментами для человека - да. Фундамент должен быть. Ещё таких 2-3 собеса полных и он точно получит уверенный оффер. Темы про async, GIL, API (темы без которых сложно сейчас представить работу Python developer) даже не трогали. А там есть что поспрашивать. Ещё бы к необходимым темам отнёс работу с реляционными БД, если с ними всё ок, то и проблем в знакомстве с другими БД не возникнет. Ну и с docker никто наверно не хочет знакомить новеньких, эта тема часто вызывает ступор и полное непонимание что это и как это.
Потому что в ВУЗах не умеют учить, метод подачи материалов древний, мир уже по другому учит, а в этой сране одни скрепы. Если бы студентам объясняли понятным языком что и для чего они учат и потом экзаменуются то и интерес был бы и в голове откладывалось. Ну и больше прикладных знаний нужно давать, а не "воды", которую при желании можно самому изучить после устройства по профессии.
Тк ты студент - можем на договор подряда , так удобнее тебе 😅😅 -- Перевод: так как ты студент , мы возьмем тебя без гарантий : будешь платить 13% НДФЛ со своей зп, а если что мы скажем что ты у нас не работал , а просто оказывал услугу. Про оплачиваемый отпуск, оплачиваемые больничные , пенсионные отчисления и прочие плюшки забудь. Так тебе будет удобно!
Было бы хорошо, если бы Вы разбирали задания для аудитории(нас) в случае неуспеха кандидата после окончания собеседования один или вместе с кандидатом в конце собеседования.
def two_max_d(d): d1 = {v:k for k, v in d.items()} result = sorted(d.values(), reverse=True) del result[2:] for i in range(2): print(d1[result[i]]) функция, которая возвращает два максимальных числа, не думаю, что она для мидла
@@funnylaunchpad3609 Я решил вот так: def get_two_max(d: dict) -> tuple: max1 = None max2 = None for key, value in d.items(): if value > d.get(max1, -float("inf")): max2 = max1 max1 = key elif value > d.get(max2, -float("inf")): max2 = key return max1, max2
И я))) я ее даже купила во взрослом возрасте на Авито чтобы стояла как память, а то моя детская затерялась. Знал бы профессор Фортран что я теперь джава разраб благодаря нему…😂
@@katerinas5154 я тоже хочу купить, хочется освежить как они обсуждают байты, килобайты и мегабайты. А о гигабайтах говорили как о чем-то ну ОЧЕНЬ большом. Знал-бы профессор Фортран, что я нейронные сети буду обучать) Помню как кто-то из персонажей, когда ему доверили чистить картошку говорил: "Эх робота-бы сюда". Прошло 30 лет и прототипы роботов есть в разных областях, хотя картошку их чистить так и не научили)
ъуъ ваши масквы. вгрузился я плотно. видео глянул начало... на декораторах прям ну не айс. но при написании кода не молчит. молодец. думаю если желание есть будет через 3 года синьером... при условии что будут у него проекты :)
Тогда еще без сорта, одним проходом по словарю, ногами. Интересно что эта задачка на мидла. def f_ret(d): value1=0 key1=key2=0 for k,a in d.items(): if a>value1: value1=a key1,key2=k,key1 return key1,key2;
че по времени у меня ? вот такой алгоритм кто знает def get_two_biggest(d: dict): if len(d) max_value1: max_key2, max_value2 = max_key1, max_value1 max_key1, max_value1 = key, value elif value > max_value2: max_key2, max_value2 = key, value return max_key2, max_key1
Получил два решения для задачки (первое что пришло в голову). Когда используется heap, то по идее лучше будет. Интересно посмотреть на другие решения. import heapq d = {'a' : 537, 'b' : 772, 'c' : 12, 'd' : 5400, 'e' : 120, 'f' : 5432, 'g' : 12, 'h' : 66, 'i' : 5, } def foo(d, n): iter_d = d.iteritems() k, v = next(iter_d) l = [(v, k,)] for k, v in iter_d: if v > l[-1][0]: l.append((v, k,)) l.sort(reverse = True) if len(l) > n: l.pop() return [v for v, k in l] def foo(d, n): iter_d = d.iteritems() k, v = next(iter_d) l = list() l.append((v, k,)) for k, v in iter_d: if v > l[-1][0]: l.append((v, k,)) heapq.heapify(l) if len(l) > n: l.pop() return [v for v, k in l.sort(reverse = True)]
Ну, в целом - по написанию кода вопросов меньше, чем обычно. Не хватает алгоритмической практики - и я имею ввиду сейчас не столько сами алгоритмы, сколько именно решение алгоритмических задач на Питоне - это серьезно подтягивает знание синтаксиса. По декоратору: тут сразу видно, что декораторы самописные редко писал(если вообще писал). В целом, чисто по трейсбеку он должен был сразу увидеть место, в котором был вызов функции без аргументов и обратить на это внимание. А вот по второй задачке - меня прям дико триггернуло list() и дальнейшее наполнение списка через .append(). Тут прям компрехеншн напрашивается. Сдается мне, что полгода в данном случае - это прям совсем с запасом. Месяца за 1-2-3 написания кода это все пофиксят. P.S. А задача про хэшируемость оказалась весьма интересной. Вариант с hasattr() реально всегда возвращает True. В части случаев из-за МРО, а в других - потому если объект заведомо нехэшируемый, то у него...барабанная дробь...определена атрибута __hash__ на уровне класса и в ней лежит None. Я был в шоке, честно говоря.
ни с каким не запасом. он просто нулёвый... даже язык не поворачивается сказать спец. все задачки заводят его в тупик, хотя как раз на его этапе он должен щёлкать их как семечки, решая в лоб, или применяя встроенные функции, если до них дошёл. про хешируемость - бред на бреде. if a then true else false - это что за высер, когда надо просто вернуть бул от значения? исключения обрабатывать? это дорогая операция и вообще они не для этого сделаны. да и возвраты делать из исключений можно, но не стоит. но тут всё ещё хуже. что если объект просто огромен? не надо никакие хэши вычислять, надо просто ответить, хэшируемо значение или нет. ключи по значениям, ну и вообще чел ничего не знает и ничего не умеет. прошёл якобы структурированные курсы, а структуры знаний 0. про те же сложности алгоритмов, например. смотрел днём ролик, уже и забыл все его косяки. помимо того, что он раз или больше просто завис: не могу решить. хотя задачи все примитивные кроме задачки с декоратором, которую надо давать лишь тем джунам, которые все темы знают, на которых построен декоратор, включая сам паттерн. и декоратор должен не печатать, а возвращать. тут неуд самому интервьюеру
dict = { 'a': 34, 'max2': 66, 'c': 12, 'max1': 9000, } def two_max(dict): list_values = sorted(list(dict.values())) first, second = list_values.pop(), list_values.pop() results = [] for k, v in dict.items(): if v == first or v == second: results.append(k) return results print(*two_max(dict), sep=' ')
Начинается с глупых вопросов Почему решил стать программистом? 🤦♂ - Потому, лол) Не, hr'ов надо ограничивать в их "работе". Максимум пролистать присланные резюмехи, отсеять сразу тех, кто не подходит, узнать только ответы на самые важные вопросы по типу: планируешь ли релокацию, какие зарплатные ожидания и какие мы можем предложить, и т.п., рассказать про структуру компании, всё. Остальное пустая трата времени
А не смутило,что pycharm 10 минут подсвечивал ошибку с возращением декорируемой функции?) Декоратор бы съел выполнение функции. Такой декоратор не вернул бы выполнение функции. Время покажет,но функция при привете вернёт None
А в чем смыс такого вопроса как: "Что тебя подвигло стать пайтон-разработчиком"? Реально же ответ ничего не значит, но многие кадровики начинают спрашивать именно с этого глупого вопроса. А что если не год назад решил попоробывать, а пару дней назад и уже пишу серверные приложения, знаю базы данных, умею обрабатывать RESTfull, работаю с потоковым видео? Нашел курсы от Netflix практика? Тоже самое глупій вопрос о проєктах. Ну мы же прекрастно понимаем что никаких проектов у начинающего не может быть. Ну проет бота или проект видеочата - и что? Это о чем говорит? Да по-большему ни о чем! Это типично непонятное собеседование со стороны кадровика, который вместо вопорсов спрашивает не в тему такие же странные ответы. Тут наверное надо было начать с понимания проекта.
Ребят, надеюсь вы рофлите, когда все это пишите. Ребята делают реальный контент, в него входит ещё и hr. Если вы все вопросы уже знаете, мотайте и не нужно в комментах свои оскорбления писать, не дети же уже.
а при трудоустройстве не в ит, а что-то типа продавца в магазин hr любит спрашивать "зачем вам работа" , ну может потому что люблю спать в кровати и есть еда в холодильнике, а не спать под лавкой и есть с помойки потому что нет денег на квартиру и еду
Потому что таких людей, которых вы описали на одну вакансию падётся по несколько десятков, а то и сотен, поэтому у работодателя цель - взять самых лучших, кто кроме крепких знаний ещё и сам по себе любит программировать, пишет свои собственные проекты, такой человек с большей вероятностью сможет решать какие-то нетривиальные задачи на работе
Мне почему-то сразу в голову пришла идея генератора списков [(key, value) for key, value in l.items() if value == l.get(max(l))] сразу получим и список, и пользуемся питонячими плюхами
@@bandicuttt вы оба бред написали. один ключи со значениями поменял местами, другой по словарю летает туда-сюда несколько раз, ещё и списки составляя, причём через задницу. научись лучше алгоритмы написать. а потом ещё узнаешь лучший способ решить эту задачу
@@TheSnos15 > один ключи со значениями поменял местами Кажется, кто-то силён в размашистых оценках, но слабоват в теории. Вот эта штука, "key=lambda x:x[1]", задаёт ключ для сотрировки, но никак не меняет местами ключи и значения в словаре. Ей вообще нет дела до того, какие именно два значения в какой именно коллекции пришли на вход. И что она, что сама функция sorted не изменяют исходный словарь вообще никак и даже не создают новый, всего лишь формируется поток сортированных данных.
def foo(data): result = sorted([(k, v) for k, v in data.items()], key=lambda t: t[1]) return result[-2][0], result[-1][0] Я так паралельно писал, но тоже не то немного....
А зачем бабл? Можно лист и с помощью sorted вернуть, только как это потом будет связано с тем, что нужно вернуть ключи 😅 Я бы items сортировал с ключом лямбдой по второму элементу кортежа с инверсией) и выводил срез [:2], зачем инверсия? Затем чтоб если словарь состояли из одного значения срез не возбуждал исключение 😊 Вообще так обрадовался когда решение пришло в мгновение, а потом узнал, что это мидловая задача 🤭
Ну если со стороны временной сложности заходить, то сортировка это всегда O(nlog), а данную задачу можно за линейное время решить. Просто пройтись по всему словарю и найти два максимальных значения. Конечно не так красиво в одну строчку получится, но точно быстрее )
зделал задание но не очень коротко) оцените) dict = { 'a': 65, 'b': 9000, 'c': 150, 'd':900, } def find_two(dct): premax = 0 max = 1 for i in dct: el = dct[i] if el>max: max =el for x in dct: if max == dct[x]: print(str(x) + " - айди елемента макс :" + str(max))
Посмотрел этих "собеседований" уже с десяток. Соответствие реальности -- на уровне попкорновых блокбастеров. Как человек, уже с полгода штурмующий рекрутёров как раз на позицию Python junior, могу уверенно заявить: 1. Такими примитивными вопросами и задачами собеседование никогда не ограничивается. Кандидата ОБЯЗАТЕЛЬНО нагрузят математикой (даже если по роду работы она не будет нужна); ОБЯЗАТЕЛЬНО погоняют по знанию библиотек типа Pandas, matplotlib, numpy, и так далее; ОБЯЗАТЕЛЬНО подёргают ещё на предмет знания регулярных выражений; ОБЯЗАТЕЛЬНО протестят ещё и на знание HTML, JavaScript или что там смежное используется в ходе работы, потому что с одним голым Питоном в зубах шанс устроиться вообще равен нулю; ОБЯЗАТЕЛЬНО потребуют демонстрации навыков минимум в одном из популярных фреймворков... И добавьте к этому ещё штук пять пунктов с учётом специфики нанимателя. 2. Всё это счастье требуется решать БЫСТРО, вот так нянчиться, как в этих постановочных роликах, никто не будет, ожидая, пока дитятко наконец созреет. Тупишь более минуты -- до свидания. Максимум, что какое-то время могут потерпеть -- это если человек внятно и грамотно рассуждает вслух, причём в правильную сторону и не о проблеме уровня "два плюс два". 3. И естественно, если вот так косячить даже на таких pre-pre-pre-junior задачах, то на этом собеседование и закончится. Конкретно в этом ролике пацан нафигачил декоратор строго по учебному шаблону, не думая, на автомате -- И ЛАЖАНУЛ СО СКОБКАМИ В РЕТЁРНЕ. Это сразудвойка. Даже раньше, поскольку уже первая функция написана без аннотаций, ногами ходи, дверь вон там. Нет такой профессии -- "хороший парень". Все вот эти герои сюжетов могли бы вызывать интерес у нанимателей только если они Чьи Надо дети или любовники. Ролики эти "мотивирушие, что всё так легко" -- для привлечения восторженных хомячков на платные курсы, в духе "Python за 21 день, за час, за 10 секунд", "Матрица" с закачиванием навыков чуть ли не на бегу нервно курит. А в реальности любому из этих "хороших" до уровня джуна ещё с годик систематизированной прилежной учёбы в режиме "жить возле компа". Тем более сегодня, когда планка ползёт вверх прямо на глазах, термин STRONG JUNIOR уже не прикол, а вполне рабочее название и означает оно биоробота, свободного от сна и прочего быта, готового пахать 24/7, способного совершать каждые сутки три великих и тридцать три маленьких чуда, при этом быть возрастом не более 20 лет и иметь стаж работы не менее 20 лет. И всё это за джуниорскую зарплату, а в 2/3 случаев вообще "за опыт, за отметку в резюме, за нужноевписать".
если у вас такой успешны успех, тогда почему у вас нет своего айти бизнеса? критиковать и говорить , что нужно делать - всегда легко. вот и вскрылся один из душнил на собесе. себя вспомните, как лажали и так далее, а потом осуждайте людей.
@@zmishenkovzmih5050 Так он всё по факту сказал, да и с чего ты взял что у него нет своего бизнеса, и почему наличие своего бизнеса вообще является показателем успеха в этой сфере?
@@zmishenkovzmih5050 ТАК -- никогда не лажал и не позволил бы себе даже пытаться так позориться, с самокритикой и здравым смыслом у меня всё норм. Ни в каком месте не молодец тот, кто "ну зато не побоялся попытаться". Нет такой профессии -- "хороший парень", либо компетентен, либо шагом марш улицы мести, ни один псих не станет гробить свой бизнес, собирая вот таких незамутнённых дитяток.
Ты точно на собеседования ходил, а не на игру в кальмара? Вопросов, канеш, побольше обычно бывает. По бд что-нибудь должны были спросить, по вебу, хотя бы поверхностно. Но на нормальных собеседованиях так уж жестко прям не торопят. Могут и выйти/отключиться на время решения задачи, чтоб собеседуемый успокоился. Он, пожалуй, многовато тупил, это да, все таки попрактиковаться еще ему бы не помешало. Но с другой стороны, он согласен сначала на стажера, а после на жалкие 40к
@@Alexander.Kravchenko я даже больше скажу, мой текст успел несколько устареть, сейчас требования ДАЖЕ к уровню "джуниор" стали ещё выше, а условия ещё жёстче. То короткое время, пока в мире не было кризисов, а для нужд рынка хватало "даже" эникейщиков, живущих обычной копипастой с форумов, давно и надёжно прошло. Рынок насытился, как в том анекдоте, "не умею ничего" -- девушка, ЭТИ места уже все заняты. Сейчас с того самого джуна кроме всего прочего требуется ещё и английский уровнем не ниже intermediate, хотя зачем бы он джуну-разработчику, когда коллектив из этой же локации, а для остальных вопросов есть в конце концов менеджеры... А никого не колышет, НАДО -- или до свидания, не задерживай очередь. Я, кстати, до сих пор за постоянную работу так и не зацепился, НЕ БЕРУТ, варюсь в клоаке фриланса , где конкуренция ещё жёстче, вообще закон джунглей, но зато с тебя нужно только то, что в данный момент нужно данному заказчику.
Самый "важный вопрос", как у вас происходит трудоустройство. Когда ты сидишь без работы и у тебя есть шанс получить стажировку вообще не задавай вопросы. Пробуй, действуй и делай дальше выводы. Попробовать поработать в крупной компании гораздо круче, чем посидеть дома ещё месяц. Даже, если тебя не оформят и кинут. Это тоже опыт. Задолбали мамкины ждуны...
это весь собес? я думал он намного сложней 50 минут вообще пролетели не заметно. я наверное знаю меньше всего чем он, но зато знаю все очень хорошо и решил бы все задачи кроме времени. но она мне тоже показалась не сложной, особенно если знать библиотеке.
Когда есть спрос есть предложение. Как по мне парень совсем не плох , а терпение и труд все перетрут. А все остальные суждения страждущих можно засунуть далеко.
Привет всем! У меня вопрос. Почему, в видео собесов со стороны яндекса всегда одни и те же лица? Андрей += Пронин и Улыбашка? Других я не находил. Если кто смог найти других, то поделитель пожалуйста ссылками. Было бы очень интересно.
насколько я понял - больше 70% студентов после окончания курса Яндекса даже не тянет на позицию стажера? И после курса студенты в свободном плавании, где особо никому не нужны? или приглашают на новый курс?
@@MrBeltalowda новый курс в яндексе уже 14 учит. я не знаю эти студенты с этого курса или нет (скорее нет). На твой взгляд сколько надо учиться на Джуна и сколько уделять часов в неделю?
Например, ты нулевый, пошел на курсы, тебе один раз показали декоратор, потом у тебя такое же тестовое собеседование через пол года и тебя просят написать декоратор - напишешь? А ты его как пол года назад видел, так больше ни разу и не смотрел. Не думаю что в голове чтонибудь останется. А про словарь тебе вообще ничего не рассказывали, ну или не много в самом начале. Тут все дело в самообучении и в повторении материала.
Наверное, это лучшая антиреклама яндекс.практикума, что они выдают сертификаты даже с такими знаниями. Пусть я и сам начинающий самоучка на со степиком и литкодом с опытом в 2-3 месяца активного обучения, но алгоритмы он тяжело переносит даже в таких простых задачах. Не представляю какого человеку, когда ему прилетит класс для исправления в 200 строк с вычислениями. Может, конечно, волнуется, но знаний в алгоритмах очень мало. Самое интересное, что все хвалят курсы Я.П, но, видимо, сертификаты дают не за знания, а за то, что принес денег. Рекомендую парню книгу по типу "Грокаем алгоритмы". Без обид, если читаешь это, но на собеседования лувше призодит после пары реализованных серьезных проектов, иначе не представляю что это за компания, которая хотела дать оффер ему.
В том то и дело, что ты начинающий самоучка, который думает, что алгоритмы - это панацея. Открою страшную тайну. Алгоритмы в реальных проектах - не более 10 процентов от всей работы. А если алгоритм еще и выходит за рамки пузырьковой сортировки, то он по несколько раз обсуждается с тимлидом. А советовать что-то совершенно не имея опыта в теме - просто вышка
@@АртурГареев-х2д я просто констатирую увиденные факты на видео и имею дружбу с человеком, который имеет хорошую должность в популярной компании. Я с ним общаюсь почти каждый день и узнаю от него конечные навыки, которые необходимы для работы. Понимаете, что у человека должны быть начальные залежи информации о мышлении, чтобы понимать, что этот юнец, в дальнейшем, сможет делать что-то большее и будет расти, преподнося в команду новые идеи реализации тех или иных функций (приложений). В этом же случае, здесь человек, которому дали синтаксис, и тот не полный, и лишили самого главного - дать навыки мышления программиста. Тимлиду нужен не вечный Джун, а будущий сеньор, которого можно сделать, выступая наставником. Здесь же человек, который явно не тянет даже на выпускника курсов, не говоря уже о том, что среди конкурентов на должность присутствуют и много выпускников с высшим образованием в области программирования, где знаний предоставляется гораздо больше, чем на курсе по синтаксису. И не надо смотреть на опыт изучения. Как минимум, что меня будет отличать от других подобных выпускников курсов - я имею достаточно расписанный роадмап со связанными между собой стеками, и в процессе обучения, делаю два крупных проекта для портфолио, где затрагиваются востребованные технологии на рынке труда, и даже больше, что этот друг готов сейчас меня взять на Джуна с большими перспективами мидла, чтобы не погас запал жажды движения, но я на собственной шкуре понимаю, что тогда я не смогу так обильно двигаться в своем развитии. Потому, можно сказать, что я знаю о работе изнутри больше, чем тот, кто находится в этом видео, но я хотел лишь конструктивно дать понять, что на курсах нужно изучать не только синтаксис, а понимать что там происходят и что курсы - это не замена вышки в МФТИ, а лишь фундамент, на котором нужно строить свой конкурентный дом, который будет отличаться от тех, что сейчас есть на рынке, если будет желание его продать. И тот же самый человек постоянно жалуется, что выходцы с подобных курсов летят на крыльях к эйчарам с идеальным резюме, думая, что это все и теперь они будут работать с гималайских гор за 300_000 руб/мин. Это основная проблема курсов, что им доводят, что делать ничего не нужно, напрягаться не нужно и мы сами принесем вам знания, которые задампим пиклом в ваш мозг, а вам останется только отнести резюме в отдел кадров.
@@mralexxp3278 Ты в курсе ведь, что МФТИ и все остальные универы, это кардинально разный уровень образования? А то когда твою пасту читаешь, возникают вопросики о наличии шизы, в виде: "что среди конкурентов на должность присутствуют и много выпускников с высшим образованием в области программирования, где знаний предоставляется гораздо больше, чем на курсе по синтаксису." Ты ведь умеешь считать до четырех? Лет? И это минимум. За такой промежуток времени, ты будешь изучать 80%+ бесполезной для тебя информации. Не понимаю я успешных диванных программистов в комментариях, у которых с логикой какие-то беды. Конечно забавно брать обычного кандидата сразу из физтеха, с условием, что их еще в процессе обучения крупные компании сами хантят) Соре, но со сравнения курсов и МФТИ в голос чет.
@@sasha_nabaresh зачем ты выходишь на оскорбления? Я для примера написал МФТИ, потому, что если укажу какой-нибудь магнитогорский МГТУ, то ты и там найдешь к чему придраться. Я понимаю, что ты эксперт в своей области, но будь немного спокойнее, и перестань везде искать негатив. Ты если захочешь найти слово к которому придраться - ты его найдешь, а если слов не найдешь, то найдешь что-то другое, чтобы написать что-то негативное. Я тебе в прошлом комментарии рассказал о посыле моего комментария, но ты же начал качать совершенно иную тему, понятную тебе и не понятную мне. Если хочется структурировать поток мыслей, то заведи дневник или блог и пиши туда, а не развязывая второстепенные темы в комментариях, развязывая срач.
@@mralexxp3278 Хорошо, как мне тогда обращаться к человеку, который кидает дезинфу, не понимая в какой опе высшее образование в it?) Я не понимаю прикола в сравнении курсов с высшим образованием в лице одного только МФТИ, если пытаешься анализировать, то бери выборку нормальную. К тому же ты сам написал, что самоучка, то есть опыта обучения в вышке по данному направлению у тебя не было. Как-то не сходится. А то ощущение, что это сочинение гуманитария, без агрессии конечно.
В Тиньке не дают такие задачи, особенно на миддла, там на джуна дают задачи уровня яндекс контеста, ваша задача это копирка задачи с курса поколение пайтон со степика ...
@@AndyPronin проходил собес на qa fullstack, там была секция с лайв кодингом которая шла 40 минут. Там задачки явно сложней были, эта задачка больше похожа на те что дают, когда набирают на обучение.
Я считаю, что Андрей решил смягчить ОС парню, сказав, что задача со словарём для мидла, чтоб руки не опустились, так-то джун должен такие задачи решать, хотя у всех свои мидлы и джуны 😏
@@AndyPronin В том-то и дело, на собеседованиях спрашивают, но на практике используют не так уж и часто. Декораторы это тема Advanced Python, и задача написания декоратора это все-таки для продвинутых разработчиков.
не проще было найти максимальное и откинуть его из словаря и пройтись поиском ещё раз максимального ? Работа со словарем... В общем дядька показал что работа со словарями это основное, темболее человек практикум окончил там на каждом шагу вдалбливают работу со словарём...
Девушка задаёт ужасно тупые вопросы с листочка, даже не может их правильно сформулировать и складывается ощущение что сама не понимает зачем их задаёт ... Предлагаю провести собес этой улыбашке, а то кажется на работе она слишком много улыбается, а не работает ... 😡Ну а парнишке удачи в дальнейшем обучении
Solution from chat gpt: (do not use sorted or sort) def get_two_max_values(dictionary): max_value = float('-inf') second_max_value = float('-inf') for value in dictionary.values(): if value > max_value: second_max_value = max_value max_value = value elif value > second_max_value: second_max_value = value return max_value, second_max_value Я тоже так написал. Но заюзал 0 - т.е. не работает с отрицательними числами. Чат справился лучше.
Мидловая задача, которая решается в одну строку? Странно... sorted(s, key=s.get)[-2:] а ещё я бы на первой функции попросил сложить не 2 числа, а несколько чисел и проверил, как понимает человек func(*args): return sum(args)
@@olegkharkov6274 а самому подумать религия не позволяет? хотя да, задача то для мидла))) для начала, ты тратишь неоправданно много времени и памяти. и всё равно не выдаёшь ответ
def get_two_biggest(d: dict): tmp = [] for values in d.values(): tmp.append(values) a = sorted(tmp) for i in a[-2:]: print(i) get_two_biggest(d) У меня такое вышло
не пойдёт, особенно если нет ограничений. например, d занимает больше половины памяти. и вообще не надо писать тормознутые алгоритмы. а то сами вечно жалуетесь на громоздкие и тормознутые игры, программы, операционки, а сами делаете говнище. и вообще в задаче надо было немного другое найти
У парня в задачке со словарями прям совсем все плохо. Сперва зачем-то перегнал все ключи в список, затем отсортировал, во-первых непонятно зачем так все усложнять ведь для этой задачи есть sorted(), второе это в любом случае неправильно ведь сортировка ключей не потянет за собой еще и сортировку значений, по сути были отдельным образом отсортированы ключи вот и все Зачем? Почему? Хрен его знает. В самом конце вообще пробел жесткий, если ты перечислишь значения через and, это не значит, что выведутся значения по порядку, хоть по первому впечатлению для незнающего человека может показаться именно так. Результатом всего этого будет либо True либо False, что опять же не соответствует требованиям задачи.
Ну в маке ты за 40к и будешь всю жизнь работать) А тут лишь на начальном этапе, и люди выбирают работу не только по объему зп, но и по тому, чпм заниматься нравится, открою тебе тайну))
@@johnjonson4641 о эти мифические перспективы карьерного роста) я туть вакансию видел, ищут не ждуна. в требованиях c++ и какой-то SQL и обещания платить огромную заплату! аж 40 тысяч в месяц.... и вот лично у меня возникает вопрос каким местом думает работодатель когда выставляет такие требования? курьеры, к слову, больше зарабатывают, занчительно больше ;)
Подонки из Яндекса и Синергии заставляли куда более сложные задачи, хотя я не разработчик а Data Scientist. Выполнил коды которые в принципе работали и считали что надо, но не так как эти ушлёпки хотели. И не прошёл эти говнособеседования. Видел коды от senior DS разрабов от Яндекса - полное г.
не такое элегантное решение предложу как люди в комментах, но простое для понимания: def get_two_biggest(d): biggest = -999999999 biggest_two = -99999999999 key_1 = "" key_2 = "" for key, value in d.items(): if value > biggest: biggest_two = biggest key_2 = key_1 biggest = value key_1 = key continue if value > biggest_two: biggest_two = value key_2 = key return print(key_1, key_2) p.s. пишу с позиции изучающего пайтон
Добрый день Андрей, хочется спросить - если в процессе собеседования, когда чего то не помнишь или не знаешь - сказать интервьюеру что хочешь не загуглить( что как я понимаю есть гуд), а сказать что обратишься к chat GPT с этим вопросом, или с какими то другими вопросами. Как вы считаете стоит ли так делать? Какие ассоциации будут вызваны подобным действием у интервьюера? Это будет на пользу или во вред тому кто собеседуется и пытается устроиться на первую работу?
Проблема не в том что у вас не получается, а в том что вы не хотите, вот я самоучка, захотел выучить MySQL - и выучил за 2 дня(и то только потому что смотрел видосы по доте :) и ленился). На самом деле программирование простое если вникнуть в это, например тот же питон я в первые 3 недели чуть чуть базы поучил и сразу-же начал писать телеграмм бота, по началу я вообще нихуа не понимал, но потом мозаика сложилась и я смог выучить всякие классы, @, запаковки расспаковки и прочую фигню на легке. Могу ещё посоветовать ссайты для прокачки скилла: Codewars, codingame(только после того как в коде варс у вас будет 5kyu)
решение по словарию как вариант. Я мидл получается?)) def find_two_biggest(d: dict): largest1 =(0, -10**9) largest2 = 0 for key, value in d.items(): if value > largest1[1]: largest1, largest2 = (key, value), largest1 return largest1[0], largest2[0]
@@MrBeltalowda ну да, не учел случай, когда первое значение самое большое. Ну чутка можно модернизироват алгоритм в таком случае. def find_two_biggest(d: dict): largest1 =(0, -10**9) largest2 = 0 for key, value in d.items(): if value > largest1[1]: largest1, largest2 = (key, value), largest1 elif value > largest2[1]: largest2 = (key, value) return largest1[0], largest2[0] Или решить через список кортежей.
@@AndyPronin ну на отрицательных должно работать, до -10**9 должно записывать. В целом то во входных данных были положительные числа. А с одинаковыми должно записывать только первое значение (но в условиях задачи ничего не было сказано про одинаковые). Можно подправить код для только последних значений (поставив знак >=), а можно чтобы учитывал и значение ключа (например, при одинаковых выводил в лексиграфическом порядке), тогда сравниваем и первую позицию в кортеже с ключом. Это в целом дело парочки изменений)
def get_biggiest_key(dct: dict): for key, value in sorted(dct.items(), key=lambda x: x[1], reverse=True)[:2]: print(key) вторая задача, уровень максимум джун на самом деле, за 2 минуты решается
Большое спасибо за видео, которое мне сильно приподняло самооценку. Я смотрел и тупо ржал. На 40 тысячах чуть со стула не упал. За 40 так блудить! Если вас это устроило, предлагаю себя. Навыки пайтон и с++ базовый уровень, радиолюбитель. Навыки парсинга. Учусь на скиллбоксе. На данный момент имею рабочий и реализованный на собственной машине блок комфорта. На пайтоне (собственная задача) заканчиваю разработку утилиты для обработки шаблонных ворд файлов, место применение: налоговая, суд итд.
Андрей, спасибо за видео, как всегда мотивируешь и радуешь!
Хороший, развернутый фидбек. Интересное видео получилось, спасибо
Такое ощущение, что большинство комментаторов приходит потешить свое самомнение - вот я-то лучше того парня на видео.
+ обязательно высрать свой говнокод в комент.
Нравятся, такие собесы, побольше практики, спасибо 😀
Вообще эти софт скилы не понимаю. Человек на собесе. Вы же сами его спрашиваете. Сами. Спрашиваете. Догично же, что он отвечает!). Мол как работу ищете и т.д. На что он вам честно отвечает. Есть собесы. Было 2 собеса. тестовые. На одну работу хотели брать, но я не готов был так быстро переезжать в другой город. Вы говорите, нельзя так подробно отвечать. Что??)) Почему? И зачем вы тогда это спрашиваете. Вы спросили собеседуемого он ответил. Почему это плохо))) В дисонансе диком я). Чем это плохо?
С софтами видимо просто тренд. А нахера вот это вот все именно по конкретной позиции еще не выяснили
ну так представь, ты встретил через 20 лет бывшего одноклассника и просто бросил дежурное "как дела?", а он прям остановил тебя и давай рассказывать всю свою жизнь. вот это типичное отсутствие навыков общения, не понимание того, что где и как можно/нужно рассказывать, а что нет. но вообще хээры эти да, сами болваны, как и многие собеседующие. кто-то болваны, кто-то издевается над соискателями. и самое обидное когда они же сами соискателей нашли. я понимаю бы там подтрунивали над такими "спецами" как этот выпускник курсов, который даже максимальный элемент массива не может найти, даже с Идеей и интернетом
Ну она же сказала что лучше не раскрываться, отвечать общими фразами. Вам советы советы дают, надо быть благодарным)
@@dennu2580 ок. Я написал это сообщение потому что я реально не понимаю. ) ну ок. Будем не раскрываться на собесах. Отвечать общими фразами. НО, я так и не понял почему! В видео вроде это не объясняют, ну по крайней мере мне не понятно почему.
Mooj
Сколько же критики в адрес парня… во-первых, молодец, что пошел на собес, многие и до этого не доходят, пока по знакомству не залетят)) во-вторых, позиция джун, понятное дело, что он будет плавать в темах, для этого и есть старшие коллеги по работе. Да так почти во всех сферах. Я работаю в другой отрасли, зав аптекой, но на саентиста учусь, и ко мне на работу пришли прям нулевые девушки, я не знаю, что они в вузах делали, но ничего, всему важному обучил, практиканты тоже нулевые приходят, становятся спецами уже походу дела. Парень красавчик, все у него получится обязательно, не робкого десятка
Добавлю, что он мог запретить публикацию. Так что у него есть дух
просто сейчас очень много человек на одно место, джунов как грязи развелось. Я вообще удивлен, что задачка со словарем это мидловая задачка оказывается
@@MrOverHerz конечно не мидловая. это каждый студент шараги должен уметь делать
Честную обратную связь нужно давать, тем более по таким базовым вещам. Парень молодец, просто нужно читать, писать и развиваться. Никто же не хочет учить джунов совсем базовым вещам на работе, архитектуре - да, локальному "бест практикс" - да, познакомить с новыми инструментами для человека - да. Фундамент должен быть. Ещё таких 2-3 собеса полных и он точно получит уверенный оффер. Темы про async, GIL, API (темы без которых сложно сейчас представить работу Python developer) даже не трогали. А там есть что поспрашивать. Ещё бы к необходимым темам отнёс работу с реляционными БД, если с ними всё ок, то и проблем в знакомстве с другими БД не возникнет. Ну и с docker никто наверно не хочет знакомить новеньких, эта тема часто вызывает ступор и полное непонимание что это и как
это.
Потому что в ВУЗах не умеют учить, метод подачи материалов древний, мир уже по другому учит, а в этой сране одни скрепы. Если бы студентам объясняли понятным языком что и для чего они учат и потом экзаменуются то и интерес был бы и в голове откладывалось. Ну и больше прикладных знаний нужно давать, а не "воды", которую при желании можно самому изучить после устройства по профессии.
40:30 я всегда довожу задачу до решения, даже если кандидат сам не может-объясняю.
А зачем? 🙂
@@dmitrypetrov8491 таким образом человек лучше поймет, чего ему не хватило. Не уверен, что это всем надо, но может кому-то интересно-поэтому объясняю.
@@dmitrypetrov8491 таким образом человек лучше поймет, чего ему не хватило. Не уверен, что это всем надо, но может кому-то интересно-поэтому объясняю.
Тк ты студент - можем на договор подряда , так удобнее тебе 😅😅
--
Перевод: так как ты студент , мы возьмем тебя без гарантий : будешь платить 13% НДФЛ со своей зп, а если что мы скажем что ты у нас не работал , а просто оказывал услугу. Про оплачиваемый отпуск, оплачиваемые больничные , пенсионные отчисления и прочие плюшки забудь. Так тебе будет удобно!
После вопроса "Делегировал ли ты кому-нибудь свою работу" заданного джуну решил просмотр прекратить...
другому джуну делегировал)
да это кринж, всегда проматываю эту часть))
Для джуна у молодого человека пробелы в некоторых базовых знаниях. Например Easy задачи с LeetCode намного сложнее
а, ну раз хрен пойми что хрен пойми откуда, то значит истина 🤣
Спасибо Степану! Желаю удачи.
Делегировать работу!? Он джун! Тётка совсем не понимает даже какие вопросы по софт скилам задавать. Уберите ее
другая тётка будет допускать точно такие же ошибки, расслабься они все одинаковые
бля, вроде на руцсском пишешь, а что пишешь хрен поймешь
Было бы хорошо, если бы Вы разбирали задания для аудитории(нас) в случае неуспеха кандидата после окончания собеседования один или вместе с кандидатом в конце собеседования.
Постараюсь учесть
@@AndyPronin спасибо братошка капитошка
def two_max_d(d):
d1 = {v:k for k, v in d.items()}
result = sorted(d.values(), reverse=True)
del result[2:]
for i in range(2):
print(d1[result[i]])
функция, которая возвращает два максимальных числа, не думаю, что она для мидла
for i in range(2):
print(d1[result[i]])
@@funnylaunchpad3609
Я решил вот так:
def get_two_max(d: dict) -> tuple:
max1 = None
max2 = None
for key, value in d.items():
if value > d.get(max1, -float("inf")):
max2 = max1
max1 = key
elif value > d.get(max2, -float("inf")):
max2 = key
return max1, max2
Андрей, увидел на заднем плане Энциклопедию профессора Фортрана. Я тоже по этой книжке в IT пришёл 33 года назад😊
Мне подбросили) Это не моя.
@@AndyPronin мопед не мой :)
И я))) я ее даже купила во взрослом возрасте на Авито чтобы стояла как память, а то моя детская затерялась. Знал бы профессор Фортран что я теперь джава разраб благодаря нему…😂
@@katerinas5154 я тоже хочу купить, хочется освежить как они обсуждают байты, килобайты и мегабайты. А о гигабайтах говорили как о чем-то ну ОЧЕНЬ большом. Знал-бы профессор Фортран, что я нейронные сети буду обучать) Помню как кто-то из персонажей, когда ему доверили чистить картошку говорил: "Эх робота-бы сюда". Прошло 30 лет и прототипы роботов есть в разных областях, хотя картошку их чистить так и не научили)
ъуъ ваши масквы. вгрузился я плотно. видео глянул начало... на декораторах прям ну не айс. но при написании кода не молчит. молодец. думаю если желание есть будет через 3 года синьером... при условии что будут у него проекты :)
Классный формат, парень молодец!
учитель: тема урока - бассейны
степан: я плаваю в этой теме
d = {'b': 6, 'a': 8, 'd': 3, 'c': 4,}
max2 = sorted(d.values(), reverse=True)[:2]
for i in d.keys():
if d[i] in max2:
print(i)
Тогда еще без сорта, одним проходом по словарю, ногами. Интересно что эта задачка на мидла.
def f_ret(d):
value1=0
key1=key2=0
for k,a in d.items():
if a>value1:
value1=a
key1,key2=k,key1
return key1,key2;
d = {'b': 6, 'a': 8, 'd': 3, 'c': 4,}
max=sorted(d, key=d.get)[-2:]
print(max)
Чуть по проще
че по времени у меня ? вот такой алгоритм кто знает
def get_two_biggest(d: dict):
if len(d) max_value1:
max_key2, max_value2 = max_key1, max_value1
max_key1, max_value1 = key, value
elif value > max_value2:
max_key2, max_value2 = key, value
return max_key2, max_key1
Получил два решения для задачки (первое что пришло в голову). Когда используется heap, то по идее лучше будет. Интересно посмотреть на другие решения.
import heapq
d = {'a' : 537,
'b' : 772,
'c' : 12,
'd' : 5400,
'e' : 120,
'f' : 5432,
'g' : 12,
'h' : 66,
'i' : 5,
}
def foo(d, n):
iter_d = d.iteritems()
k, v = next(iter_d)
l = [(v, k,)]
for k, v in iter_d:
if v > l[-1][0]:
l.append((v, k,))
l.sort(reverse = True)
if len(l) > n: l.pop()
return [v for v, k in l]
def foo(d, n):
iter_d = d.iteritems()
k, v = next(iter_d)
l = list()
l.append((v, k,))
for k, v in iter_d:
if v > l[-1][0]:
l.append((v, k,))
heapq.heapify(l)
if len(l) > n: l.pop()
return [v for v, k in l.sort(reverse = True)]
Декоратор всё таки не удался. Ломает декорируемую функцию
Ну, в целом - по написанию кода вопросов меньше, чем обычно.
Не хватает алгоритмической практики - и я имею ввиду сейчас не столько сами алгоритмы, сколько именно решение алгоритмических задач на Питоне - это серьезно подтягивает знание синтаксиса.
По декоратору: тут сразу видно, что декораторы самописные редко писал(если вообще писал). В целом, чисто по трейсбеку он должен был сразу увидеть место, в котором был вызов функции без аргументов и обратить на это внимание.
А вот по второй задачке - меня прям дико триггернуло list() и дальнейшее наполнение списка через .append(). Тут прям компрехеншн напрашивается.
Сдается мне, что полгода в данном случае - это прям совсем с запасом. Месяца за 1-2-3 написания кода это все пофиксят.
P.S. А задача про хэшируемость оказалась весьма интересной. Вариант с hasattr() реально всегда возвращает True. В части случаев из-за МРО, а в других - потому если объект заведомо нехэшируемый, то у него...барабанная дробь...определена атрибута __hash__ на уровне класса и в ней лежит None. Я был в шоке, честно говоря.
он же джун, а не мидл
ни с каким не запасом. он просто нулёвый... даже язык не поворачивается сказать спец. все задачки заводят его в тупик, хотя как раз на его этапе он должен щёлкать их как семечки, решая в лоб, или применяя встроенные функции, если до них дошёл. про хешируемость - бред на бреде. if a then true else false - это что за высер, когда надо просто вернуть бул от значения? исключения обрабатывать? это дорогая операция и вообще они не для этого сделаны. да и возвраты делать из исключений можно, но не стоит. но тут всё ещё хуже. что если объект просто огромен? не надо никакие хэши вычислять, надо просто ответить, хэшируемо значение или нет. ключи по значениям, ну и вообще чел ничего не знает и ничего не умеет. прошёл якобы структурированные курсы, а структуры знаний 0. про те же сложности алгоритмов, например. смотрел днём ролик, уже и забыл все его косяки. помимо того, что он раз или больше просто завис: не могу решить. хотя задачи все примитивные кроме задачки с декоратором, которую надо давать лишь тем джунам, которые все темы знают, на которых построен декоратор, включая сам паттерн. и декоратор должен не печатать, а возвращать. тут неуд самому интервьюеру
@@TheSnos15 исключения дорого? Просто бул?
bool(hash([]))
@@mishuha так это всё равно вызывает ошибку)
Задание с сортировкой самых больших значений. Не проще изменить список в порядке убывания, затем вытащить два первых ключа.
Тут же целая история .
dict = {
'a': 34,
'max2': 66,
'c': 12,
'max1': 9000,
}
def two_max(dict):
list_values = sorted(list(dict.values()))
first, second = list_values.pop(), list_values.pop()
results = []
for k, v in dict.items():
if v == first or v == second:
results.append(k)
return results
print(*two_max(dict), sep='
')
Такое душное собеседование, к вам не пойдет нормальный человек. Сидит барин и душит молодежь
print(*sorted(d,key=lambda x: d[x],reverse=True)[0:2])
test_list_1 = []
test_list_2 = [1]
там функция нужна а распаковка через * - вызвала бы ошибку + время выполнение О(n logn)
решайте больше задач, ребята
Пипец вопрос, конечно. "Почему выбрал развиваться?" Я в шоке, я бы туда не устраивался после таких вопросов. Дичь 2:10
Начинается с глупых вопросов
Почему решил стать программистом? 🤦♂ - Потому, лол)
Не, hr'ов надо ограничивать в их "работе". Максимум пролистать присланные резюмехи, отсеять сразу тех, кто не подходит, узнать только ответы на самые важные вопросы по типу: планируешь ли релокацию, какие зарплатные ожидания и какие мы можем предложить, и т.п., рассказать про структуру компании, всё. Остальное пустая трата времени
У нас так и делают как вы описали, это идеально)
что не так с вопросом, как человек пришел к профессии?)
@@torburgmax бессмысленный, только чтобы время потянуть ради показательного рабочего процесса, сделать вид, что работаешь как hr
@@ic6406 почему бессмысленный? я хочу понимать, какая мотивация у него, что его драйвит по жизни, чтобы понимать, какие пути в компании у него есть
А не смутило,что pycharm 10 минут подсвечивал ошибку с возращением декорируемой функции?)
Декоратор бы съел выполнение функции. Такой декоратор не вернул бы выполнение функции. Время покажет,но функция при привете вернёт None
это у вас ребята, после прохождения курса пайтон разработчик от яндекс практикума, который длится 9 месяцев ?
Ага
А в чем смыс такого вопроса как: "Что тебя подвигло стать пайтон-разработчиком"? Реально же ответ ничего не значит, но многие кадровики начинают спрашивать именно с этого глупого вопроса. А что если не год назад решил попоробывать, а пару дней назад и уже пишу серверные приложения, знаю базы данных, умею обрабатывать RESTfull, работаю с потоковым видео? Нашел курсы от Netflix практика? Тоже самое глупій вопрос о проєктах. Ну мы же прекрастно понимаем что никаких проектов у начинающего не может быть. Ну проет бота или проект видеочата - и что? Это о чем говорит? Да по-большему ни о чем! Это типично непонятное собеседование со стороны кадровика, который вместо вопорсов спрашивает не в тему такие же странные ответы. Тут наверное надо было начать с понимания проекта.
да этих паразитов вообще надо гнать взашей. после всяких риелторов и кадровых контор
Ребят, надеюсь вы рофлите, когда все это пишите. Ребята делают реальный контент, в него входит ещё и hr. Если вы все вопросы уже знаете, мотайте и не нужно в комментах свои оскорбления писать, не дети же уже.
@@skyruptor337 спасибо за совет (нет)
а при трудоустройстве не в ит, а что-то типа продавца в магазин hr любит спрашивать "зачем вам работа" , ну может потому что люблю спать в кровати и есть еда в холодильнике, а не спать под лавкой и есть с помойки потому что нет денег на квартиру и еду
Потому что таких людей, которых вы описали на одну вакансию падётся по несколько десятков, а то и сотен, поэтому у работодателя цель - взять самых лучших, кто кроме крепких знаний ещё и сам по себе любит программировать, пишет свои собственные проекты, такой человек с большей вероятностью сможет решать какие-то нетривиальные задачи на работе
Хм, я с декораторами не работал, сам бы не написал, хотя логика работы понятная и простая. А вот со словрем обидно вышло, задачка простая была
Сортировка словаря в порядке возрастания значений value:
print(sorted(some_dict.items(), key=lambda x:x[1], reverse=True))
Вариант, когда в словаре есть одинаковые значения value:
from collections import defaultdict
some_dict = defaultdict(list)
for key, value in some_dict.items():
some_dict[value].append(key)
print(sorted(some_dict.items(), key=lambda x:x[0], reverse=True))
# some_dict = {'a': 10, 'z': 0, 'd': 11, 'f': -7, 't': 10}
# -> [(11, ['d']), (10, ['a', 't']), (0, ['z']), (-7, ['f'])]
Мне почему-то сразу в голову пришла идея генератора списков
[(key, value) for key, value in l.items() if value == l.get(max(l))]
сразу получим и список, и пользуемся питонячими плюхами
@@bandicuttt вы оба бред написали. один ключи со значениями поменял местами, другой по словарю летает туда-сюда несколько раз, ещё и списки составляя, причём через задницу. научись лучше алгоритмы написать. а потом ещё узнаешь лучший способ решить эту задачу
@@TheSnos15
> один ключи со значениями поменял местами
Кажется, кто-то силён в размашистых оценках, но слабоват в теории. Вот эта штука, "key=lambda x:x[1]", задаёт ключ для сотрировки, но никак не меняет местами ключи и значения в словаре. Ей вообще нет дела до того, какие именно два значения в какой именно коллекции пришли на вход. И что она, что сама функция sorted не изменяют исходный словарь вообще никак и даже не создают новый, всего лишь формируется поток сортированных данных.
Я не понимаю, зачем вы все сортировкой занимаетесь? Можно же в один проход все найти
def foo(data):
result = sorted([(k, v) for k, v in data.items()], key=lambda t: t[1])
return result[-2][0], result[-1][0]
Я так паралельно писал, но тоже не то немного....
Пихон разработчиик - это что-то новенькое
Последнюю решил так:
t_d = {'a': 12, 'b': 193, 'c': -12, 'd': 9000}
answ = sorted(t_d.items(), key=lambda couple: couple[1], reverse=1)[:2]
finaly = ''.join(i[0] for i in answ).upper()
print(f'\033[1m\033[94m{finaly}')
можно через values() перегнать в лист, а затем через bubble sort решить, если уж совсем лень
А зачем бабл? Можно лист и с помощью sorted вернуть, только как это потом будет связано с тем, что нужно вернуть ключи 😅
Я бы items сортировал с ключом лямбдой по второму элементу кортежа с инверсией) и выводил срез [:2], зачем инверсия? Затем чтоб если словарь состояли из одного значения срез не возбуждал исключение 😊
Вообще так обрадовался когда решение пришло в мгновение, а потом узнал, что это мидловая задача 🤭
@@karkozov надо проверку делать чтобы словарь имел больше 1 элемента или двух, тут уже смотря как нужно.
Задачка два:
def dict_max(e):
return sorted(e.items(), key=lambda x:x[1], reverse=True)[:2]
Спасибо за контент, возвращение к основам всегда полезно)
Я бы тоже так решил, только тут выведется 2 кортежа с ключом и значением, а просили только ключи, но это так, нюансы)
Ну если со стороны временной сложности заходить, то сортировка это всегда O(nlog), а данную задачу можно за линейное время решить. Просто пройтись по всему словарю и найти два максимальных значения. Конечно не так красиво в одну строчку получится, но точно быстрее )
👍
@@0ver4ance я немного испорчен кодварс и поэтому люблю в одну строчку)
а так - да, вы правы)
@@artembuldin5438, тогда на литкод переходите, там Вас в алгоритмическую сторону портить будут ))
зделал задание но не очень коротко)
оцените)
dict = {
'a': 65,
'b': 9000,
'c': 150,
'd':900,
}
def find_two(dct):
premax = 0
max = 1
for i in dct:
el = dct[i]
if el>max:
max =el
for x in dct:
if max == dct[x]:
print(str(x) + " - айди елемента макс :" + str(max))
for j in dct:
el2 = dct[j]
if el2>premax and el2
не задали вопросы: что отдавать, если максимумы два одинаковых/три?..
example = {
'a': 123,
'b': 64234,
'c': 893,
'd': 123213,
}
def get_two_max_keys(d: dict):
if len(d) < 2:
raise ValueError("Длина словаря меньше 2")
return sorted(d, key=d.get, reverse=True)[:2]
@@Razer725 о господи, эксепшионисты
Посмотрел этих "собеседований" уже с десяток. Соответствие реальности -- на уровне попкорновых блокбастеров. Как человек, уже с полгода штурмующий рекрутёров как раз на позицию Python junior, могу уверенно заявить:
1. Такими примитивными вопросами и задачами собеседование никогда не ограничивается. Кандидата ОБЯЗАТЕЛЬНО нагрузят математикой (даже если по роду работы она не будет нужна); ОБЯЗАТЕЛЬНО погоняют по знанию библиотек типа Pandas, matplotlib, numpy, и так далее; ОБЯЗАТЕЛЬНО подёргают ещё на предмет знания регулярных выражений; ОБЯЗАТЕЛЬНО протестят ещё и на знание HTML, JavaScript или что там смежное используется в ходе работы, потому что с одним голым Питоном в зубах шанс устроиться вообще равен нулю; ОБЯЗАТЕЛЬНО потребуют демонстрации навыков минимум в одном из популярных фреймворков... И добавьте к этому ещё штук пять пунктов с учётом специфики нанимателя.
2. Всё это счастье требуется решать БЫСТРО, вот так нянчиться, как в этих постановочных роликах, никто не будет, ожидая, пока дитятко наконец созреет. Тупишь более минуты -- до свидания. Максимум, что какое-то время могут потерпеть -- это если человек внятно и грамотно рассуждает вслух, причём в правильную сторону и не о проблеме уровня "два плюс два".
3. И естественно, если вот так косячить даже на таких pre-pre-pre-junior задачах, то на этом собеседование и закончится. Конкретно в этом ролике пацан нафигачил декоратор строго по учебному шаблону, не думая, на автомате -- И ЛАЖАНУЛ СО СКОБКАМИ В РЕТЁРНЕ. Это сразудвойка. Даже раньше, поскольку уже первая функция написана без аннотаций, ногами ходи, дверь вон там.
Нет такой профессии -- "хороший парень". Все вот эти герои сюжетов могли бы вызывать интерес у нанимателей только если они Чьи Надо дети или любовники. Ролики эти "мотивирушие, что всё так легко" -- для привлечения восторженных хомячков на платные курсы, в духе "Python за 21 день, за час, за 10 секунд", "Матрица" с закачиванием навыков чуть ли не на бегу нервно курит. А в реальности любому из этих "хороших" до уровня джуна ещё с годик систематизированной прилежной учёбы в режиме "жить возле компа". Тем более сегодня, когда планка ползёт вверх прямо на глазах, термин STRONG JUNIOR уже не прикол, а вполне рабочее название и означает оно биоробота, свободного от сна и прочего быта, готового пахать 24/7, способного совершать каждые сутки три великих и тридцать три маленьких чуда, при этом быть возрастом не более 20 лет и иметь стаж работы не менее 20 лет. И всё это за джуниорскую зарплату, а в 2/3 случаев вообще "за опыт, за отметку в резюме, за нужноевписать".
если у вас такой успешны успех, тогда почему у вас нет своего айти бизнеса? критиковать и говорить , что нужно делать - всегда легко. вот и вскрылся один из душнил на собесе. себя вспомните, как лажали и так далее, а потом осуждайте людей.
@@zmishenkovzmih5050 Так он всё по факту сказал, да и с чего ты взял что у него нет своего бизнеса, и почему наличие своего бизнеса вообще является показателем успеха в этой сфере?
@@zmishenkovzmih5050 ТАК -- никогда не лажал и не позволил бы себе даже пытаться так позориться, с самокритикой и здравым смыслом у меня всё норм. Ни в каком месте не молодец тот, кто "ну зато не побоялся попытаться". Нет такой профессии -- "хороший парень", либо компетентен, либо шагом марш улицы мести, ни один псих не станет гробить свой бизнес, собирая вот таких незамутнённых дитяток.
Ты точно на собеседования ходил, а не на игру в кальмара? Вопросов, канеш, побольше обычно бывает. По бд что-нибудь должны были спросить, по вебу, хотя бы поверхностно. Но на нормальных собеседованиях так уж жестко прям не торопят. Могут и выйти/отключиться на время решения задачи, чтоб собеседуемый успокоился. Он, пожалуй, многовато тупил, это да, все таки попрактиковаться еще ему бы не помешало. Но с другой стороны, он согласен сначала на стажера, а после на жалкие 40к
@@Alexander.Kravchenko я даже больше скажу, мой текст успел несколько устареть, сейчас требования ДАЖЕ к уровню "джуниор" стали ещё выше, а условия ещё жёстче. То короткое время, пока в мире не было кризисов, а для нужд рынка хватало "даже" эникейщиков, живущих обычной копипастой с форумов, давно и надёжно прошло. Рынок насытился, как в том анекдоте, "не умею ничего" -- девушка, ЭТИ места уже все заняты. Сейчас с того самого джуна кроме всего прочего требуется ещё и английский уровнем не ниже intermediate, хотя зачем бы он джуну-разработчику, когда коллектив из этой же локации, а для остальных вопросов есть в конце концов менеджеры... А никого не колышет, НАДО -- или до свидания, не задерживай очередь. Я, кстати, до сих пор за постоянную работу так и не зацепился, НЕ БЕРУТ, варюсь в клоаке фриланса , где конкуренция ещё жёстче, вообще закон джунглей, но зато с тебя нужно только то, что в данный момент нужно данному заказчику.
Самый "важный вопрос", как у вас происходит трудоустройство. Когда ты сидишь без работы и у тебя есть шанс получить стажировку вообще не задавай вопросы. Пробуй, действуй и делай дальше выводы. Попробовать поработать в крупной компании гораздо круче, чем посидеть дома ещё месяц. Даже, если тебя не оформят и кинут. Это тоже опыт.
Задолбали мамкины ждуны...
ну да надо идти на говно работу в шарашкину контору лишь бы устроиться
Копец, мне вообще задавали первые вопросы про перегрузку в ооп, алгоритмы сортировок, задачи на рекурсию... а тут детская задача(
Факты, хотя алгоритмы сортировок тоже детсад))
На превьюхе слово python с ошибкой.
Превью: Собес Pyhon разработчик 😂
Вот зачем ему договор подряда? Что-то мутное говорит тетя, сразу трудовой и бессрочный. Все эти гпх и прочая лабуда невыгодна сотруднику.
Ольга все хорошеет....
Пьет кровь собеседуемых, не иначе...
@@AndyPronin хахах
это весь собес?
я думал он намного сложней
50 минут вообще пролетели не заметно.
я наверное знаю меньше всего чем он, но зато знаю все очень хорошо и решил бы все задачи кроме времени. но она мне тоже показалась не сложной, особенно если знать библиотеке.
После просмотра всех ваших видео реально не понимаю, за что так хвалят практикум и самое главное зачем это яндексу и вам...
Мне просто нраится издеваться над людьми. Зачем это Яндексу -- надо спрашивать у Яндекса
@@AndyPronin Ну понятно . Эдакий типаж Чикатило - программиста в очках.🙂
Когда есть спрос есть предложение. Как по мне парень совсем не плох , а терпение и труд все перетрут. А все остальные суждения страждущих можно засунуть далеко.
@@andrewmishkov9279 ну вот и засунь)
А за что ругать его? Тут надо сравнивать выпускников других курсов. А без сравнения никаких выводов не сделать особо.
Привет всем! У меня вопрос. Почему, в видео собесов со стороны яндекса всегда одни и те же лица? Андрей += Пронин и Улыбашка? Других я не находил. Если кто смог найти других, то поделитель пожалуйста ссылками. Было бы очень интересно.
Олег есть. Руслан. Данила. Покликай плейлист. И по софтам раньше были Рита, Коля, Катя.
Может тоже в джуны податься... 0 теории, но есть 8 лет практики😂
насколько я понял - больше 70% студентов после окончания курса Яндекса даже не тянет на позицию стажера? И после курса студенты в свободном плавании, где особо никому не нужны? или приглашают на новый курс?
покажи мне курсы, которые из тебя хорошего джуна за 9 месяцев, или сколько они там учатся, сделают
@@MrBeltalowda новый курс в яндексе уже 14 учит. я не знаю эти студенты с этого курса или нет (скорее нет). На твой взгляд сколько надо учиться на Джуна и сколько уделять часов в неделю?
Откуда такая статистика про 70%? По факту:- ни одни курсы -- не панацея. Можно и без них. Я по книжкам учился.
Например, ты нулевый, пошел на курсы, тебе один раз показали декоратор, потом у тебя такое же тестовое собеседование через пол года и тебя просят написать декоратор - напишешь? А ты его как пол года назад видел, так больше ни разу и не смотрел. Не думаю что в голове чтонибудь останется. А про словарь тебе вообще ничего не рассказывали, ну или не много в самом начале. Тут все дело в самообучении и в повторении материала.
@@MrBeltalowda Сходи в ката академи, там учат нормально, но там и нормальные ЯП java и Go
Воу-воу получается я решил задачку на мидла пройдя всего пару курсов по пайтон? Хмммм….
Наверное, это лучшая антиреклама яндекс.практикума, что они выдают сертификаты даже с такими знаниями. Пусть я и сам начинающий самоучка на со степиком и литкодом с опытом в 2-3 месяца активного обучения, но алгоритмы он тяжело переносит даже в таких простых задачах. Не представляю какого человеку, когда ему прилетит класс для исправления в 200 строк с вычислениями.
Может, конечно, волнуется, но знаний в алгоритмах очень мало. Самое интересное, что все хвалят курсы Я.П, но, видимо, сертификаты дают не за знания, а за то, что принес денег.
Рекомендую парню книгу по типу "Грокаем алгоритмы".
Без обид, если читаешь это, но на собеседования лувше призодит после пары реализованных серьезных проектов, иначе не представляю что это за компания, которая хотела дать оффер ему.
В том то и дело, что ты начинающий самоучка, который думает, что алгоритмы - это панацея. Открою страшную тайну. Алгоритмы в реальных проектах - не более 10 процентов от всей работы. А если алгоритм еще и выходит за рамки пузырьковой сортировки, то он по несколько раз обсуждается с тимлидом. А советовать что-то совершенно не имея опыта в теме - просто вышка
@@АртурГареев-х2д я просто констатирую увиденные факты на видео и имею дружбу с человеком, который имеет хорошую должность в популярной компании. Я с ним общаюсь почти каждый день и узнаю от него конечные навыки, которые необходимы для работы.
Понимаете, что у человека должны быть начальные залежи информации о мышлении, чтобы понимать, что этот юнец, в дальнейшем, сможет делать что-то большее и будет расти, преподнося в команду новые идеи реализации тех или иных функций (приложений). В этом же случае, здесь человек, которому дали синтаксис, и тот не полный, и лишили самого главного - дать навыки мышления программиста. Тимлиду нужен не вечный Джун, а будущий сеньор, которого можно сделать, выступая наставником. Здесь же человек, который явно не тянет даже на выпускника курсов, не говоря уже о том, что среди конкурентов на должность присутствуют и много выпускников с высшим образованием в области программирования, где знаний предоставляется гораздо больше, чем на курсе по синтаксису.
И не надо смотреть на опыт изучения. Как минимум, что меня будет отличать от других подобных выпускников курсов - я имею достаточно расписанный роадмап со связанными между собой стеками, и в процессе обучения, делаю два крупных проекта для портфолио, где затрагиваются востребованные технологии на рынке труда, и даже больше, что этот друг готов сейчас меня взять на Джуна с большими перспективами мидла, чтобы не погас запал жажды движения, но я на собственной шкуре понимаю, что тогда я не смогу так обильно двигаться в своем развитии.
Потому, можно сказать, что я знаю о работе изнутри больше, чем тот, кто находится в этом видео, но я хотел лишь конструктивно дать понять, что на курсах нужно изучать не только синтаксис, а понимать что там происходят и что курсы - это не замена вышки в МФТИ, а лишь фундамент, на котором нужно строить свой конкурентный дом, который будет отличаться от тех, что сейчас есть на рынке, если будет желание его продать.
И тот же самый человек постоянно жалуется, что выходцы с подобных курсов летят на крыльях к эйчарам с идеальным резюме, думая, что это все и теперь они будут работать с гималайских гор за 300_000 руб/мин.
Это основная проблема курсов, что им доводят, что делать ничего не нужно, напрягаться не нужно и мы сами принесем вам знания, которые задампим пиклом в ваш мозг, а вам останется только отнести резюме в отдел кадров.
@@mralexxp3278 Ты в курсе ведь, что МФТИ и все остальные универы, это кардинально разный уровень образования? А то когда твою пасту читаешь, возникают вопросики о наличии шизы, в виде: "что среди конкурентов на должность присутствуют и много выпускников с высшим образованием в области программирования, где знаний предоставляется гораздо больше, чем на курсе по синтаксису."
Ты ведь умеешь считать до четырех? Лет? И это минимум. За такой промежуток времени, ты будешь изучать 80%+ бесполезной для тебя информации.
Не понимаю я успешных диванных программистов в комментариях, у которых с логикой какие-то беды. Конечно забавно брать обычного кандидата сразу из физтеха, с условием, что их еще в процессе обучения крупные компании сами хантят) Соре, но со сравнения курсов и МФТИ в голос чет.
@@sasha_nabaresh зачем ты выходишь на оскорбления? Я для примера написал МФТИ, потому, что если укажу какой-нибудь магнитогорский МГТУ, то ты и там найдешь к чему придраться. Я понимаю, что ты эксперт в своей области, но будь немного спокойнее, и перестань везде искать негатив. Ты если захочешь найти слово к которому придраться - ты его найдешь, а если слов не найдешь, то найдешь что-то другое, чтобы написать что-то негативное. Я тебе в прошлом комментарии рассказал о посыле моего комментария, но ты же начал качать совершенно иную тему, понятную тебе и не понятную мне. Если хочется структурировать поток мыслей, то заведи дневник или блог и пиши туда, а не развязывая второстепенные темы в комментариях, развязывая срач.
@@mralexxp3278 Хорошо, как мне тогда обращаться к человеку, который кидает дезинфу, не понимая в какой опе высшее образование в it?) Я не понимаю прикола в сравнении курсов с высшим образованием в лице одного только МФТИ, если пытаешься анализировать, то бери выборку нормальную. К тому же ты сам написал, что самоучка, то есть опыта обучения в вышке по данному направлению у тебя не было. Как-то не сходится. А то ощущение, что это сочинение гуманитария, без агрессии конечно.
47:57 сынок,иди кушай,а у тебя собеседование
В Тиньке не дают такие задачи, особенно на миддла, там на джуна дают задачи уровня яндекс контеста, ваша задача это копирка задачи с курса поколение пайтон со степика ...
Вообще, взял из их тестового, которое у меня в телеге ребята публиковали недавно. А откуда инфа про собесы в тинек? t.me/UA-camPronin
@@AndyPronin проходил собес на qa fullstack, там была секция с лайв кодингом которая шла 40 минут. Там задачки явно сложней были, эта задачка больше похожа на те что дают, когда набирают на обучение.
С контестом ты перегнул. Дают задачки уровня easy/medium с литкода. Даже в самом Яндексе не такие сложные задачи дают на мидлов
Ах ах, пиХон разработчик 😁
Решение для словаря: sorted(dict.values())[-2:]
Мидловая задача? на codewars задача уровня 7kuy (максимум 6)
Не очевидное:
first = dict.pop(max(dict, key=dict.get))
second = dict.pop(max(dict, key=dict.get))
get_two_max_number = lambda dt: tuple(sorted(dt.values(), key=int, reverse=True)[0:2])
чем глаза открывал то?
Я считаю, что Андрей решил смягчить ОС парню, сказав, что задача со словарём для мидла, чтоб руки не опустились, так-то джун должен такие задачи решать, хотя у всех свои мидлы и джуны 😏
Задачка из мидловой позиции тинька
@@AndyPronin Спасибо за ответ!
Я себя наверное низко оцениваю, раз грызу ещё гранит IT науки, оказывается надо в Тинькофф отклик на вакансии делать
Почему нельзя такие задачи решать с листкомпрезн, лямбда Функ?так гораздо лучше
@@Diablo_GaTo_ChannEl потому что сложность
@@MrBeltalowda не дают же пользоваться,суть не в сложности
Откуда такая любовь к декораторам? И почему? Это же совсем нетиповая задача декораторы писать, тем более для джунов ...
Наоборот. Часто спрашивают на собесах
@@AndyPronin В том-то и дело, на собеседованиях спрашивают, но на практике используют не так уж и часто. Декораторы это тема Advanced Python, и задача написания декоратора это все-таки для продвинутых разработчиков.
@@VA-jo9tvа что в них адвансед? неплохо бы понимать, как работают лямбды
В задаче про словарь, в тиньке скорее всего начали бы спрашивать про алгоритмическую сложность/затраты по памяти
А так слабовато, это ещё стажер =/
Боже, он сам предлагает вакансию джуна ПОСЛЕ СТАЖИРОВКИ за 40к, смех и точка.
Ждёмс
Видно что расстроился немного , сильно не стоит , в любом случае крутой опыт
не проще было найти максимальное и откинуть его из словаря и пройтись поиском ещё раз максимального ? Работа со словарем... В общем дядька показал что работа со словарями это основное, темболее человек практикум окончил там на каждом шагу вдалбливают работу со словарём...
Мне вот интересно, а зачем вы спрашиваете сколько собеседований парень проходил до вас, вам то какое до этого дело?
Если ему много раз отказывали , то скорее всего он плохой программист
навык прохождения собеседований это навык, который развивается при прохождении собеседований
Девушка задаёт ужасно тупые вопросы с листочка, даже не может их правильно сформулировать и складывается ощущение что сама не понимает зачем их задаёт ... Предлагаю провести собес этой улыбашке, а то кажется на работе она слишком много улыбается, а не работает ... 😡Ну а парнишке удачи в дальнейшем обучении
Сделали. По результатам уволили. Спасибо
@@user-tm8sg4oq9t девушка наверно рыдает над этим комментом
Вот да - вопрос за вопросом, без ОС. Ухо резало очень. Будто она спрашивала, а ответ не слушала вообще...
Может молодой человек и силен в ботах, фреймворках и т.п., но в синтаксисе он очень слаб.
ну эт два разных навыка.
можно неплохо писать всякие микрошопы на фастапи
а на задачках затеряться…
Как то все грустно поличным проетам :/ все какие то скучные, как с пособия какого то
скажите пжл, когда вы в работе последний раз использовали декораторы?
Если бы на фласке писал - каждый день бы использовал. Джанго FBV тоже для пермишенов использует
@@AndyPronin вот и я не использую уже много много лет)))
Solution from chat gpt:
(do not use sorted or sort)
def get_two_max_values(dictionary):
max_value = float('-inf')
second_max_value = float('-inf')
for value in dictionary.values():
if value > max_value:
second_max_value = max_value
max_value = value
elif value > second_max_value:
second_max_value = value
return max_value, second_max_value
Я тоже так написал. Но заюзал 0 - т.е. не работает с отрицательними числами. Чат справился лучше.
Нужны ключи, а не значения
@@AndyPronin
rewrite to return keys for those values
def get_keys_for_two_max_values(dictionary):
max_key = None
max_value = float('-inf')
second_max_key = None
second_max_value = float('-inf')
for key, value in dictionary.items():
if value > max_value:
second_max_key = max_key
second_max_value = max_value
max_key = key
max_value = value
elif value > second_max_value:
second_max_key = key
second_max_value = value
return max_key, second_max_key
Маленькое улучшение )))
@@AndyPronin Скоро будем без работы )))))) Шучу ))))
Какие-то больно простые у вас задачи на джуна) Это скорее на стажёра да и совсем слабенького
А в первом задании inner не должен возвращать result?
должен
Мидловая задача, которая решается в одну строку? Странно... sorted(s, key=s.get)[-2:]
а ещё я бы на первой функции попросил сложить не 2 числа, а несколько чисел и проверил, как понимает человек func(*args): return sum(args)
это плохое и неправильное решение. мидлы не будут такую чушь писать. что касается списка аргументов, он их понимает, а ты задачу нет
@@TheSnos15 обоснуй, чем плохое и неправильное решение
@@olegkharkov6274 а самому подумать религия не позволяет? хотя да, задача то для мидла))) для начала, ты тратишь неоправданно много времени и памяти. и всё равно не выдаёшь ответ
@@TheSnos15 откуда вы только дебилы берётесь... надо таки ввести закон запрещающей тупой школоте в инет заходить
Хорошее решение, вы молодец
реально мидловая задачка была?
мы такие в яндекс академии щелкали
С мидлового собеса. Разогревочная
брат, ну какие тысяч 40.. ты шо :(
Так норм?
d={'a':-15,'b':66,'c':-156}
def find(d):
d2=sorted(d.values())
max1=list(d.keys())[list(d.values()).index(d2[-1])]
max2=list(d.keys())[list(d.values()).index(d2[-2])]
return max1,max2
print(find(d))
def get_two_biggest(d: dict):
tmp = []
for values in d.values():
tmp.append(values)
a = sorted(tmp)
for i in a[-2:]:
print(i)
get_two_biggest(d)
У меня такое вышло
def abcd(d):
d = sorted(d.items(), reverse=True)
return d[0][0], d[1][0]
Учу язык месяц на степике
@@Гычпук Ваше решение к сожалению не работает, потому что сортируются не значения, а кортежи (key, value) целиком.
@@oxidant5 в чем суть задания была?
@@Гычпук вернуть ключи двух наибольших значений в словаре
Есть хороший материал по хэшированию? Без привязки к языку?
есть
я бы тоже сказал нет тому кто такие задачки даёт
ЭТО МИДЛОВАЯ ЗАДАЧКА??????? )))))) это ж легче easy задач с литкода )))))
res = sorted(d, key=lambda x: d[x], reverse=True)[:2]
Если ограничений нету, то и так пойдет)
не пойдёт, особенно если нет ограничений. например, d занимает больше половины памяти. и вообще не надо писать тормознутые алгоритмы. а то сами вечно жалуетесь на громоздкие и тормознутые игры, программы, операционки, а сами делаете говнище. и вообще в задаче надо было немного другое найти
У парня в задачке со словарями прям совсем все плохо. Сперва зачем-то перегнал все ключи в список, затем отсортировал, во-первых непонятно зачем так все усложнять ведь для этой задачи есть sorted(), второе это в любом случае неправильно ведь сортировка ключей не потянет за собой еще и сортировку значений, по сути были отдельным образом отсортированы ключи вот и все Зачем? Почему? Хрен его знает. В самом конце вообще пробел жесткий, если ты перечислишь значения через and, это не значит, что выведутся значения по порядку, хоть по первому впечатлению для незнающего человека может показаться именно так. Результатом всего этого будет либо True либо False, что опять же не соответствует требованиям задачи.
такое ощущение что это не на джуна а на стажера собес
40к? о_О в макдональдсе больше платят....
Ну в маке ты за 40к и будешь всю жизнь работать)
А тут лишь на начальном этапе, и люди выбирают работу не только по объему зп, но и по тому, чпм заниматься нравится, открою тебе тайну))
есть мнение, что и пользы от работника макдональдса больше, чем от стажера
@@MrBeltalowda желаю вам быть полезным работником макдональдса))
@@johnjonson4641 о эти мифические перспективы карьерного роста)
я туть вакансию видел, ищут не ждуна. в требованиях c++ и какой-то SQL и обещания платить огромную заплату! аж 40 тысяч в месяц....
и вот лично у меня возникает вопрос каким местом думает работодатель когда выставляет такие требования?
курьеры, к слову, больше зарабатывают, занчительно больше ;)
@@MrBeltalowda так тут речь о том что 40к это зп ждуна, а не стажера)
Подонки из Яндекса и Синергии заставляли куда более сложные задачи, хотя я не разработчик а Data Scientist. Выполнил коды которые в принципе работали и считали что надо, но не так как эти ушлёпки хотели. И не прошёл эти говнособеседования. Видел коды от senior DS разрабов от Яндекса - полное г.
Сколько злости - если вы лучше всех, то найдите работу и работайте спокойно
Да, парень конечно слабоват, но дорогу осилит идущий, надо подтянуть знания
Привет ПУПСИК!
не такое элегантное решение предложу как люди в комментах, но простое для понимания:
def get_two_biggest(d):
biggest = -999999999
biggest_two = -99999999999
key_1 = ""
key_2 = ""
for key, value in d.items():
if value > biggest:
biggest_two = biggest
key_2 = key_1
biggest = value
key_1 = key
continue
if value > biggest_two:
biggest_two = value
key_2 = key
return print(key_1, key_2)
p.s. пишу с позиции изучающего пайтон
Я не чего не понял, это что все значит
просто космас я тоже так хочу
Добрый день Андрей, хочется спросить - если в процессе собеседования, когда чего то не помнишь или не знаешь - сказать интервьюеру что хочешь не загуглить( что как я понимаю есть гуд), а сказать что обратишься к chat GPT с этим вопросом, или с какими то другими вопросами. Как вы считаете стоит ли так делать? Какие ассоциации будут вызваны подобным действием у интервьюера? Это будет на пользу или во вред тому кто собеседуется и пытается устроиться на первую работу?
Я бы против был. Посмотреть документацию - уважаемо. А гугление и чат ГПТ это же может быть недостоверный ответ. И в работе ты такое потащишь в код?
@@AndyPronin Если все будет работать как надо, то почему бы и нет?
@@ДенисСкворцов-м5я ну., нет так нет. На собесе лучше дока. Инфа 100
Это самое глупое решение, которое только может быть)
Любой человек с нулем знаний в айти сможет ответит на вопросы из собеседования с помощью гпт. В чем тогда будет смысл такого собеседования?
Над каждым видео я плачу. Почему я не могу запомнить то чему учат на платных уроках. Про года прошло а могу написать только хелоуворд
Потому что нужно не деньги платить за уроки, а садиться и писать проект с нуля
@@eugenefedoryachenko8793 Да, просто сидеть и прогать, желательно каждый день
Может ты просто туповат? Не рассматривал такой вариант?
@@ЕвгенийЮрченко-с1ф рассматривал.
Проблема не в том что у вас не получается, а в том что вы не хотите, вот я самоучка, захотел выучить MySQL - и выучил за 2 дня(и то только потому что смотрел видосы по доте :) и ленился). На самом деле программирование простое если вникнуть в это, например тот же питон я в первые 3 недели чуть чуть базы поучил и сразу-же начал писать телеграмм бота, по началу я вообще нихуа не понимал, но потом мозаика сложилась и я смог выучить всякие классы, @, запаковки расспаковки и прочую фигню на легке. Могу ещё посоветовать ссайты для прокачки скилла: Codewars, codingame(только после того как в коде варс у вас будет 5kyu)
решение по словарию как вариант. Я мидл получается?))
def find_two_biggest(d: dict):
largest1 =(0, -10**9)
largest2 = 0
for key, value in d.items():
if value > largest1[1]:
largest1, largest2 = (key, value), largest1
return largest1[0], largest2[0]
Там не только эту задачку надо решить) а а отрицательных числах точно сработает? А если два одинаковых минимума?
попробуй словарь d = {
'a': 5,
'b': 3,
'c': 4,
'd': 2,
'e': 1,
}
@@MrBeltalowda ну да, не учел случай, когда первое значение самое большое. Ну чутка можно модернизироват алгоритм в таком случае.
def find_two_biggest(d: dict):
largest1 =(0, -10**9)
largest2 = 0
for key, value in d.items():
if value > largest1[1]:
largest1, largest2 = (key, value), largest1
elif value > largest2[1]:
largest2 = (key, value)
return largest1[0], largest2[0]
Или решить через список кортежей.
@@wrestler91100 вместо -10**9 лучше использовать float('-inf')
@@AndyPronin ну на отрицательных должно работать, до -10**9 должно записывать. В целом то во входных данных были положительные числа.
А с одинаковыми должно записывать только первое значение (но в условиях задачи ничего не было сказано про одинаковые). Можно подправить код для только последних значений (поставив знак >=), а можно чтобы учитывал и значение ключа (например, при одинаковых выводил в лексиграфическом порядке), тогда сравниваем и первую позицию в кортеже с ключом. Это в целом дело парочки изменений)
def get_biggiest_key(dct: dict):
for key, value in sorted(dct.items(), key=lambda x: x[1], reverse=True)[:2]:
print(key)
вторая задача, уровень максимум джун на самом деле, за 2 минуты решается
Временная сложность не оптимальная. Да и по памяти O(n) вместо O(1).
Чуть чуть гавнокода от ламера
dict_any = {'a': 645, 'b': 6126, 'c': 4235, 'd': 56456,}
def max_2_number(dict_in: dict):
max_key = max(dict_in, key=dict_in.get)
dict_temp = dict_in
del dict_in[max_key]
max_key2 = max(dict_temp, key=dict_temp.get)
dict_temp.clear
return max_key, max_key2
print(max_2_number(dict_any))
Большое спасибо за видео, которое мне сильно приподняло самооценку. Я смотрел и тупо ржал. На 40 тысячах чуть со стула не упал. За 40 так блудить!
Если вас это устроило, предлагаю себя. Навыки пайтон и с++ базовый уровень, радиолюбитель. Навыки парсинга. Учусь на скиллбоксе. На данный момент имею рабочий и реализованный на собственной машине блок комфорта. На пайтоне (собственная задача) заканчиваю разработку утилиты для обработки шаблонных ворд файлов, место применение: налоговая, суд итд.
зачем чел пробегался по ключам?
эх блин) ну до джуна еще очень далеко
а как можно попасть к вам на интервью?
хотелось бы по алгоритмов
Если студент Яндекс Практикума -- через программу трудоустроства. Елси нет - буду объявлть на канале t.me/UA-camPronin
@@AndyPronin Здравствуйте, хотел бы узнать, как учить питон для начинающих, если ответите- буду очень благодарен
@@WoWchannel.1 стиснув зубы
@@AndyPronin Здрасьте Андрей,Я из Армении и хотел спросить это не будет помехой для участия в вашем собесе?
@@crazy_pythonist нет. Не будет. Но я смогу провести только на русском языке
я синьор?
d = {
'a': 42,
'b': 0,
'c': 332,
'd': 2,
'e': 4442,
}
def two_max(d: dict):
rd = {
j:i for i, j in d.items()
}
nums = [rd.pop(max(rd.keys())) for _ in range(2)]
return nums
print(two_max(d))