Всем привет!
Почему я перестал писать посты с простыми темами по python?
Ответ:
Хэндбук от Яндекса: https://education.yandex.ru/handbook/python
Олег Молчанов: https://www.youtube.com/playlist?list=PLlWXhlUMyooaeSj8L8tVVbtUo0WCO4ORR
Кстати по рекурсии вот тут можно почитать https://education.yandex.ru/handbook/python/article/rekursiya-dekoratory-generatory
Почему я перестал писать посты с простыми темами по python?
Ответ:
Хэндбук от Яндекса: https://education.yandex.ru/handbook/python
Олег Молчанов: https://www.youtube.com/playlist?list=PLlWXhlUMyooaeSj8L8tVVbtUo0WCO4ORR
Кстати по рекурсии вот тут можно почитать https://education.yandex.ru/handbook/python/article/rekursiya-dekoratory-generatory
education.yandex.ru
Основы Python — Хендбук от Яндекс Образования
Хендбук по Python поможет овладеть основным синтаксисом и принципами языка. Кроме основных конструкций в учебнике рассмотрены разные подходы к программированию, реализованные на Python.
👍4❤3🙏2
Всем привет!
В нашем замечательном чатике мы решили пройти хэндбук по алгоритмам. Думаю, что вместе с обсуждениями будет интересно. Обсуждать можно тут в комментариях и в чате.
На этой неделе возьмем тестово Первые 3 раздела:
1. Введение
2. Алгоритмы и сложность
3. Техники проектирования алгоритмов
Там есть задачки, которые надо решить.
Если что-то непонятно, то приветствуются вопросы. В конце недели синканемся (скриншоты на стол), у кого какие успехи.
В перспективе, если зайдет алгоритмическая тема, то можно будет сверху этой базы ноложить литкод паттерны и идти покорять ВОТВАСЯ
В нашем замечательном чатике мы решили пройти хэндбук по алгоритмам. Думаю, что вместе с обсуждениями будет интересно. Обсуждать можно тут в комментариях и в чате.
На этой неделе возьмем тестово Первые 3 раздела:
1. Введение
2. Алгоритмы и сложность
3. Техники проектирования алгоритмов
Там есть задачки, которые надо решить.
Если что-то непонятно, то приветствуются вопросы. В конце недели синканемся (скриншоты на стол), у кого какие успехи.
В перспективе, если зайдет алгоритмическая тема, то можно будет сверху этой базы ноложить литкод паттерны и идти покорять ВОТВАСЯ
Telegram
Python Simple chat
You’ve been invited to join this group on Telegram.
❤4🙏2🔥1
Утренняя разминка:
Отметьте верное решение
d = {True: 8, 1.0: "хмм"} d[1] = 888
Отметьте верное решение
d = {True: 8, 1.0: "хмм"} d[1] = 888
Anonymous Quiz
19%
d == {True: 8, 1.0: "хмм", 1: 888}
30%
d == {True: 8, 1: 888}
7%
d == {1: 888}
6%
d == {True: 8}
11%
d == {True: 888}
28%
Нет верного ответа
👍1
Python Simple
Утренняя разминка:
Отметьте верное решение
d = {True: 8, 1.0: "хмм"} d[1] = 888
Отметьте верное решение
d = {True: 8, 1.0: "хмм"} d[1] = 888
Ответ заключается в том, что как и писали в комментариях 1.0 1 и True для словаря это один и тот же ключ.
Как видно из примера, какой ключ попадает первый в словарь, тот там и остается, но это не важно, т.к. когда мы достаем значение, то оно вернется по любому из этих 3-х ключей.
Кстати точно такая же история с 0 и False
{True: 8, 1.0: 3, 1: 888} # {True: 888}
{1:888, True: 8, 1.0: 3}. # {1: 3}
{1.0: 888, True: 8, 1: 3}. # {1.0: 3}Как видно из примера, какой ключ попадает первый в словарь, тот там и остается, но это не важно, т.к. когда мы достаем значение, то оно вернется по любому из этих 3-х ключей.
Кстати точно такая же история с 0 и False
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Чуть не забыл поздравить, с таким-то праздником!)
❤5👨💻3🤩2
Неоптимальный алгоритм:
"Неоптимальный алгоритм" - это мем, настолько старый, что уже перестаёт им быть. Это стандартный ответ от Яндекса, когда тебе не удаётся попасть на свой грейд или когда вам отказывают вовсе.
На сколько важны и что показывают алгоримтческие собеседования? Этим вопросом я часто задаюсь, особенно после того как сам стал их проводить.
Алгоритмы - это фундаментальная дисциплина, тут я соглашусь. Но у вас когда нибудь спрашивали теорию алгоритмов, кроме определения сложности?
Сегодня алгоритмическая секция, это лотерея. Вам дают несколько окололиткодовских задач или прямо с литкода и их надо решить. Может повезти и попадутся задачи, которые вы недавно решали из очередного топа, а может не повезти.
Знание алгоритмов определяется количеством решеных задач на литкоде: до 100 задач это джун, от 250 - мидл, от 500 - синьер 🤡
А какой у вас литкод грейд?)
"Неоптимальный алгоритм" - это мем, настолько старый, что уже перестаёт им быть. Это стандартный ответ от Яндекса, когда тебе не удаётся попасть на свой грейд или когда вам отказывают вовсе.
На сколько важны и что показывают алгоримтческие собеседования? Этим вопросом я часто задаюсь, особенно после того как сам стал их проводить.
Алгоритмы - это фундаментальная дисциплина, тут я соглашусь. Но у вас когда нибудь спрашивали теорию алгоритмов, кроме определения сложности?
Сегодня алгоритмическая секция, это лотерея. Вам дают несколько окололиткодовских задач или прямо с литкода и их надо решить. Может повезти и попадутся задачи, которые вы недавно решали из очередного топа, а может не повезти.
Знание алгоритмов определяется количеством решеных задач на литкоде: до 100 задач это джун, от 250 - мидл, от 500 - синьер 🤡
А какой у вас литкод грейд?)
👍4👀3❤1
Я тут стал повторять алгоритмы и в одном тематическом чатике скинули задачу с собеса, она мне показалась интересная. Ну и мы давно не решали задачи.
Тут важно подумать, какая будет сложность решения.
В массиве А хранятся цены на N предметов. Есть К купонов, которые уменьшают цену предмета на Х. Если применить t купонов на предмет с ценой а, то итоговая стоимость будет max(a - t*X, 0) (то есть купона не могут сделать стоимость товара отрицательной)
Необходимо вернуть минимальное кол-во денег, которое придется потратить, чтобы купить все предметы.
A = 8, 3, 10, 5, 13
K = 4
X = 7
result = 12
Обсуждаем в комментариях, и чтобы не пропускать комментарии, можно вступить в чатик
Тут важно подумать, какая будет сложность решения.
В массиве А хранятся цены на N предметов. Есть К купонов, которые уменьшают цену предмета на Х. Если применить t купонов на предмет с ценой а, то итоговая стоимость будет max(a - t*X, 0) (то есть купона не могут сделать стоимость товара отрицательной)
Необходимо вернуть минимальное кол-во денег, которое придется потратить, чтобы купить все предметы.
A = 8, 3, 10, 5, 13
K = 4
X = 7
result = 12
Обсуждаем в комментариях, и чтобы не пропускать комментарии, можно вступить в чатик
❤4👍3
Всем привет, пока готовлю чеклист для собеседования, вот очередной околособесовый вопрос)
Сколькими способами можно получить такой результат?
Counter может быть и классом и функцией и чем угодно, просто написал с большой буквы)
Сколькими способами можно получить такой результат?
c = Counter(5)
print(c()) # 6
print(c()) # 7
print(c()) # 8
Counter может быть и классом и функцией и чем угодно, просто написал с большой буквы)
👍2❤1
Я очень не люблю вопросы на собесе из разряда куча маленьких фрагментов кода и "Что выведет этот код?"
Особенно я не люблю, когда они не на знания, а на внимательности, приведу пример из недавнего
Ну мое рассуждение: передали список в ф-ию, сделали копию, потом добавили 10-ку, и вернули копию, а осталось прежним.
Тут понятно, что я как минимум знаю, как передаются списки в ф-ию, что срез создает копию и тд.
Но после собеса я заметил, что 10-ку прибавили не к копии, а к оригинальному списку. Чувствую себя обманутым. Что это показывает? Что я запутался в названиях переменных a, l, k, не заметил куда приаппендили 10-ку. Можно ли это считать минусом?
Очень похоже, как в универе когда препод давал листинг прожки, и чтобы мы его не копировали, а перепечатали, то заменял "с" латинскую на русскую и тп, немного напомнило)
Особенно я не люблю, когда они не на знания, а на внимательности, приведу пример из недавнего
def func(l):
k = l[:]
l.append(10)
return k
a = [1, 2, 3]
func(a)
print(a)
Ну мое рассуждение: передали список в ф-ию, сделали копию, потом добавили 10-ку, и вернули копию, а осталось прежним.
Тут понятно, что я как минимум знаю, как передаются списки в ф-ию, что срез создает копию и тд.
Но после собеса я заметил, что 10-ку прибавили не к копии, а к оригинальному списку. Чувствую себя обманутым. Что это показывает? Что я запутался в названиях переменных a, l, k, не заметил куда приаппендили 10-ку. Можно ли это считать минусом?
Очень похоже, как в универе когда препод давал листинг прожки, и чтобы мы его не копировали, а перепечатали, то заменял "с" латинскую на русскую и тп, немного напомнило)
🔥7❤3😁1
Вам когда-нибудь давали промокод на подписку после неудачного собеса в качестве комплимента?
Мне да)
Промокод на 3 мес. Надеюсь не будет подозрительно, если через 3 мес я ещё раз откликнусь за продлением подписки
Мне да)
😁8
Пришло время повторить, и признать ошибки в формулировках.
Что может быть ключом в словаре?
Ответы пишите в комментах, там и обсудим
Что может быть ключом в словаре?
Ответы пишите в комментах, там и обсудим
❤3🤔1
Forwarded from Young&&Yandex
Запускаем ускоренный набор на стажировку. Участвуйте в Intern Week Offer и получите заветный бэйдж яндексоида.
Направления:
– ML
– Аналитика
– Бэкенд С++, Python, Java.
Идеально для тех, кто прямо сейчас готов попробовать себя в разработке реального продукта или сервиса.
Задания, собеседования и все этапы отбора — прежние, но сам процесс быстрее.
Влетайте на стажировку в три шага:
Ждём вас.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Теоретический минимум для прохождения собеседования:
Python:
- Структуры данных (изменяемые, неизменяемые, знать сложность операций)
- Внутреннее устройство dict
- Хэш-таблицы (уметь реализовать свой хэшируемый объект, знать зачем нужен hash и eq)
- Декораторы (уметь написать свой декоратор, декоратор с параметрами, знать что такое замыкания, класс декоратор)
- ООП (знать MRO, что такое миксины, повторить SOLID, как в python реализованы наследование, полиморфизм, инкапсуляция, знать про интерфейсы и абстрактные классы, уметь написать)
- Менеджер контекста (уметь реализовать)
- Генераторы/Итераторы (знать разницу, уметь реализовать, знать про StopIteration и когда возвращается)
- Что такое yield, отличие от return
- Потоки/процессы/асинхронность/GIL (знать, как передается управление в каждом случае, когда что лучше использовать, знать про IO и CPU/bound задачи)
- Логирование (уметь написать, знать, уровни логирования, почему лучше при формировании сообщения писать %, а не f-строки)
- Тестирование (уметь написать пару тестов на pytest/unittest, знать про фикстуры, моки, TDD)
Базы данных:
- синтаксис запросов (GROUP BY, HAVING)
- join-ы
- explain
- индексы (знать, внутреннее устройство пары индексов, например b-tree и hash)
(остальное надо просто уметь объяснить на пальцах)
- ACID (уровни изоляции)
- Виды БД (привести примеры реляционных БД, key-value хранилищ, документо-ориентированные, и тд)
- Шардирование/Репликация/Партиционирование
Python:
- Структуры данных (изменяемые, неизменяемые, знать сложность операций)
- Внутреннее устройство dict
- Хэш-таблицы (уметь реализовать свой хэшируемый объект, знать зачем нужен hash и eq)
- Декораторы (уметь написать свой декоратор, декоратор с параметрами, знать что такое замыкания, класс декоратор)
- ООП (знать MRO, что такое миксины, повторить SOLID, как в python реализованы наследование, полиморфизм, инкапсуляция, знать про интерфейсы и абстрактные классы, уметь написать)
- Менеджер контекста (уметь реализовать)
- Генераторы/Итераторы (знать разницу, уметь реализовать, знать про StopIteration и когда возвращается)
- Что такое yield, отличие от return
- Потоки/процессы/асинхронность/GIL (знать, как передается управление в каждом случае, когда что лучше использовать, знать про IO и CPU/bound задачи)
- Логирование (уметь написать, знать, уровни логирования, почему лучше при формировании сообщения писать %, а не f-строки)
- Тестирование (уметь написать пару тестов на pytest/unittest, знать про фикстуры, моки, TDD)
Базы данных:
- синтаксис запросов (GROUP BY, HAVING)
- join-ы
- explain
- индексы (знать, внутреннее устройство пары индексов, например b-tree и hash)
(остальное надо просто уметь объяснить на пальцах)
- ACID (уровни изоляции)
- Виды БД (привести примеры реляционных БД, key-value хранилищ, документо-ориентированные, и тд)
- Шардирование/Репликация/Партиционирование
❤5👍2🙏1
Всем привет! Сегодня такой вопрос:
Какая разница между Iterable и Iterator?
Важно понимать разницу, часто думают, что это одно и то же, но это не так
Какая разница между Iterable и Iterator?
Важно понимать разницу, часто думают, что это одно и то же, но это не так
❤5
Субъективная оценка
Недавно у меня на собеседовании спросили, на сколько хорошо я знаю python и какую бы оценку поставил себе по 10-ти бальной шкале.
Я немного задумался, т.к. перед этим ставил оценку на Кинопоиске и 5 - это средняя, 6 - это выше средней, 7 - хорошо и тд, то есть 6 - это уже достаточно хорошая оценка. При этом я помню, как Страуструп говорил, что сам знает С++ на 8, а он его придумал. Как я могу поставить себе 8-ку, когда я даже не контрибьютил в core-python?
По моему я сказал 7 или 6.5. Но как синьер может сказать, что он знает основной ЯП даже на 7? В этом смысле эта оценка кажется низкой. Что от меня хотели услышать, не знаю даже. Если бы спросил про то, на какой грейд я хочу попасть, было бы проще ответить.
Оцените себя по 10-ти бальной шкале:
Недавно у меня на собеседовании спросили, на сколько хорошо я знаю python и какую бы оценку поставил себе по 10-ти бальной шкале.
Я немного задумался, т.к. перед этим ставил оценку на Кинопоиске и 5 - это средняя, 6 - это выше средней, 7 - хорошо и тд, то есть 6 - это уже достаточно хорошая оценка. При этом я помню, как Страуструп говорил, что сам знает С++ на 8, а он его придумал. Как я могу поставить себе 8-ку, когда я даже не контрибьютил в core-python?
По моему я сказал 7 или 6.5. Но как синьер может сказать, что он знает основной ЯП даже на 7? В этом смысле эта оценка кажется низкой. Что от меня хотели услышать, не знаю даже. Если бы спросил про то, на какой грейд я хочу попасть, было бы проще ответить.
Оцените себя по 10-ти бальной шкале:
❤3
Что-то давно мы с вами ничего не решали, предлагаю немного окунуться снова в алгоритмы и борьбу с leetcode
Задачка уровня мидиум, но ничего смертельно сложного в ней нет
1338. Reduce Array Size to The Half
У нас есть список с целыми числами, мы можем выбирать числа, для удаления из массива(удаляются все вхождения), наша задача разработать такой алгоитм, который за наименьшее количество чисел (которые мы удалим из массива) сделает длину массива меньше равной половине от изначальной или меньше.
Ссылочка на ориганльное условие: https://leetcode.com/problems/reduce-array-size-to-the-half/description/
Задача у нас стоит как всегда одна, засабмитить на литкоде, рассказать как делали, какие фишки применяли.
Вечером в воскресенье бахну разбор (если не забуду)!
Задачка уровня мидиум, но ничего смертельно сложного в ней нет
1338. Reduce Array Size to The Half
У нас есть список с целыми числами, мы можем выбирать числа, для удаления из массива(удаляются все вхождения), наша задача разработать такой алгоитм, который за наименьшее количество чисел (которые мы удалим из массива) сделает длину массива меньше равной половине от изначальной или меньше.
Ссылочка на ориганльное условие: https://leetcode.com/problems/reduce-array-size-to-the-half/description/
Задача у нас стоит как всегда одна, засабмитить на литкоде, рассказать как делали, какие фишки применяли.
Вечером в воскресенье бахну разбор (если не забуду)!
LeetCode
Reduce Array Size to The Half - LeetCode
Can you solve this real interview question? Reduce Array Size to The Half - You are given an integer array arr. You can choose a set of integers and remove all the occurrences of these integers in the array.
Return the minimum size of the set so that at…
Return the minimum size of the set so that at…
❤4👍1
Задачка на эту короткую неделю. Это не стареющая классика, с небольшим доп условием.
Ее часто спрашивают на собесах или дают в контестах.
3163. String Compression III
Нам дана строка word и нам надо сжать ее с помощью следующего алгоритма
-Мы начинаем с пустой строки
-Далее для каждой буквы повторяющейся подряд не более 9 раз мы прибавляем к результирующей строке количество + букву
-Если буква повторяется более 9 раз нам надо сросить счетчик
наша задача вернуть сжатую строку
Оригинал условия
https://leetcode.com/problems/string-compression-iii/description/
Наша задача как всегда решить и засабмитить на литкоде
Ее часто спрашивают на собесах или дают в контестах.
3163. String Compression III
Нам дана строка word и нам надо сжать ее с помощью следующего алгоритма
-Мы начинаем с пустой строки
-Далее для каждой буквы повторяющейся подряд не более 9 раз мы прибавляем к результирующей строке количество + букву
-Если буква повторяется более 9 раз нам надо сросить счетчик
наша задача вернуть сжатую строку
Оригинал условия
https://leetcode.com/problems/string-compression-iii/description/
Наша задача как всегда решить и засабмитить на литкоде
LeetCode
String Compression III - LeetCode
Can you solve this real interview question? String Compression III - Given a string word, compress it using the following algorithm:
* Begin with an empty string comp. While word is not empty, use the following operation:
* Remove a maximum length prefix…
* Begin with an empty string comp. While word is not empty, use the following operation:
* Remove a maximum length prefix…
🔥4❤1
На этой неделе задача easy, но я что-то в ней закапался минут на 40.
И так нам дан список с целыми числами, который представляет число разбитое на цифры.
А так же нам дано число, которое необходимо прибавить к этому списку так, как будто он тоже число.
Ссылочка на задачку, там же оригинальные условия и примеры.
Нам как всегда, надо до воскресенья, решить и засабмитить на литкоде.
https://leetcode.com/problems/add-to-array-form-of-integer/submissions/1451826150/
P.S. Сначала я думал, что решается в 2 строки, но я никогда так не ошибался и написал какой-то костыль.
Надеюсь кто-то решит поэлегатнее 😂👉👈
И так нам дан список с целыми числами, который представляет число разбитое на цифры.
А так же нам дано число, которое необходимо прибавить к этому списку так, как будто он тоже число.
Ссылочка на задачку, там же оригинальные условия и примеры.
Нам как всегда, надо до воскресенья, решить и засабмитить на литкоде.
https://leetcode.com/problems/add-to-array-form-of-integer/submissions/1451826150/
P.S. Сначала я думал, что решается в 2 строки, но я никогда так не ошибался и написал какой-то костыль.
Надеюсь кто-то решит поэлегатнее 😂👉👈
LeetCode
Add to Array-Form of Integer - LeetCode
Can you solve this real interview question? Add to Array-Form of Integer - Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
❤3