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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
🤖 Как работают менеджеры контекста в Python, и в каких случаях их полезно использовать?

Менеджеры контекста используются для управления ресурсами, такими как файлы, сетевые подключения или блокировки, с автоматическим освобождением этих ресурсов по завершении работы. Основное их применение — в тех случаях, когда требуется гарантированное освобождение ресурсов, даже в случае возникновения ошибок. Менеджеры контекста создаются с помощью ключевого слова with, которое автоматически вызывает методы __enter__ и __exit__ у объекта.

Пример использования ⚙️
# Пример менеджера контекста для работы с файлами
with open('example.txt', 'w') as file:
file.write('Hello, world!')

# Файл автоматически закроется после выхода из блока 'with', даже если возникнет ошибка
📊 Почему увольнять программистов ради ИИ — путь к провалу

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

➡️ Что внутри статьи

▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.

▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.

▪️ Почему опытные разработчики станут супердорогими и востребованными.

▪️ К чему приведет полная ставка на искусственный интеллект в IT.

🔵 Подтяните свои знания о машинном обучении вместе с нашим курсом «Базовые модели ML и приложения»

🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Основы математики в Machine Learning / Deep Learning

🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)

🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.


Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.


😮 На вебинаре вы узнаете:

🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.

🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.

🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.

🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.

🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.

👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!

📌 Регистрация по ссылке: https://proglib.io/w/1957f6af
✍️ Как функционирует метод __new__() в Python?

Метод __new__() отвечает за создание нового экземпляра класса, выделяя для него память. Он вызывается перед методом __init__(), который занимается инициализацией уже созданного экземпляра. Это особенно важно при работе с неизменяемыми типами, такими как str или int, а также в ситуациях, когда необходимо контролировать процесс создания объекта, например, при использовании паттерна Singleton.
💾 10 способов работы с большими файлами в Python, о которых ты не знал

Годнота для всех, кто работает с данными. Статья раскрывает разные подходы к обработке больших файлов — от простых итераторов до распределенных вычислений.

👍 Сохраняй себе, точно пригодится в работе: https://proglib.io/sh/VOcgo7w0W1
🐍 Что такое подгенератор (subgenerator)?

Подгенератор создается с использованием конструкции yield from внутри генератора.

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

Механизм обеспечивает передачу значений между генераторами без необходимости хранения всей последовательности в памяти, при этом основной генератор приостанавливается до тех пор, пока подгенератор не завершит свою работу.
Как вы реализуете сериализатор для модели с полями Many-to-Many и динамическими свойствами в Django REST Framework?

Для реализации настраиваемой сериализации в Django REST Framework требуется:

1. Создание сериализатора для модели: Используйте serializers.ModelSerializer и определите сериализаторы для всех связанных моделей с Many-to-Many отношениями.

2. Динамические поля: Добавьте SerializerMethodField для обработки свойств, которые требуют динамического вычисления, и определите соответствующий метод.

class BookSerializer(serializers.ModelSerializer):
authors = AuthorSerializer(many=True, read_only=True)
custom_field = serializers.SerializerMethodField()

class Meta:
model = Book
fields = ('title', 'authors', 'custom_field')

def get_custom_field(self, obj):
return custom_value_computation(obj)

3. Валидация: Добавьте методы валидации validate_ для проверки данных.

Этот подход обеспечивает гибкость и поддержание структуры кода при работе с сложными данными.
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике

Статья, которая поможет развить навыки решения задач с помощью математики.

➡️ Вот что вас ждет

1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.

2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.

3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.

4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.

🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».

👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Как функционируют дескрипторы в Python и когда их стоит применять?

Дескриптор представляет собой класс, в котором реализованы методы доступа: __get__, __set__ и/или __delete__. Они особенно полезны для создания управляемых атрибутов, таких как валидация данных или их кэширование.
👀 Как осуществляется обработка исключений в Python?

В Python для обработки исключений используется конструкция, состоящая из трех ключевых слов: try, except и finally.
Примерный синтаксис выглядит следующим образом:

try:
# попытаться выполнить это
except:
# если в блоке try возникла ошибка, выполнить это
finally:
# выполнить это в любом случае


На изображении показан упрощенный пример такой конструкции. В данном случае блок try завершится с ошибкой, так как складывать целые числа со строками невозможно. Блок except присваивает переменной val значение 10, а затем блок finally выводит сообщение «complete».

Библиотека собеса по Python
👀 Что такое Duck typing?

🦆Duck typing — это концепция в программировании, характерная для языков с динамической типизацией, таких как Python. Основная идея duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не через явно заданный интерфейс или базовый класс.

🐍 В Python duck typing часто иллюстрируется фразой: «Если что-то выглядит как утка, плавает как утка и крякает как утка, то, вероятно, это и есть утка».

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 Твоя БД скоро станет умнее тебя: 5 трендов open-source баз данных 2025

БД перестают быть просто хранилищем — теперь они оптимизируют запросы, автоматически анализируют данные и даже используют AI для прогнозов.
Какие фичи перевернут мир open-source БД в 2025? Узнайте в статье👇

🫢 Прочитать статью

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Как работает механизм garbage collection в Python, и какие алгоритмы используются для управления памятью?

🗑 В Python используется автоматическое управление памятью с помощью механизма garbage collection (GC). Основной алгоритм, который применяется для этого, — это reference counting (подсчёт ссылок). Каждый объект в Python имеет счётчик ссылок, который увеличивается, когда на объект создаётся новая ссылка, и уменьшается, когда ссылка удаляется. Когда счётчик ссылок достигает нуля, память, занимаемая объектом, освобождается.

🚮 Кроме reference counting, Python также использует циклический garbage collector (из модуля gc), который обнаруживает и удаляет циклические ссылки (когда объекты ссылаются друг на друга, но больше не доступны извне). Этот сборщик мусора работает на основе алгоритма generational garbage collection, который разделяет объекты на поколения (young, middle, old) и чаще проверяет молодые объекты, так как они с большей вероятностью становятся мусором.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🏃‍♀️ 40+ каналов, которые должен читать каждый разработчик

Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов.

IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии

Библиотека программиста — новости из мира IT и технологий

Книги для программистов — самые годные книги по любым языкам и стекам

IT-мемы — мемы про жизу айтишника

Proglib Academy — обучение и курсы, чтобы стать топовым специалистом

Азбука айтишника — азы из мира разработки

Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ

Библиотека фронтендера — все о JS, React, Angular и не только

Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin

Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься

Библиотека тестировщика — самое интересное о том, как крашить код

🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go

#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#

🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE

🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel

🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask

☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java

📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science

🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++

Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужна ли математика программисту

Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё.

➡️ Что внутри:

✓ Почему все считают, что программисты — математики

✓ В каких сферах разработки можно вообще не знать математику

✓ Где хватит готовых библиотек, а где придётся разбираться в формулах

✓ Какие области программирования требуют мощного математического бэкграунда

✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science

✓ Топ книг, которые помогут понять и даже полюбить математику

🔵 Чтобы знать математику, забирайте наш курс → «Математика для Data Science»

📎 Читать статью

Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
Что значит конструкция pass?

В Python pass является пустым оператором. Он используется там, где синтаксически требуется оператор, но никаких действий выполнять не нужно. Например, это может быть полезно при написании заглушки функции, которая будет реализована позже, или в цикле, который ничего не должен делать на данной итерации.
✍🏻 Чем файл .pyc отличается от файла .py?

Хотя оба файла содержат байт-код, .pyc — это скомпилированная версия файла Python
. Он имеет независимый от платформы байт-код.

Следовательно, мы можем выполнить его на любой платформе, поддерживающей формат .pyc.

Python автоматически генерирует его для повышения производительности (с точки зрения времени загрузки, а не скорости).


Библиотека собеса по Python
Что такое pickling и unpickling?

Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.

Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.