Библиотека собеса по Python | вопросы с собеседований
6.12K subscribers
597 photos
9 videos
286 links
Вопросы с собеседований по Python и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/6587aafa

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
🔗 Что такое code coupling (связанность модулей) и почему это важно?

Связанность модулей (или coupling) — это термин, который описывает степень зависимости между различными частями программной системы. Чем меньше зависимость между модулями, тем легче поддерживать, тестировать и расширять систему.

➡️ Почему это важно

1️⃣ Низкая связность (Low Coupling):
— Модули взаимодействуют через четкие интерфейсы, минимизируя зависимости
— Изменения в одном модуле не требуют изменений в других
— Это облегчает поддержку и развитие системы

2️⃣ Высокая связность (High Coupling):
— Модули сильно зависят друг от друга
— Изменения в одном модуле потребуют изменений в других
— Такая система сложна в поддержке и тестировании

➡️ Пример из жизни

Представьте, что у вас есть два класса. Если один класс напрямую зависит от внутренней реализации другого — это высокая связность. Если же классы взаимодействуют только через четко определенные интерфейсы — это низкая связность.

➡️ Стремитесь к слабой связности, чтобы ваши системы были более устойчивыми, масштабируемыми и удобными в поддержке.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Приручи алгоритмы: из формул в код за один воркшоп

Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля.

Что вас ждет на воркшопе:
🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах.

🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума.

🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее.

🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности.

На нашем воркшопе вы не просто слушаете — вы делаете сами! Вы будете писать код на Python, применять популярные библиотеки и сразу видеть результат своей работы.

А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка.

Когда: 21 апреля
💸Стоимость: всего 3990₽

Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽.

➡️ Записаться на воркшоп: https://proglib.io/w/f0157e5f
Что такое жадные алгоритмы и в каких случаях они применяются?

Жадные алгоритмы — это приближённые алгоритмы, которые на каждом шаге выбирают локально наилучшее решение в надежде, что оно приведёт к глобально оптимальному результату.

Когда используются:
👉 Когда точное решение задачи требует слишком много времени
👉 Когда высокая точность не критична
👉 Когда нужно простое и быстрое решение

Преимущества:
👉 Простая логика
👉 Быстрая реализация
👉 Высокая скорость работы
👉 Часто дают достаточно близкий к оптимальному результат

Недостатки:
👉 Не всегда гарантируют глобальный оптимум
👉 Подход работает не для всех задач (зависит от свойства задачи — например, задачи с оптимальным подструктурированием)

Примеры:
📍 Алгоритм Крускала и Прима (минимальное остовное дерево)
📍 Алгоритм Дейкстры (поиск кратчайшего пути)
📍 Сдача минимальным количеством монет

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🆚 Зачем нужен паттерн Фасад и чем он отличается от Адаптера?

Используется для создания простого и понятного интерфейса поверх сложной или запутанной подсистемы.

🚩 Зачем нужен:

Когда взаимодействовать с подсистемой напрямую неудобно — слишком много деталей, низкоуровневый API или несогласованные интерфейсы.

🚩 Пример из Python:
Работа с архивами — модули gzip, tarfile, zipfile имеют разный интерфейс. Чтобы скрыть различия, можно сделать единый фасад-класс, который всё упростит.

🚩 Фасад ≠ Адаптер
— Фасад упрощает работу с подсистемой
— Адаптер делает несовместимые интерфейсы совместимыми

Их можно комбинировать: адаптировать каждый модуль, а сверху построить единый фасад.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем дата-сайентисту дисперсия

Дисперсия — ключевой статистический показатель, который помогает оценить изменчивость данных. Для дата-сайентистов она критична при:

👉 Оценке и интерпретации результатов моделей
👉 Понимании поведения алгоритмов машинного обучения
👉 Снижении ошибок при построении предсказаний

В этой статье разберём, как правильно использовать дисперсию в Data Science и как она влияет на работу алгоритмов, например, в модели Random Forest.

👉 Читайте, чтобы понять, как измерять и учитывать дисперсию: https://proglib.io/sh/GDKYJQdAI2

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM