Python вопросы с собеседований
24.7K subscribers
507 photos
14 videos
17 files
401 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
加入频道
Если вы работаете в области данных, вам предстоит пройти собеседование по SQL

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

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

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

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

@python_job_interview
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
Как реализовать менеджер контекста в 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
💼 Обратное собеседование (reverse-interview) это список вопросов для соискателей.

Пункты не упорядочены и могут быть неприменимы к конкретной должности или виду работы. Вначале это был просто список вопросов, но со временем он стал включать ещё и те вещи, которых хотелось бы видеть больше, и «красные флажки», то есть вещи, которых хочется избегать. Ещё я обратил внимание, что многие люди, которых я собеседовал, не задавали эти вопросы, и, я думаю, это были упущенные возможности.

Разделы вопросов:
- Технологии
- Должность
- Команда
- Ваши будущие коллеги
- Компания
- Бизнес
- Удалённая работа
- Офисная работа
- Компенсация
- Больничный, декретный период, отпуск

📌 Вопросы

@python_job_interview
🖥 Визуализация частот слов с помощью Python

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

❗️ asyncio — это стандартная библиотека Python для написания асинхронного кода. Она позволяет использовать синтаксис async и await, чтобы писать неблокирующий код. Вот простой пример использования asyncio:

import asyncio

async def fetch_data(url):
print(f"Fetching data from {url}...")
await asyncio.sleep(2) # Имитация сетевого запроса
print(f"Data from {url} fetched.")
return f"Data from {url}"

async def main():
urls = ["http://example.com/1", "http://example.com/2", "http://example.com/3"]
tasks = [fetch_data(url) for url in urls]
results = await asyncio.gather(*tasks)
print(results)

asyncio.run(main())



В этом примере несколько задач выполняются одновременно, хотя каждая из них вызывает асинхронное ожидание (с использованием `await asyncio.sleep(2)`), что позволяет другим задачам продолжать выполнение.

💡 Почему асинхронное программирование?

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

🌟 Производительность: Асинхронное программирование позволяет лучше справляться с задачами ввода-вывода (I/O), такими как сетевые запросы и операции с файлами, так как они могут выполняться без блокировки основного потока.

🌟 Упрощение кода: Асинхронные функции легче понимать и поддерживать, так как они работают с синтаксисом `async`/`await`, который более декларативен.

💡 Почему НЕ асинхронное программирование?

🌟 Сложность отладки: Асинхронный код может быть труднее отлаживать, так как ошибки могут возникать в различных частях кода и не всегда очевидны.

🌟 Не для всех задач: Не все задачи требуют асинхронного подхода. Для вычислительно интенсивных задач многопоточность или multiprocessing может быть более подходящим выбором

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полезный репозиторий на Github, в котором собраны вопросы с собеседований по всевозможным IT сферам!

🔍 Что есть?

🌟 Фронтенд
🌟 Бэкенд
🌟 DevOps
🌟 Android - разработка
🌟 Fullstack
🔥 И многое другое!

🔗 Смотрим здесь: *клик*

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создание QR кодов с использованием библиотеки Pyqrcode

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Master_SQL.pdf
754.9 KB
🖥 Большая шпаргалка по SQL — внутри ждёт всё, от основных команд до продвинутых фишек, вроде оконных функций.

— Основные команды SQL;
— SOL Joins;
— SQL Unions, Intersect, Except;
— Временные таблицы SQL, таблицы просмотра, CTE;
— Ранги SQL.

Сохраняйте себе, чтобы не потерять.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Курс по Python от университета Гарварда!

🌟 Большой плейлист с крутым объяснением языка, пожалуй один из лучших курсов по Python!

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Разбор 70 задач Leetcode

Этот ролик охватывает следующие темы:

▫️Временную и пространственную сложность алгоритмов.
▫️Все основные структуры данных.
▫️Советы по подготовке к интервью.

Решения представлены на языке программирования Python 🐍.

Сохраните этот материал для подготовки к собеседованиям 👇

Полное 5.5-часовое видео: https://youtu.be/lvO88XxNAzs?si=EX7_LAu3y8g7WETG

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