Python вопросы с собеседований
20.8K subscribers
332 photos
4 videos
16 files
270 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит
Download Telegram
🖥 Scientific Computing with Python — это бесплатный интерактивный курс от FreeCodeCamp, созданный для изучения анализа данных с помощью Python.

Основные темы включают:

▪️ работу со строками;
▪️ List Comprehension;
▪️ основы алгоритмического дизайна;
▪️ структуры данных;
▪️ классы и объекты.

Цель курса — дать учащимся прочные навыки для работы с научными данными и их обработкой, используя Python.

🔗 Ссылка на курс

#курс #python

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полезные Паттерны проектирования

— Порождающие паттерны:

🔹Abstract Factory: Family Creator — Создает группы взаимосвязанных объектов.
🔹Builder: Lego Master — Пошагово создает объекты.
🔹Prototype: Clone Maker — Создает копии полностью подготовленных объектов.
🔹Singleton: One and Only — Создаёт объект, который существует в единственном экземпляре.

— Структурные паттерны:

🔹Adapter: Universal Plug — Соединяет объекты с разными интерфейсами.
🔹Bridge: Function Connector — Связывает то, как объект работает, с тем, что он делает.
🔹Composite: Tree Builder — Формирует древовидные структуры из простых и сложных частей.
🔹Decorator: Customizer — Добавляет новые возможности объектам, не изменяя их основную структуру.
🔹Facade: One-Stop-Shop — Представляет всю систему через один упрощенный интерфейс.
🔹Flyweight: Space Saver — Эффективно использует небольшие, многократно используемые объекты.
🔹Proxy: Stand-In Actor — Представляет другой объект, управляя доступом или действиями.

— Поведенческие паттерны:

🔹Chain of Responsibility: Request Relay — Передает запросы через цепочку объектов до тех пор, пока он не будет обработан.
🔹Command: Task Wrapper — Превращает запрос в объект, готовый к выполнению.
🔹Iterator: Collection Explorer — Доступ к элементам коллекции по одному.
🔹Mediator: Communication Hub — Упрощает взаимодействие между различными классами.
🔹Memento: Time Capsule — Сохраняет и восстанавливает состояние объекта.
🔹Observer: News Broadcaster — Уведомляет классы о изменениях в других объектах.
🔹Visitor: Skillful Guest — Добавляет новые операции в класс, не изменяя его.

💬 Какие паттерны вы использовали в реальных кейсах?
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте проверим ваши знания работы бинарного дерева поиска. Посмотрите на изображение и ответьте на вопрос ниже.

#викторина #bst
Кто такой BI-аналитик и почему эта профессия востребована прямо сейчас?

*️⃣BI-Аналитик — одна из самых подходящих профессий для тех, кто хочет войти в айти, но не хочет много программировать и знать математику.

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

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

В прямом эфире эксперты, которые сами регулярно нанимают специалистов и знают что ценится на рынке — Анастасия Кузнецова и Андрон Алексанян обсудят:

⚡️Чем занимается BI-аналитик и подходит ли вам эта сфера
⚡️Обзор ситуации на рынке: сколько зарабатывают специалисты и есть ли на них спрос
⚡️Как быстро вырасти в профессии
Также на вебинаре у вас будет отличная возможность лично задать любой вопрос спикерам

Дата вебинара:
17 сентября в 19:00 мск.

🔗Переходите и регистрируйтесь на бесплатный вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
🤫 Некоторые популярные методы аутентификации

🔵 Базовая аутентификация:
Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.

🔵 Аутентификация с помощью токенов:
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.

🔵 Аутентификация OAuth:
Позволяет сторонним приложениям получать ограниченный доступ к ресурсам пользователя без раскрытия учетных данных, выдавая токены доступа после аутентификации пользователя.
Подходит для ситуаций, требующих контролируемого доступа к ресурсам пользователя сторонними приложениями или сервисами.

🔵 Аутентификация с использованием API-ключей:
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы работаете в области данных, вам предстоит пройти собеседование по SQL

Вот несколько кратких советов которые вы должны знать на собеседовании по SQL.

Начинающим
- Уметь объяснить различные типы объединений. Иногда я видел, что этот вопрос задается рекрутерами в качестве отборочного, чтобы убедиться, что они хотят взять вас на работу.
- Знать, когда в порядке выполнения операций в SQL используется HAVING, а когда WHERE.

