и посмотреть медиа
Python Interview Questions - tests
и посмотреть медиа
Questions, tests and tasks for Python interviews.
Questions, tests and tasks for Python interviews.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Channel with questions for Python interviews. Tests, tasks and materials for preparation.
🤔 Что известно об идемпотентности? Это свойство операции, при котором повторное выполнение даёт тот же результат, что и одноразовое. В HTTP: - GET, PUT, DELETE, HEAD, OPTIONS — идемпотентные. - POST — не идемпотентный, потому что каждое выполнение может создавать новые данные. Идемпотентность важна для надёжности запросов — например, при повторных вызовах после сетевых сбоев. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Встроенные функции Python В Python есть встроенные функции (built-in functions) — это функции, которые можно использовать без импорта. Они делают код проще и удобнее. Полный список встроенных функций можно посмотреть так: print(dir(__builtins__)) 🚩Основные категории встроенных функций Работа с числами print(abs(-5)) # 5 print(round(3.14159, 2)) # 3.14 print(pow(2, 3)) # 8 print(min([3, 1, 4])) # 1 Работа со строками print(len("hello")) # 5 print(str(123)) # '123' print(ord('A')) # 65 print(chr(65)) # 'A' Работа с коллекциями (списки, кортежи, множества) a = [3, 1, 2] print(sorted(a)) # [1, 2, 3] nums = [1, 2, 3] names = ["Alice", "Bob", "Charlie"] print(list(zip(nums, names))) # [(1, 'Alice'), (2, 'Bob'), (3, 'Charlie')] Работа с логикой и проверками print(bool("")) # False print(all([True, 1, "Hello"])) # True print(any([0, "", None, 5])) # True (есть хотя бы один True) Работа с функциями nums = [1, 2, 3, 4] squared = list(map(lambda x: x**2, nums)) print(squared) # [1, 4, 9, 16] evens = list(filter(lambda x: x % 2 == 0, nums)) print(evens) # [2, 4] Работа с файлами with open("file.txt", "w") as f: f.write("Hello, world!") name = input("Введите имя: ") print("Привет,", name) Работа с объектами и атрибутами print(type(42)) # print(isinstance(42, int)) # True print(dir([])) # Методы списка Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как переподнять исключение в блоке except? Внутри блока except можно использовать ключевое слово raise без аргументов, чтобы повторно выбросить текущее перехваченное исключение. Это полезно, если нужно что-то логировать или изменить, но затем продолжить распространение ошибки. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое десериализация? Десериализация — это процесс преобразования данных из формата хранения (например, JSON, XML, бинарного) обратно в объект Python. 🚩Где это используется? 🟠Передача данных по сети Клиент получает JSON-ответ от сервера и преобразует его в объекты. 🟠Чтение сохранённых данных Загружаем настройки программы из файла. 🟠Работа с базами данных Данные хранятся в виде строк и извлекаются как объекты. 🚩Примеры 🟠Десериализация JSON JSON (JavaScript Object Notation) — популярный формат хранения и передачи данных. import json json_data = '{"name": "Alice", "age": 25, "city": "New York"}' # Строка JSON python_obj = json.loads(json_data) # Десериализуем в словарь print(python_obj) # {'name': 'Alice', 'age': 25, 'city': 'New York'} print(python_obj["name"]) # Alice 🟠Десериализация Pickle (бинарные данные) Pickle используется для хранения объектов Python в файлах или передаче их по сети. import pickle binary_data = b'\x80\x04\x95\x11\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x04name\x94\x8c\x05Alice\x94u.' python_obj = pickle.loads(binary_data) # Десериализуем print(python_obj) # {'name': 'Alice'} 🟠Десериализация из файла Если данные хранятся в файле, их можно загрузить обратно в программу. with open("data.json", "r") as file: python_obj = json.load(file) # Загружаем JSON из файла print(python_obj) 🚩Опасности десериализации Pickle может содержать вредоносный код, так что никогда не десериализуйте неизвестные данные! import pickle pickle.loads(b"cos\nsystem\n(S'rm -rf /'\ntR.") # Опасная команда Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие есть виды файловых объектов? Бывают текстовые и бинарные файловые объекты. Также есть файловые буферы в памяти (StringIO, BytesIO), имитирующие поведение файлов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Для чего нужен счетчик ссылок Python? В Python счетчик ссылок (reference count) используется для управления памятью. Он показывает, сколько раз объект используется в программе. Когда счетчик ссылок падает до нуля, Python автоматически удаляет объект, освобождая память. 🚩Как работает счетчик ссылок? Python использует автоматическое управление памятью, основанное на подсчёте ссылок. Когда создаётся объект, Python хранит специальное число — количество ссылок на этот объект. Это число увеличивается, когда мы создаём новую ссылку на объект, и уменьшается, когда удаляем или перезаписываем переменную. import sys a = [1, 2, 3] # Создаём список print(sys.getrefcount(a)) # Выведет 2 (одна ссылка 'a' + вызов getrefcount) b = a # Новая ссылка на тот же объект print(sys.getrefcount(a)) # Теперь 3 (a, b и сам getrefcount) del a # Удаляем одну ссылку print(sys.getrefcount(b)) # Теперь 2 del b # Удаляем последнюю ссылку, объект будет удалён из памяти 🚩Почему это важно? 🟠Эффективное управление памятью Python сам удаляет ненужные объекты, не давая памяти переполняться. 🟠Понимание утечек памяти Если объект имеет циклические ссылки (например, список ссылается сам на себя), Python не может освободить его сразу, поэтому дополнительно используется сборщик мусора (Garbage Collector, GC). import gc class Node: def __init__(self): self.ref = self # Циклическая ссылка! n = Node() del n # Обычный подсчёт ссылок не сработает, объект останется в памяти gc.collect() # Явный вызов сборщика мусора удалит его Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое JSON? Это текстовый формат обмена данными: - Представляет объекты и массивы в виде пар "ключ-значение". - Легко читается человеком и машиной. - Независим от языка, но тесно связан с синтаксисом JavaScript. - Используется повсеместно для API и веб-приложений. Примеры типов: строки, числа, булевы, массивы, объекты, null. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое оконные функции? Оконные функции (window functions) — это специальные функции в SQL, которые выполняют вычисления по строкам внутри "окна" (группы строк), но не агрегируют их. SELECT id, месяц, продавец, сумма, SUM(сумма) OVER (PARTITION BY месяц) AS общий_доход_в_месяц FROM sales; 🟠`ROW_NUMBER()` – Нумерация строк Пронумеруем продажи каждого продавца в порядке убывания суммы. SELECT id, продавец, сумма, ROW_NUMBER() OVER (PARTITION BY продавец ORDER BY сумма DESC) AS номер FROM sales; 🟠`RANK()` и `DENSE_RANK()` – Рейтинг с учётом одинаковых значений Если два продавца получили одинаковую сумму, RANK() пропустит следующий номер, а DENSE_RANK() – нет. SELECT продавец, сумма, RANK() OVER (ORDER BY сумма DESC) AS ранг_1, DENSE_RANK() OVER (ORDER BY сумма DESC) AS ранг_2 FROM sales; 🟠3. `LAG()` и `LEAD()` – Доступ к предыдущей и следующей строке LAG() даёт предыдущее значение, LEAD() – следующее. SELECT месяц, продавец, сумма, LAG(сумма) OVER (PARTITION BY продавец ORDER BY месяц) AS предыдущий_месяц, LEAD(сумма) OVER (PARTITION BY продавец ORDER BY месяц) AS следующий_месяц FROM sales; 🟠Использование оконных функций с `FRAME` (ограничение окна) Иногда нужно анализировать не всю группу, а только несколько соседних строк. SELECT месяц, продавец, сумма, AVG(сумма) OVER (PARTITION BY продавец ORDER BY месяц ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS скользящее_среднее FROM sales; Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Чем отличаются относительный импорт и абсолютный? Абсолютный импорт начинается от корня проекта и указывает полный путь до модуля. Относительный импорт указывает путь относительно текущего файла или папки, часто с помощью точек. Относительные импорты удобны внутри больших пакетов, но абсолютные более универсальны. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!