ch
Feedback
Библиотека собеса по Python | вопросы с собеседований

Библиотека собеса по Python | вопросы с собеседований

前往频道在 Telegram

Вопросы с собеседований по Python и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/6587aafa Для обратной связи: @proglibrary_feeedback_bot

显示更多
5 994
订阅者
-124 小时
-47
-2530
帖子存档
🪞 Что такое отображение (mapping)? Отображение — это тип контейнера, в котором элементы хранятся в виде пар ключ–значение. Такой объект предоставляет доступ к значениям по ключу, а не по индексу, как в списках. В Python отображения реализуют интерфейсы абстрактных базовых классов collections.abc.Mapping (для неизменяемых) и collections.abc.MutableMapping (для изменяемых). К основным методам отображения относятся: get()безопасное получение значения по ключуitems(), keys(), values()для перебора элементов, ключей и значений соответственноupdate(), pop(), setdefault() и др. — для изменяемых отображений Примеры отображений в Python: dictстандартный словарьdefaultdictсловарь с значениями по умолчаниюOrderedDictсохраняет порядок добавления элементов (до Python 3.7)Counterсловарь для подсчёта элементов Библиотека собеса по Python

❓ Зачем дата-сайентисту дисперсия Дисперсия — ключевой статистический показатель, который помогает оценить изменчивость данны
Зачем дата-сайентисту дисперсия Дисперсия — ключевой статистический показатель, который помогает оценить изменчивость данных. Для дата-сайентистов она критична при: 👉 Оценке и интерпретации результатов моделей 👉 Понимании поведения алгоритмов машинного обучения 👉 Снижении ошибок при построении предсказаний В этой статье разберём, как правильно использовать дисперсию в Data Science и как она влияет на работу алгоритмов, например, в модели Random Forest. 👉 Читайте, чтобы понять, как измерять и учитывать дисперсию: https://proglib.io/sh/GDKYJQdAI2 Библиотека дата-сайентиста

🆚 Зачем нужен паттерн Фасад и чем он отличается от Адаптера? Используется для создания простого и понятного интерфейса поверх сложной или запутанной подсистемы. 🚩 Зачем нужен: Когда взаимодействовать с подсистемой напрямую неудобно — слишком много деталей, низкоуровневый API или несогласованные интерфейсы. 🚩 Пример из Python: Работа с архивами — модули gzip, tarfile, zipfile имеют разный интерфейс. Чтобы скрыть различия, можно сделать единый фасад-класс, который всё упростит. 🚩 Фасад ≠ Адаптер — Фасад упрощает работу с подсистемой — Адаптер делает несовместимые интерфейсы совместимыми Их можно комбинировать: адаптировать каждый модуль, а сверху построить единый фасад. Библиотека собеса по Python

Что такое жадные алгоритмы и в каких случаях они применяются? Жадные алгоритмы — это приближённые алгоритмы, которые на каждом шаге выбирают локально наилучшее решение в надежде, что оно приведёт к глобально оптимальному результату. Когда используются: 👉 Когда точное решение задачи требует слишком много времени 👉 Когда высокая точность не критична 👉 Когда нужно простое и быстрое решение Преимущества: 👉 Простая логика 👉 Быстрая реализация 👉 Высокая скорость работы 👉 Часто дают достаточно близкий к оптимальному результат Недостатки: 👉 Не всегда гарантируют глобальный оптимум 👉 Подход работает не для всех задач (зависит от свойства задачи — например, задачи с оптимальным подструктурированием) Примеры: 📍 Алгоритм Крускала и Прима (минимальное остовное дерево) 📍 Алгоритм Дейкстры (поиск кратчайшего пути) 📍 Сдача минимальным количеством монет Библиотека собеса по Python

🚀 Приручи алгоритмы: из формул в код за один воркшоп Готовы превратить сложную теорию машинного обучения в практические навы
🚀 Приручи алгоритмы: из формул в код за один воркшоп Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля. Что вас ждет на воркшопе: 🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах. 🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума. 🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее. 🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности. На нашем воркшопе вы не просто слушаете — вы делаете сами! Вы будете писать код на Python, применять популярные библиотеки и сразу видеть результат своей работы. А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка. ⏰ Когда: 21 апреля 💸Стоимость: всего 3990₽ Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽. ➡️ Записаться на воркшоп: https://proglib.io/w/f0157e5f

🔗 Что такое code coupling (связанность модулей) и почему это важно? Связанность модулей (или coupling) — это термин, который описывает степень зависимости между различными частями программной системы. Чем меньше зависимость между модулями, тем легче поддерживать, тестировать и расширять систему. ➡️ Почему это важно 1️⃣ Низкая связность (Low Coupling): — Модули взаимодействуют через четкие интерфейсы, минимизируя зависимости — Изменения в одном модуле не требуют изменений в других — Это облегчает поддержку и развитие системы 2️⃣ Высокая связность (High Coupling): — Модули сильно зависят друг от друга — Изменения в одном модуле потребуют изменений в других — Такая система сложна в поддержке и тестировании ➡️ Пример из жизни Представьте, что у вас есть два класса. Если один класс напрямую зависит от внутренней реализации другого — это высокая связность. Если же классы взаимодействуют только через четко определенные интерфейсы — это низкая связность. ➡️ Стремитесь к слабой связности, чтобы ваши системы были более устойчивыми, масштабируемыми и удобными в поддержке. Библиотека собеса по Python

➕ От многомерности к сути: чему нас учит PCA На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и
От многомерности к сути: чему нас учит PCA На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и ценности. Это помогает справляться со стрессом, неожиданными вопросами и субъективной оценкой. ⏩ В машинном обучении есть похожий подход — PCA (метод главных компонент). Он сокращает размерность данных, устраняя шум и второстепенные детали, и помогает сфокусироваться на самом важном. ✅ В новой статье мы разберём: • Как работает PCA • Зачем он нужен • Как применять его на практике — например, для анализа доходностей акций S&P 500 🐸 Подробнее: https://proglib.io/sh/uXsDlt75MY Библиотека питониста

🌐 Что такое Middleware в Django? Middleware — это специальный компонент, который обрабатывает входящие запросы и/или исходящие ответы в веб-приложении. Он используется для выполнения общих задач до или после того, как запрос попадёт в обработчик (view). Например, можно:Добавить заголовки в ответПроверить авторизациюЛогировать обращенияОбработать ошибки 🚩Как устроен Middleware на уровне кода Обычно middleware реализует два метода:process_request(request) — вызывается до view-функцииprocess_response(request, response) — вызывается после выполнения view Каждый метод должен вернуть объект запроса/ответа для продолжения цепочки обработки, либо вызвать исключение, чтобы прервать выполнение. 🚩 Как подключить middleware В Django — через настройку MIDDLEWARE:
MIDDLEWARE = [
    'myproject.middleware.CustomMiddleware',
    ...
]
Библиотека собеса по Python

💭 Что такое интроспекция в Python? Интроспекция — это способность программы изучать объекты во время выполнения: узнавать их тип, структуру, атрибуты, методы и даже иерархию наследования. 🧩 Это мощный инструмент, встроенный в Python (а также доступный в других языках, например Java, PHP, Ruby). Он позволяет, например: — Проверить тип объекта с помощью type() — Проверить, к какому классу принадлежит объект — isinstance(obj, Class) — Получить список доступных атрибутов и методов — dir(obj) — Изучить содержимое объекта — через __dict__ Пример:
class Foo:
    def __init__(self, val):
        self.x = val
    def bar(self):
        return self.x

obj = Foo(5)
print(dir(obj))
Результат:
['__class__', '__dict__', ..., 'bar', 'x']
Это удобно для отладки, разработки, рефлексии, создания универсальных функций, которые могут работать с разными типами данных. Библиотека собеса по Python

