Python | Вопросы собесов
12.7K subscribers
48 photos
5 videos
1 file
1.61K links
Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy

Контакт для рекламы: @easyoffer_adv
Download Telegram
🤔 Какие основные HTTP методы знаешь?

Основные методы: GET (получение данных), POST (отправка данных), PUT (обновление или создание), DELETE (удаление), PATCH (частичное обновление), HEAD, OPTIONS.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍1
🤔 Как выбрать данные из двух таблиц без метода join()?

В SQL можно объединять данные из двух таблиц без использования JOIN, используя альтернативные методы.

🚩Использование подзапросов (`SELECT` внутри `SELECT`)

Подзапрос (subquery) позволяет выбрать данные из одной таблицы, используя данные из другой.
Допустим, у нас есть две таблицы:
employees (id, name, department_id)
departments (id, name)
SELECT name, 
(SELECT name FROM departments WHERE id = employees.department_id) AS department_name
FROM employees;


🚩Использование `IN` или `EXISTS`

Можно фильтровать данные из одной таблицы, проверяя наличие значений в другой.
SELECT name 
FROM employees
WHERE department_id IN (SELECT id FROM departments);


🚩Объединение данных через `UNION`
Если таблицы имеют схожие колонки, можно объединить их с UNION.
SELECT id, name, email FROM users_old
UNION
SELECT id, name, email FROM users_new;


🚩Использование `CROSS JOIN` через `WHERE`

Хотя CROSS JOIN делает декартово произведение, его можно фильтровать WHERE, имитируя INNER JOIN.
SELECT e.name, d.name AS department
FROM employees e, departments d
WHERE e.department_id = d.id;


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое оконные функции?

Оконные функции — это агрегатные функции, которые применяются к строкам в пределах окна, не группируя их. Например: сумма по группе, но каждая строка остаётся на месте. Работают вместе с OVER(), PARTITION BY, ORDER BY.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое хешируемые типы данных?

Это такие типы данных, которые имеют постоянное (неизменяемое) хеш-значение на протяжении всего времени их существования. Это означает, что их можно использовать в качестве ключей в словарях (dict) и элементов в множествах (set), так как они поддерживают вычисление хеша с помощью функции hash().

🚩Как понять, что объект хешируемый?

🟠Объект должен быть неизменяемым
если объект можно изменить после создания, его хеш тоже изменится, что нарушает работу структур данных (словари, множества).
🟠Должен реализовывать метод `__hash__()`
который возвращает уникальный идентификатор объекта.

🚩Какие типы данных хешируемые?

Числа (int, float, complex)
  print(hash(42))       # 42
print(hash(3.14)) # 322818021289917443
print(hash(1 + 2j)) # 8389048192121911274


Строки (str)
print(hash("hello"))  # Например, 5320385861927423548


Кортежи (tuple), если все их элементы тоже хешируемые:
print(hash((1, 2, 3)))  # 529344067295497451


Булевы значения (bool):
  print(hash(True))   # 1
print(hash(False)) # 0


🚩Какие типы НЕ хешируемые?

Списки (list)
hash([1, 2, 3])  # TypeError: unhashable type: 'list'


Множества (set)
hash({1, 2, 3})  # TypeError: unhashable type: 'set'


Словари (dict)
hash({"a": 1})  # TypeError: unhashable type: 'dict'


🚩Почему это важно?

Хешируемые типы используются в словари (dict) и множества (set), так как они используют хеш-функцию для быстрого поиска данных.
my_dict = { (1, 2, 3): "tuple_key" }  # Работает, потому что кортеж неизменяемый
my_set = { 42, "hello", (1, 2) } # Все элементы хешируемые


Ставь 👍 и забирай 📚 Базу знаний
👍3
🤔 Как сделать package?

Пакет в Python — это папка, содержащая файл __init__.py, который указывает, что она является модулем. Внутри пакета могут находиться другие модули или подпакеты. Это позволяет удобно структурировать код по функциональным блокам и импортировать нужные части.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний