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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое pickling и unpickling?

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

Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.
🐍 Твой Python-код жрёт память? 11 способов это исправить!

Высокая производительность и масштабируемость невозможны, если приложение неэффективно расходует RAM. Разберём лучшие техники оптимизации памяти в Python, которые помогут сократить потребление ресурсов и ускорить работу кода.

👉 Читать статью

Библиотека питониста
✍️ Что будет, если ошибку не обработает блок except?

Если ошибка не будет обработана в блоке except, то программа прервется и выдаст сообщение об ошибке. Это называется необработанным исключением.

При возникновении исключения Python генерирует traceback — последовательность вызовов функций, которая привела к ошибке.
Если исключение не перехватывается блоком except, то traceback выводится пользователю и программа завершается аварийно.

Библиотека собеса по Python
🐧 Пингвин, покоривший мир: история взлета Linux – ОС, управляющей 96% серверов

В 1991 году на компьютере с 4 мегабайтами памяти родилась программа, которая сегодня управляет большей частью интернета, смартфонами и даже космическими аппаратами. Это история Linux, рассказанная одним из первых свидетелей.

➡️ Читать статью
➡️ Зеркало
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»

🔥 Получите вводные занятия, ответив на 3 вопроса

https://proglib.io/w/bcf2fefa

На вводной части вас ждут:

1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;

2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;

3. Практические задания после лекций;

4. Ссылки на дополнительные материалы для самостоятельного изучения.

⚡️Переходите и начинайте учиться уже сегодня –

https://proglib.io/w/bcf2fefa
Что такое глубокая и поверхностная копии? Для чего они нужны?

Поверхностная копия создаёт новый объект, который содержит ссылки на внутренние объекты из оригинала. Если вы измените внутренние объекты оригинала, эти изменения отразятся и в поверхностной копии. Поверхностное копирование полезно, когда вы хотите создать новый экземпляр коллекции, но сохранить элементы коллекции неизменными. Это copy.copy(x).

Глубокая копия, напротив, создаёт новый объект и рекурсивно копирует все внутренние объекты, найденные в оригинале. В результате, внутренние объекты глубокой копии являются полностью независимыми от оригинальных объектов. Это полезно, когда нужно, чтобы исходный объект и его копия были полностью изолированы друг от друга. Это copy.deepcopy(x).

Библиотека собеса по Python
🤔 Почему не стоит использовать изменяемые объекты как параметры по-умолчанию?

В Python не рекомендуется использовать изменяемые объекты в качестве значений параметров по умолчанию по следующим причинам:

— Значения по умолчанию вычисляются один раз при определении функции, а не при каждом вызове.

— Если использовать изменяемый объект (список, словарь), то изменения в нем будут сохраняться между вызовами функции. Это может привести к неочевидному поведению и трудноуловимым ошибкам при многократном вызове функции.

В качестве альтернативы можно задавать значение по умолчанию как None, а в теле функции создавать новый изменяемый объект, если значение не передано.
Такой подход позволяет избежать «эффекта переноса» состояния между вызовами и делает код более понятным и предсказуемым.


Библиотека собеса по Python
👾 Что такое шаблоны в Django?

Шаблон Django — это текстовый документ, который используется для создания внешнего вида и макета нашего веб-сайта. Это третий и наиболее важный аспект структуры MVT Django. В Django шаблон — это HTML-файл, содержащий HTML, CSS и Javascript. Django эффективно управляет и генерирует динамически генерируемые HTML-страницы для просмотра конечным пользователем. Это в основном внутренний фреймворк, поэтому мы используем шаблоны для создания макета нашего веб-сайта. Есть два способа включить шаблон в наш веб-сайт:

✍🏻 Мы можем использовать единый каталог шаблонов, который будет распределен по всему проекту;
✍🏻 Мы можем создать отдельный каталог шаблонов для каждого приложения в нашем проекте.


Библиотека собеса по Python
👾 Что делает whylogs?

whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбора статистики о данных, визуализации этой статистики и создания профилей данных для мониторинга и анализа.

Библиотека собеса по Python
📊 Собес по Data Science: 10 вопросов, которые разделяют джунов от мидлов

Залетай на тест, который валит даже мидлов! Собрали для тебя 10 каверзных вопросов, которые тимлиды обожают подкидывать на собесах. Здесь нет простых задачек — только те, на которых спотыкаются 80% кандидатов. Пройди этот челлендж, чтобы быть во всеоружии на следующем интервью.

Пройти тест

Библиотека мобильного разработчика #свежак
💬 Как оставлять комментарии в чате нашего канала

В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи.

⚠️ Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии.

Почему так: Shieldy отправляет капчу в сам чат, а не в комментарии под конкретный пост. Из-за этого капчу можно не увидеть, не отправить ответ на нее, и бот автоматически заблокирует вас.

Как присоединиться к чату, чтобы бот вас не забанил

— Зайдите в описание канала с телефона и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Сразу обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат

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

❗️ Если вас все-таки забанили

— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу

Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение.

👾 Спасибо, что активно участвуете в обсуждении наших постов!
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Как изменить тип данных списка?

Для изменения типа данных в списке можно использовать встроенные функции:

1. map() — применяет указанную функцию к каждому элементу списка и возвращает новый список с измененными элементами:

old_list = [1, 2, 3]
new_list = map(str, old_list)

В новом списке все элементы будут строкового типа.

2. Использование генераторного выражения:

old_list = [1, 2, 3]
new_list = [str(x) for x in old_list]

Здесь мы преобразуем элементы в строку и помещаем в новый список.

Также можно применить конструкцию map к генераторному выражению:

new_list = list(map(str, [1, 2, 3]))


Библиотека собеса по Python
🤖 IT-выживание 2025: как не вылететь с рынка труда в эпоху LLM

В 2025-м айтишникам приходится несладко: старые скиллы уже не в цене, LLM наступают на пятки, а работодатели хотят все и сразу.

👍 Делимся инсайдами, как выжить в новой реальности и не потерять работу в эпоху тотальной оптимизации.

👉 Ссылка на статью: https://proglib.io/sh/zEruLHxYno

Библиотека дата-сайентиста
Зимний режим OFF. Весна начинается с апгрейда.

Если чувствуешь, что за зиму навыки подзастыли — пора их разморозить.

📦 Включили весеннюю распродажу: скидка –35% на курсы до конца марта.

Выбирай направление и выходи из спячки:

— Алгоритмы и структуры данных — чтобы собеседования в Яндекс, Ozon и другие были как уровень easy

— Математика для Data Science — для тех, кто не хочет просто «жать на кнопки», а понимать, что под капотом

— Архитектуры и шаблоны — если хочется мыслить как senior и прокачать системное мышление

— Python, Frontend, основы IT — для тех, кто стартует путь в разработке

👾 Proglib Academy — это как старая добрая 8-битная игра, но вместо врагов — практические задачи и собеседования.

Мы просто упаковали сложное обучение в пиксельную обёртку, чтобы тебе было чуть веселее прокачиваться.

🧠 Отогревай мозги, прокачивай скиллы и хватай свой power-up до конца марта.

👉 Выбрать курс
✍🏻 Что такое каррирование?

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

Это позволяет зафиксировать некоторые аргументы функции и создать новую функцию с меньшим количеством аргументов.

Каррирование часто используется в функциональном программировании для создания более гибких и переиспользуемых функций.
Оно помогает избежать дублирования кода и упростить работу с функциями высшего порядка.


Библиотека собеса по Python
Что такое list comprehension?

List comprehension — это удобный способ создания списков за счет компактной записи.

Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]

List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.

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


Библиотека собеса по Python
🐍 Что такое SLAP?

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

Это означает, что в пределах одного модуля или функции не следует смешивать низкоуровневые детали реализации и высокоуровневые абстракции.

Пример нарушения SLAP:
— Использование в цикле сырых индексов вместо итераторов.
— Работа с базой данных через SQL-запросы в бизнес-логике вместо ORM.
— Прямой вызов системных функций вместо высокоуровневых интерфейсов.

Соблюдение SLAP делает код:
— Понятным: уровень абстракции соответствует контексту.
— Переносимым: можно заменить низкоуровневую реализацию.
— Тестируемым: легче имитировать высокоуровневые интерфейсы.
— Гибким: проще расширять высокоуровневую абстракцию.


Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Что такое SOLID?

SOLID — это акроним принципов объектно-ориентированного программирования, которые помогают писать гибкий, поддерживаемый и расширяемый код:

S — Single-responsibility principle (Принцип единственной ответственности).
O — Open-closed principle (Принцип открытости/закрытости).
L — Liskov substitution principle (Принцип подстановки Лисков).
I — Interface segregation principle (Принцип разделения интерфейса).
D — Dependency Inversion Principle (Принцип инверсии зависимостей).

Основные идеи SOLID:
— Каждый класс должен нести единственную ответственность.
— Классы должны быть открыты для расширения, но закрыты для модификации.
— Подклассы должны быть взаимозаменяемы со своими базовыми классами.
— Множество узких интерфейсов лучше, чем один широкий.
— Зависимости должны строиться на абстракциях, а не конкретных классах.


Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Что такое code cohesion?

Code cohesion — это степень связанности различных частей кода друг с другом. Чем она выше, тем лучше код структурирован и организован.

Хорошая связанность означает, что разные части кода логически объединены по функциональности и работают вместе как единое целое для выполнения определенной задачи или набора связанных задач.

Плохая связанность в свою очередь создает код, который трудно понять и поддерживать.


Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🧐 Разбираемся: FAANG — не мечта, а капкан

Раньше работа в Google или Meta казалась вершиной айтишной карьеры. Сейчас — всё чаще звучат слова «стресс», «сокращения», «выгорание».

➡️ В статье разбираем

— Почему бывшие сотрудники бегут из FAANG
— Как изменилась культура внутри Big Tech
— Где теперь искать стабильность и уважение
— Реальные комментарии от действующих инженеров
— И что на самом деле стоит за блестящей обёрткой FAANG

Если вы всё ещё решаете LeetCode ради «заветной должности» — обязательно прочитайте нашу статью.

📎 Ссылка

🔵 Включайся в обучение и устраивайся куда хочешь, тебя ждет продвинутый этап нашего курса «Алгоритмы и структуры данных»
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Что такое wheel и eggs в Python? Какая между ними разница?

✍🏻 Python wheel
— это стандартный формат установки дистрибутивов Python, который содержит все файлы и метаданные, необходимые для установки. Файл WHL также содержит информацию о версиях и платформах Python, поддерживаемых этим файлом. Расширение файла wheel — .whl

✍🏻 Python egg — это сжатый архив ZIP, содержащий исходные файлы приложения Python вместе с метаинформацией о дистрибутиве. Расширение файла egg — .egg

Основная разница заключается в том, что wheel предоставляет более простой и надежный способ установки пакетов. В отличие от eggs, он не требует установки дополнительных зависимостей и обеспечивает более быстрое время установки. Кроме того, wheel поддерживает все платформы, на которых может работать Python.


Библиотека собеса по Python