🙂 Раскрываем секрет собственных векторов: математическое оружие на собеседовании Что объединяет успешный собес и продвинутый анализ данных? Оба требуют способности выделять главное из информационного шума! В мире данных этот суперскилл называется методом главных компонент (PCA) — это как рентген для ваших данных, который мгновенно показывает всю суть, отбрасывая неважные детали. Например, мы проанализировали 453 акции компаний из списка S&P 500 и выяснили, что всего одна главная компонента объясняет 38% всей динамики рынка. Как такое возможно? 😘 Расскажем на воркшопе «Математика машинного обучения на практике» 21 апреля! Вы будете работать с реальными данными, научитесь выявлять скрытые закономерности и применять эти инсайты в своих проектах. Стоимость: 3990 ₽ Не беспокойтесь, если теоретическая база пока хромает — вы можете заранее посмотреть запись нашего вебинара по основам по ссылке ниже. ➡️ Забронировать место на воркшопе: https://proglib.io/w/f0157e5f

🖥 Нужно посчитать 100 уравнений. Стоит ли использовать треды? Нет, треды в этой задаче не подойдут, так как нет ввода-вывода. Использование потоков приведет к лишним затратам времени на переключение контекста. Для сложных математических вычислений лучше использовать многопроцессорность, либо использовать фреймворк для распределённых задач, например, Celery, или подключать вычисления через C-библиотеки для повышения производительности. Библиотека собеса по Python

🔎 Как Python ищет модули при импорте? Когда в коде используется import, Python ищет модуль в директориях, указанных в списке sys.path. Этот список — обычный список Python, содержащий пути к папкам, где интерпретатор будет искать модули. 🔎 По умолчанию sys.path включает: 1. Директорию, из которой запущен скрипт 2. Пути из переменной окружения PYTHONPATH (если она установлена) 3. Стандартные директории установки Python 4. Иногда — архивы .zip, если они находятся в пути Python идёт по списку сверху вниз и использует первый найденный модуль с совпадающим именем. 🔎 Дополнительно:sys.path можно изменять вручную в коде — Для локальной приоритизации модулей — кладите их рядом со скриптом — Виртуальные окружения добавляют свои пути автоматически Библиотека собеса по Python

🖼 ТОП-5 структур данных для обработки изображений Хотите разобраться, как обрабатывать изображения в компьютерном зрении или
🖼 ТОП-5 структур данных для обработки изображений Хотите разобраться, как обрабатывать изображения в компьютерном зрении или графике? Всё начинается с правильных структур данных. Они помогают хранить и анализировать пиксели, их связи и расположение. 👉 В этой статье — подборка топ решений и советы, как их использовать. Библиотека питониста

💻 Что такое миксины? Миксин — это паттерн проектирования в объектно-ориентированном программировании, при котором в цепочку наследования добавляется вспомогательный класс с небольшой изолированной функциональностью. Миксины не предназначены для самостоятельного использования — они добавляют дополнительные методы или свойства другим классам через множественное наследование. Их цель — повторное использование кода без создания иерархий, перегруженных логикой. ✅ Пример миксина:
class NowMixin:
    def now(self):
        return datetime.datetime.utcnow()
✅ Теперь любой класс, унаследованный от NowMixin, будет обладать методом now():
class Logger(NowMixin):
    pass

logger = Logger()
print(logger.now())
🚩 Особенности: — В названиях миксинов часто добавляют суффикс Mixin, чтобы обозначить их вспомогательную природу — Миксин — это технически обычный класс, но используемый как «добавка» к основному поведению — Позволяет избежать дублирования кода и сделать архитектуру гибче Библиотека собеса по Python

Вы никогда не задумывались, как «Самокат» доставляет заказы за 15 минут? Это не иллюзия, не фокус и не магия вне Хогвартса —
Вы никогда не задумывались, как «Самокат» доставляет заказы за 15 минут? Это не иллюзия, не фокус и не магия вне Хогвартса — это аналитика данных. И 17 апреля в 19:00 мск онлайн-школа Data Science karpovꓸcourses приглашает заглянуть за кулисы и узнать, как это работает на самом деле на бесплатном вебинаре «Продуктовая аналитика „под капотом“ сервиса быстрой доставки „Самокат“». Роман Стрекалов, руководитель аналитики операционных продуктов в ecom.tech (Самокат), расскажет какие инструменты помогают курьерам и партнерам сервиса доставлять заказы за минуты, и какие навыки нужны для того, чтобы создать что-то подобное в любом другом проекте. Вы еще совсем новичок в сфере аналитики? Или уже в теме, но стремитесь к более масштабным задачам? Встреча в любом случае будет полезной! А в конце все участники получат скидку на обучение аналитике в karpovꓸcourses и карьерный гайд. Регистрация по ссылке: https://clck.ru/3LH476/?erid=2Vtzqv8mcsT Реклама. ООО «Карпов Курсы», ИНН: 7811764627, erid: 2Vtzqv8mcsT

🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией. 🧐 Но что, если есть простая формула, способная: • Мгновенно определить, насколько «разбросаны» ваши данные • Значительно улучшить точность ваших ML-моделей • Помочь обнаружить аномалии, которые вы раньше не замечали В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно. Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science? ➡️Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/1ae24822

Что такое сопрограмма (coroutine) в Python? Сопрограмма (coroutine) — это расширенная подпрограмма, которая может приостанавливать выполнение и позже продолжать с того же места, а также поддерживает несколько точек входа. 🚩 В Python сопрограммы реализуются с помощью генераторов и, начиная с Python 3.5, через ключевые слова `async` и `await`. 🔎 Благодаря сопрограммам мы можем: — писать асинхронный код без коллбеков — выполнять неблокирующие операции в одном потоке — использовать кооперативную многозадачность 🔎Сопрограммы позволяют писать асинхронный код так же просто, как и обычный синхронный, что делает его намного удобнее и понятнее. Библиотека собеса по Python

📚 13 ресурсов, чтобы выучить математику с нуля — подборка, которую просили Хочешь прокачаться в математике для Data Science,
📚 13 ресурсов, чтобы выучить математику с нуля — подборка, которую просили Хочешь прокачаться в математике для Data Science, ML или просто чтобы понимать, что происходит в формулах. Лови список лучших источников, которые собрали на Proglib. ➡️ Что внутри: • Книги: от Пойи и Перельмана до Хофштадтера • Советы: как учить, с чего начать, как не сдаться • Математика для Data Science: разбор тем и формул • Ссылки на форумы и задачи • Как не бояться, если всё кажется сложным • Что читать, если ты гуманитарий и страдал от школьной алгебры ✍️ Простой язык, много примеров и ноль академического занудства. 🔵 Для полного понимания Архитектуры, забирайте наш курс → «Архитектуры и шаблоны проектирования» 👉 Читай статью тут

Как понять хешируемый ли объект? 1️⃣ Объект должен иметь метод `__hash__()`, который возвращает целое число — это и есть хеш объекта. 2️⃣ Хеш-значение не должно меняться в течение жизни объекта. Это важно, чтобы объект можно было использовать как ключ в словарях или элемент в множествах. 3️⃣Объект должен поддерживать сравнение через `__eq__()`. Если два объекта равны (по ==), они обязаны иметь одинаковый хеш. Простое правило: — Неизменяемые объекты в Python (например, int, float, str, tuple, frozenset) — хешируемы. — Изменяемые объекты (например, list, dict, set) — не хешируемы. Библиотека собеса по Python

✍🏻 Как и для чего используется %s? %s — это Спецификатор формата и он используется для форматирования строк. Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению. %s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк. Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками. Библиотека собеса по Python