Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 501новая вакансия за сутки·57 707вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании5 678
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 400 кандидатов открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python11 001
  • Облачные технологии7 882
  • QA вакансии2 530
  • Android1 457
  • Инженер данных929
  • Продакт-менеджер312

Разработка

  • iOS1 361
  • Backend вакансии1 335
  • AI вакансии645
  • Fullstack вакансии521
  • Frontend вакансии460
  • Mobile вакансии28

По стеку

  • Go6 500
  • Java3 643
  • Node.js1 203
  • Kotlin1 161
  • Rust1 155
  • .NET787
  • PHP334
  • C++285
  • C#211

DevOps и инфраструктура

  • Kubernetes4 701
  • Linux-инфраструктура3 588
  • DevOps вакансии3 059
  • Terraform / IaC2 617
  • Мониторинг и Observability1 284
  • CI/CD929
  • SRE345
  • Кибербезопасность28

Аналитика и данные

  • Аналитик данных556
  • Data Scientist443
  • Бизнес-аналитик412
  • Системный аналитик71

Другие направления

  • Проджект-менеджер91
  • UI/UX дизайн72
  • Ручное тестирование14

По регионам

  • Вакансии в США28 307
  • Вакансии в Европе10 602
  • Работа в России3 671
  • Вакансии в Канаде2 400

По формату

  • Удалённые вакансии44 927
  • Релокация в США28 307
  • Гибридная работа6 438
  • Офисная работа4 602

По уровню

  • Senior вакансии22 956
  • Middle вакансии11 692
  • Junior вакансии3 903

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML164 вакансии
  • Grab135 вакансий
  • Celonis45 вакансий
  • Spotify36 вакансий
  • Infobip28 вакансий
  • Adyen27 вакансий
  • Monzo19 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К подготовке по вакансии←К теме PythonВсе вопросы
PythonSeniorПроектирование систем

Как дебажить медленный endpoint в production?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Сначала метрики (p50/p95/p99, RPS, error rate) и distributed tracing — найти, где время уходит. Дальше — таргетированный профайлинг: SQL plan (EXPLAIN ANALYZE), N+1, external API latency, CPU/lock contention. Воспроизвести в staging, чинить корень, добавить guard.

Инструменты на проде

# py-spy: профайлинг живого процесса без рестарта
py-spy top --pid 12345
py-spy record -o profile.svg --pid 12345 --duration 30

# Postgres: топ медленных запросов
psql -c "SELECT query, mean_exec_time, calls FROM pg_stat_statements ORDER BY mean_exec_time DESC LIMIT 20;"

# EXPLAIN на конкретный план
psql -c "EXPLAIN (ANALYZE, BUFFERS) SELECT ... ;"

# tcpdump до downstream, если подозреваем сеть
sudo tcpdump -i any -nn host downstream.internal and port 5432

План действий

  1. Метрики. Откройте dashboard endpoint: p50/p95/p99 latency, RPS, error rate, версия билда. Сравните с baseline. Если деградация коррелирует с релизом — катите назад и дальше уже спокойно ищите.
  2. Distributed tracing (Jaeger, Tempo, Datadog APM, OpenTelemetry). Откройте slow span: видно цепочку DB → cache → external → CPU. Если tracing нет — это первое, что надо завести.
  3. Логи. Структурные логи с request_id и timing-полями. Срез по slow requests за окно.
  4. База данных. pg_stat_statements для топ-N slow queries, EXPLAIN (ANALYZE, BUFFERS) на подозрительный SQL. N+1 — главный убийца ORM endpoint-ов.
  5. External calls. Таймауты, retry, circuit breaker. Один медленный downstream обнуляет SLA endpoint-а.
  6. CPU/memory. py-spy top --pid <pid> или py-spy record прямо на проде (без рестарта). Для async — флейм-граф через austin или scalene.
  7. Lock contention. GIL contention в multi-thread, async loop с blocking call (см. loop.slow_callback_duration), advisory locks в БД.
  8. Воспроизведение. Соберите curl/locust сценарий, запустите в staging с production-like данными. Без воспроизведения фиксить опасно.
  9. Фикс + регресс-тест. Performance guard (p95 budget) в CI, чтобы не вернулось.

Снять локальные метрики в коде

import logging
import time
from contextlib import contextmanager

import structlog

log = structlog.get_logger()


@contextmanager
def timed(step: str):
    t0 = time.perf_counter()
    try:
        yield
    finally:
        log.info("step.timing", step=step, elapsed_ms=round((time.perf_counter() - t0) * 1000, 2))


# OpenTelemetry — нормальный путь
from opentelemetry import trace
tracer = trace.get_tracer(__name__)


async def handler(req):
    with tracer.start_as_current_span("auth"):
        user = await authenticate(req)
    with tracer.start_as_current_span("db.fetch_orders"):
        orders = await fetch_orders(user.id)
    with tracer.start_as_current_span("external.pricing"):
        prices = await pricing.batch(orders)
    return render(orders, prices)

Типичные находки

  • N+1 SQL — SQLAlchemy без selectinload/joinedload.
  • Сериализация — Pydantic v1 в больших списках; миграция на v2/orjson.
  • Sync HTTP-клиент в async endpoint — блокирует loop.
  • Тяжёлый JSON parse в response — используйте orjson или стриминг.
  • Кэш промахивает (низкий hit rate в Redis) или сериализация ключа неконсистентна.
  • Auth/permission делает запрос к user-service на каждый request без кэша.

Подводные камни

  • Смотреть только average latency — она маскирует хвост; всегда p95/p99.
  • Оптимизировать без измерений — типично улучшают не то, что тормозит.
  • Профайлить prod без guard на overhead (например, cProfile в hot path даёт 2-3x просадку).
  • Фикс без regression test — деградация вернётся через релиз.
  • Игнорировать инфраструктуру: CPU steal на cloud, throttling диска, сетевые retries.

Типичные ошибки

  • Начинать с переписывания endpoint.
  • Не проверять количество SQL-запросов.
  • Игнорировать recent deploy/config changes.

Что проверяет интервьюер

  • Предлагает observability-first план.
  • Понимает percentiles.
  • Разделяет DB/I/O/CPU bottlenecks.

Как вы знаете этот вопрос?

Проверить себя по теме Python →

Источники

  • https://docs.python.org/3/library/profile.html
  • https://docs.sqlalchemy.org/en/20/

Связанные темы

PythonobservabilityProfilingSQL

Вакансии с этим навыком

Python вакансии
  • Senior Data Engineer I - Global KYC & Onboarding
  • Lead Cloud Engineer (Azure) — Interview Experts Needed (#5499)
  • Senior Python Engineer (Embedded project) (#5821)
  • Middle AI/ML Engineer (#5827)
  • Senior System Analyst (Oracle APEX) (#5842)

Частые вопросы на собеседовании

  • Что такое truthy и falsy значения в Python?
  • Когда использовать threading?
  • Что такое type hints и зачем они нужны?
  • Как работает yield?