Python вопросы с собеседований
25.6K subscribers
638 photos
71 videos
17 files
520 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

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

РКН: clck.ru/3FmrFd
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Обработка ошибок при считывании JSON в Python

Если вы сталкиваетесь с проблемами при считывании JSON в Python, убедитесь, что вы не забыли обрабатывать потенциальные исключения. Используйте блоки try и except для отлова ошибок, таких как JSONDecodeError. Это поможет вам быстро диагностировать проблемы с форматом данных.


import json
json_data = '{"name": "John", "age": 30}' # Пример корректного JSON
try:
parsed_data = json.loads(json_data)
print(f"Name: {parsed_data['name']}, Age: {parsed_data['age']}")
except json.JSONDecodeError as e:
print(f"Ошибка разбора JSON: {e}")
except KeyError as e:
print(f"Отсутствует ключ: {e}")
except Exception as e:
print(f"Произошла ошибка: {e}")
👍65
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python управляет мышкой и клавиатурой как человек

Хочешь почувствовать настоящую магию автоматизации - дай Python управлять твоим компьютером. Скрипт может сам кликать, печатать, открывать программы и выполнять рутину вместо тебя. Это уровень, где ты начинаешь автоматизировать действия, а не просто обрабатывать данные. И именно тут люди впервые понимают, что программирование - это сила, а не теория.


import pyautogui, time

time.sleep(5)
pyautogui.write("Python рулит!", interval=0.1)
pyautogui.press("enter")
pyautogui.moveTo(500, 500, duration=1)
pyautogui.click()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👎3
This media is not supported in your browser
VIEW IN TELEGRAM
🛡 Продвинутый совет по Docker, который экономит часы и нервы.

Большинство разработчиков используют Docker как «виртуалку в коробке». Продвинутый уровень начинается, когда ты начинаешь мыслить слоями, кешем и размером образа.

Главное правило - многоступенчатые сборки (multi-stage builds).

Зачем это нужно:

Ты разделяешь процесс сборки и запуска.
В одном образе у тебя компиляторы, dev-зависимости, инструменты сборки.
Во втором - только чистый рантайм и готовый артефакт.

В итоге:
- образ меньше в разы
- меньше уязвимостей
- быстрее деплой
- быстрее pull на серверах

Как правильно мыслить:

1. Build stage - всё тяжёлое
Здесь ты устанавливаешь build-essential, gcc, node, go, poetry, всё что нужно для сборки.

2. Runtime stage - только то, что нужно приложению в работе
Никаких компиляторов. Никаких dev-зависимостей.

3. Кеш слоёв - твой главный ускоритель
Файлы зависимостей копируются раньше кода. Тогда при изменении кода Docker не пересобирает всё.

4. Не запускай контейнеры от root
Создай пользователя внутри контейнера. Это реальный прирост безопасности.

5. Используй конкретные версии образов
Не python:latest, а python:3.12.2-slim. Иначе однажды всё сломается без твоего участия.


# Stage 1 - сборка
FROM python:3.12-slim AS builder

WORKDIR /app
COPY requirements.txt .
RUN pip install --prefix=/install --no-cache-dir -r requirements.txt

COPY . .


# Stage 2 - минимальный рантайм
FROM python:3.12-slim

WORKDIR /app

COPY --from=builder /install /usr/local
COPY --from=builder /app .

RUN useradd -m appuser
USER appuser

CMD ["python", "app.py"]
4🔥2