Mid
- Понимать, как использовать оператор CASE внутри функции SUM или COUNT
- Знать, по крайней мере, 1-2 способа оптимизации запроса, и если вы решите, что одним из этих способов является создание индекса в таблице, то вы должны знать, какие плюсы и минусы есть у индекса.

Продвинутым
- Знать, как решить SQL задачу с использованием оконной функции и без нее.
- Понимать и уметь объяснить, что такое коррелированный подзапрос.
- Просто сошлитесь на то, что вы посмотрите на план выполнения запроса. Рекрутеры будут шокированы тем, что вы вообще знаете, что это такое.

@python_job_interview
Бросьте вызов своим знаниям Python

А заодно попробуйте себя в перспективной профессии ML-инженера. Присоединяйтесь к бесплатному онлайн-интенсиву «Основы машинного обучения и IoT» от karpov courses, на котором вы создадите своего первого голосового ассистента на Python. Вебинар пройдёт 25 и 26 сентября.

Вы разберётесь в базовой работе ML-инженера: основных понятиях Python и интернета вещей, освоите первичные инструменты машинного обучения и поймёте, чем занимается сфера ML. А по окончанию онлайн-интенсива сделаете проект, который можно даже внести в портфолио.

Регистрируйтесь на бесплатный онлайн-интенсив: https://clc.to/erid_LjN8JwKfa

Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627.
Cтильная шпаргалка, объясняющая, как работает GIT.
💡 Гайд о том, как писать условные выражения с NumPy where()

Это подробный гайд от Real Python, Где показано:

- как написать простейшее условное выражение;
- как сделать выражение с несколькими условиями;
- как использовать транслирование массивов в условных выражениях;
- как не надо использовать np.where().

🔗 Читать
🖥 Быстрый совет Python

Используйте спецификатор `=` в f-строках, чтобы включить как имя переменной, так и ее значение в форматированную строку.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Как механизм interning влияет на сравнение строк в Python? Приведите пример, когда использование оператора == и оператора is для строк дает разные результаты. В каких случаях это знание может быть полезно?

❗️ В Python существует механизм interning, который используется для оптимизации хранения и сравнения строк. Interning автоматически применяет к коротким строкам, строкам с символами только из алфавита или строкам, которые часто используются в программе. Это означает, что такие строки могут быть закэшированы, и вместо создания нового объекта Python будет использовать уже существующий.

💡 Когда строка подвергается интернированию, все переменные, которые ссылаются на одну и ту же строку, фактически указывают на один и тот же объект в памяти. В этом случае операторы == (сравнение по значению) и is (сравнение по идентификатору объекта) будут возвращать одинаковый результат. Но если строки не закэшированы или были созданы динамически, то is может вернуть False, даже если строки равны по значению (==).

Пример:
# Строки, созданные вручную (будут интернированы)
a = "hello"
b = "hello"

print(a == b) # True, так как значения строк одинаковы
print(a is b) # True, так как строки интернированы и ссылаются на один объект

# Строки, созданные динамически (не всегда интернированы)
x = "".join(["hel", "lo"])
y = "hello"

print(x == y) # True, значения одинаковы
print(x is y) # False, так как x и y — это разные объекты в памяти

Когда это знание полезно:

🌟 Оптимизация памяти: Понимание работы интернирования позволяет эффективнее использовать память, особенно при работе с большим количеством однотипных строк.
🌟 Оптимизация скорости: Оператор is работает быстрее, чем == для строк, но его можно безопасно использовать только тогда, когда гарантированно известно, что строки интернированы (например, ключи в словарях или имена атрибутов).
🌟 Избегание ошибок: Если случайно использовать is вместо == для сравнения строк, особенно созданных динамически, это может привести к неожиданному поведению программы.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Ищем автора эталонного кода! 💎

Если вы уверены, что вашему коду подходит звание «Эталонный», а вам — звание «Автор самого красивого кода», то приглашаем принять участие в Конкурсе красоты кода 2.0 и выиграть классные призы от Сбера: iPhone 16 и умную колонку SberBoom.

Опытные эксперты определят победителей в пяти категориях: Backend, Frontend, DevOps, AI и Mobile, — а награждение пройдёт на ключевом IT-событии HighLoad в Москве, 2 и 3 декабря.

Больше 40 участников прошлого конкурса стали частью команды Сбера. Возможно, следующим станете именно вы — переходите по ссылке и изучайте подробности!
Как реализовать менеджер контекста в Python с помощью класса? В каких случаях его стоит использовать? Приведите пример его реализации и покажите, как он работает


❗️Менеджеры контекста позволяют правильно управлять ресурсами, например, открытием и закрытием файлов, установлением и завершением соединений с базами данных или блокировкой и освобождением ресурсов в многопоточном программировании. Классический способ создания менеджера контекста — использование конструкции with. Менеджеры контекста помогают упрощать код и предотвращают утечки ресурсов, так как гарантируют выполнение завершающих действий даже при возникновении исключений.

Для создания менеджера контекста с помощью класса необходимо определить два метода:

enter() — код, выполняемый при входе в контекст (with).

exit(self, exc_type, exc_val, exc_tb) — код, выполняемый при выходе из контекста, даже если внутри возникло исключение.

💡Пример:

Допустим, у нас есть класс DatabaseConnection, который имитирует подключение к базе данных. Менеджер контекста будет обеспечивать автоматическое подключение и отключение от базы данных:

class DatabaseConnection:
def __init__(self, db_name):
self.db_name = db_name

def __enter__(self):
# Действия при входе в контекст
print(f"Connecting to database '{self.db_name}'...")
self.connection = f"Connection to {self.db_name}"
return self.connection # Возвращаем объект соединения

def __exit__(self, exc_type, exc_val, exc_tb):
# Действия при выходе из контекста (закрытие соединения)
print(f"Closing connection to '{self.db_name}'...")
self.connection = None
return False # Если возникло исключение, не подавлять его

# Использование менеджера контекста
with DatabaseConnection('test_db') as conn:
print(f"Using {conn} to execute queries...")

Результат выполнения:

Connecting to database 'test_db'...
Using Connection to test_db to execute queries...
Closing connection to 'test_db'...


💡Объяснение

🌟Метод enter() открывает соединение и возвращает его.

🌟Метод exit() автоматически вызывается при выходе из блока with и закрывает соединение.

🌟Если в блоке with возникнет исключение, оно будет передано в exit(), но не будет подавлено (return False).

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 Awesome-list советов по поступлению в аспирантуру и научной работе.

Репозиторий GitHub "advice", в котором содержится обширная коллекция ссылок на ресурсы, предлагающие советы по различным аспектам поступления в аспирантуру, проведения исследований и жизни в аспирантуре, в основном в области информатики, NLP и ML.

Автор репозитория - Shaily Bhatt, аспирант первого года обучения в Институте языковых технологий CMU и бывший сотрудник NLU Group в Google Research (Индия).

Содержание:

Заявки в аспирантуру:

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

Исследования:

🟠общие советы по исследованиям;
🟠советы для аспирантов;
🟠идеи для исследований;
🟠советы по написанию работ;
🟠советы по рецензированию;
🟠советы по чтению;
🟠советы по публикации и конференциям;
🟠советы по динамике отношений между научным руководителем и аспирантом;
🟠советы по научно-исследовательским стажировкам;
🟠советы по нетворкингу;
🟠советы по выступлениям и презентациям;
🟠советы по продуктивности;
🟠советы по борьбе с синдромом самозванца;
🟠советы по инструментам для исследований.

В репозитории также есть раздел "Список списков", в котором собраны ссылки на другие полезные ресурсы.


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Resources #Github #Awesome
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Пет-проект на Python за 50 минут. Курс по FastAPI для начинающих (2024)

💡 В видео рассматривается создание простого проекта на Python с использованием FastAPI. Обсуждаются основные концепции, такие как маршрутизация, обработка запросов и использование зависимости. Программа охватывает создание RESTful API, работу с параметрами, развертывание приложения через Docker а также интеграцию с базой данных. Также приведены советы по развертыванию приложения и тестированию. Это видео подходит для начинающих, желающих быстро освоить FastAPI

🕞 Продолжительность: 50:00
🇷🇺 Видео на русском языке!

🔗 Ссылка: *клик*

#курс #python #docker #fastapi

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Ускорь Pandas в 20 раз, изменив всего одну строчку кода! 🔥

💡 Pandas часто бывает медленным из-за ограничений, таких как одноядерные вычисления и громоздкие DataFrame-ы. Но есть простое решение: FireDucks — библиотека с таким же API, как у Pandas, которая решает эти проблемы и значительно ускоряет обработку данных.

Как ускорить Pandas?

🌟 Просто замените импорт библиотеки:

Было:

import pandas as pd


Стало:

import fireducks.pandas as pd


🌟 Теперь ваш код работает быстрее без изменений логики! Попробуйте сами и убедитесь, как легко ускорить работу с большими данными! 🚀

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM