python_job_interview | Unsorted

Telegram-канал python_job_interview - Python вопросы с собеседований

24940

Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd

Subscribe to a channel

Python вопросы с собеседований

🔍Тестовое собеседование на Middle Python в четверг с разработчиком из Авито

25 сентября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.

Читать полностью…

Python вопросы с собеседований

🔍 Marker — инструмент от Datalab.to, который быстро и точно превращает документы в Markdown + JSON

Что умеет Marker:
- Поддержка PDF, изображений, PPTX, DOCX, XLSX, HTML, EPUB и др.
- Форматирует таблицы, формы, уравнения, математические выражения, ссылки, кодовые блоки.
- Извлекает изображения из документов.
- Убирает колонтитулы, заголовки, другие артефакты форматирования.
- Есть бета-версия для “структурированного извлечения” на основе схемы JSON.
- Можно включить LLM-модуль, чтобы повысить точность в сложных местах (например, объединение таблиц, корректное форматирование).

Преимущества:
- Быстрота + точность по сравнению с конкурентами (Mathpix, Llamaparse и др.).
- Работает и без LLM, но с флагом --use_llm становится ещё лучше.
- Можно запускать локально, на серверах, GPU / CPU, использовать параллельную обработку.

Ограничения и нюансы:
- Сложные макеты и вложенные таблицы / формы ещё не всегда обрабатываются идеально.
- Иногда требуется OCR, особенно если PDF плохо “разложен” на текст.

Кому полезно:
- Тем, кто работает с научными статьями, отчётами, бухгалтерскими документами, презентациями и хочет автоматизировать преобразование в читаемый формат.
- Для RAG-pipelines, документации и любых задач, где надо извлечь структуру и контент.

https://github.com/datalab-to/marker

Читать полностью…

Python вопросы с собеседований

🖥Как у вас с Django?

Чтобы отвечать на этот вопрос «изи», рекомендуем Яндекс Лицей и его программу «Веб-разработка на Django». Он для учащихся школ и колледжей.

Почему рекомендуем:

✔️Подход: первые пару месяцев лекции + практика, начиная с третьего — командный проект.
✔️Глубина: будете сами создавать веб-приложения и сайты с нуля, разберётесь в тонкостях ввода от пользователей и верной проверки данных.
✔️Дополнительный бонус: после обучения получите именной сертификат, который может добавить баллы при поступлении в вузы-партнеры.

Обучение бесплатное, но нужно пройти отбор до 23 сентября.

👉 Переходим и регистрируемся по ссылке

Читать полностью…

Python вопросы с собеседований

👩‍💻 Пример скачивания Yotube-видео по ссылке с помощью библиотеки Pytube!

@python_job_interview

Читать полностью…

Python вопросы с собеседований

✔️ OpenAI выпустила Codex-CLI 0.36 с новым GPT-5-Codex

Теперь система динамически выбирает время «размышлений»: на простые запросы отвечает почти мгновенно, а на сложных проектах может работать часами — вплоть до 7 часов подряд, выполняя рефакторинг, исправляя ошибки и доводя решение до финала.

Одним из главных нововведений стала функция codex resume, позволяющая возобновлять старые сессии. Также обновили интерфейс: появилось анимированное онбординг-руководство, улучшены отображение статусов и обработка прерываний. Важным изменением стала и новая система авторизации с более надёжной работой API-ключей и кастомных провайдеров.

По производительности GPT-5-Codex показывает заметный скачок. На бенчмарке SWE-bench модель набирает 74,5%, обгоняя GPT-5 high. На внутренних тестах по рефакторингу результат вырос с 34% до 51%, что говорит о серьёзном улучшении качества работы с большими кодовыми базами.
OpenAi

✔️ Релиз TimesFM 2.5 от Google

Google Research представила TimesFM 2.5 — обновлённую версию Time Series Foundation Model для прогнозирования временных рядов.

В версии 2.5 разработчики улучшили точность по сравнению с 2.0 и значительно расширили максимальную длину контекста, что позволяет обрабатывать более сложные и длинные временные зависимости.

Особое достижение — первое место в рейтинге GiFT-Eval: TimesFM 2.5 заняла лидирующую позицию сразу по всем метрикам среди zero-shot foundation-моделей, подтвердив статус одной из самых точных систем для анализа временных рядов.
Github

✔️ OpenAI и Anthropic: инструменты используются по-разному и приносят разные результаты

Согласно новому анализу от TipRanks, компании OpenAI и Anthropic показали, что их ИИ-инструменты применяются в существенно разных контекстах — и дают разные эффекты.
OpenAI в основном используется для создания контента, разработки кода и поддержки творческих задач, где гибкость и масштабируемость — ключевые аргументы. Его модели помогают пользователям генерировать текст, автоматизировать рабочие процессы и решать задачи, требующие воображения и нестандартного подхода.

Anthropic, напротив, чаще применяют в областях, где особенно важны точность, контроль бессознательных смещений и высокая надёжность — например, в юридических, медицинских или регулируемых средах. В таких сценариях делают упор на безопасность, на минимизацию ошибок и на возможность аудита и объяснений того, как пришёл к решению ИИ.

Отчёт подчёркивает: разные компании и пользователи выбирают OpenAI или Anthropic не просто на основе производительности, но и в зависимости от ценностей — что важнее: скорость и творческий потенциал или строгие гарантии и прозрачность.

Эксперты TipRanks полагают, что оба подхода — сильны в своих нишах. Поскольку спрос на ИИ-решения растёт, смешанные и гибридные модели применений, вероятно, станут всё более популярными: когда часть задач решается с помощью гибкого и креативного ИИ, а часть — с помощью инструментов повышенной эмпатии и осторожности.
Отчет

✔️ Reve выпустили свой нейрофотошоп

Reve представили AI-редактор изображений, который уже окрестили «текстовым фотошопом». В отличие от конкурентов, здесь почти нет цензуры, а ограничения на генерацию трудно заметить.

Функция Image creator & remixer позволяет создавать и перерабатывать изображения на основе текстовых подсказок. Интерактивный drag-and-drop редактор даёт возможность перемещать, масштабировать и изменять объекты прямо мышкой — так, как в привычных графических редакторах. Вместо стандартного поля для ввода появился чат-ассистент, превращающий взаимодействие в диалог, что облегчает настройку и доработку картинок.
Reve

✔️ Alphabet впервые достигла рыночной капитализации в $3 трлн

Компании Alphabet, материнской структуры Google, впервые удалось преодолеть отметку в $3 трлн стоимости на бирже. Акции выросли на 4 % на фоне судебного решения по антимонопольному делу, по которому не потребовалось разделение бизнеса (Chrome и Android). Сильный рост показали облачная служба и заинтересованность инвесторов в AI-продуктах, особенно модели Gemini.
Новость

@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Python вопросы с собеседований

🖥 Гайд по собеседованию Python-разработчика (Middle) 2025 года

В этом гайде собраны реальные и актуальные вопросы из интервью в крупных технологических компаниях и стартапах (Google, Amazon, Stripe, Booking и др.).

Каждая тема разобрана через призму того, что именно проверяют интервьюеры, как лучше структурировать ответ и какие подводные камни важно учитывать.

👉 Гайд: https://uproger.com/gajd-po-sobesedovaniyu-python-razrabotchika-middle-2025-goda/

Читать полностью…

Python вопросы с собеседований

🖥 Полезный совет по Python

В Python можно писать собственные контекстные менеджеры с помощью декоратора contextlib.contextmanager.
Это позволяет красиво управлять ресурсами (файлами, соединениями, блокировками) без лишнего кода.


from contextlib import contextmanager
import time

@contextmanager
def timer(name: str):
start = time.time()
try:
yield
finally:
end = time.time()
print(f"[{name}] elapsed: {end - start:.4f} sec")

# Использование
with timer("heavy calc"):
sum(i * i for i in range(10_000_000))

🔥 Фишка: можно легко оборачивать любой ресурс (БД, сокет, API) и гарантировать его закрытие или освобождение.
Это делает код чище и надёжнее.

Читать полностью…

Python вопросы с собеседований

🔥 Полезный Python-трюк для работы с сетями: `ipaddress` в стандартной библиотеке

Когда нужно быстро проверить IP-адреса, маски подсетей или принадлежность хоста сети — не обязательно тянуть внешние пакеты. В Python уже есть мощный модуль ipaddress.


import ipaddress

# Создаём сеть
net = ipaddress.ip_network("192.168.1.0/24")

# Проверяем, входит ли IP в сеть
print(ipaddress.ip_address("192.168.1.42") in net) # True
print(ipaddress.ip_address("10.0.0.5") in net) # False

# Перебираем все адреса подсети
for ip in net.hosts():
print(ip)
break # выведет первый адрес

# Работаем с IPv6 так же просто
ipv6 = ipaddress.ip_network("2001:db8::/32")
print(ipaddress.ip_address("2001:db8::1") in ipv6) # True


📌 Чем полезно

Проверка принадлежности адреса подсети

Удобный парсинг IPv4 и IPv6

Генерация диапазонов IP

Всё встроено в Python — никаких сторонних зависимостей

🔥 Отлично подходит для написания сетевых тулзов, firewall-скриптов, DevOps-автоматизации и тестов.

#Python #Networking #Tips #DevOps

Читать полностью…

Python вопросы с собеседований

🐍 Полезные фишки парсинга в Python

1️⃣ Парсинг JSON без лишних усилий


import json

data = '{"name": "Alice", "age": 25}'
parsed = json.loads(data)
print(parsed["name"]) # Alice


2️⃣ HTML/XML-парсинг с BeautifulSoup

from bs4 import BeautifulSoup

html = "<h1>Hello <b>Python</b></h1>"
soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text) # Hello Python


3️⃣ Парсинг аргументов командной строки с argparse

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--name")
args = parser.parse_args()
print(f"Hello, {args.name}")


4️⃣ Быстрый CSV-парсинг

import csv

with open("data.csv") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["username"], row["score"])


5️⃣ Регулярки для гибкого текста

import re

text = "Email: test@example.com"
match = re.search(r"\w+@\w+\.\w+", text)
print(match.group()) # test@example.com


🔥 Эти трюки помогают парсить JSON, HTML, CSV, аргументы CLI и даже “грязный” текст.
Подойдут как для скриптов, так и для продакшн-кода.

👉 Сохрани, чтобы не забыть!

Читать полностью…

Python вопросы с собеседований

@python_job_interview

Читать полностью…

Python вопросы с собеседований

🚀 Фишка на Python: Скачивание нескольких файлов параллельно с помощью ThreadPoolExecutor

Этот скрипт использует urllib.request + concurrent.futures, чтобы загружать файлы одновременно и значительно ускорить процесс.



import os
import urllib.request

from concurrent.futures import ThreadPoolExecutor, as_completed

def downloader(url):
"""Скачивает указанный URL и сохраняет его на диск"""
req = urllib.request.urlopen(url)
filename = os.path.basename(url)
ext = os.path.splitext(url)[1]
if not ext:
raise RuntimeError('URL не содержит расширения')

with open(filename, 'wb') as file_handle:
while True:
chunk = req.read(1024)
if not chunk:
break
file_handle.write(chunk)

return f'Загрузка завершена: {filename}'

def main(urls):
"""Создаёт пул потоков и скачивает указанные файлы"""
with ThreadPoolExecutor(max_workers=5) as executor:
futures = [executor.submit(downloader, url) for url in urls]
for future in as_completed(futures):
print(future.result())

if __name__ == '__main__':
urls = [
"http://www.irs.gov/pub/irs-pdf/f1040.pdf",
"http://www.irs.gov/pub/irs-pdf/f1040a.pdf",
"http://www.irs.gov/pub/irs-pdf/f1040ez.pdf",
"http://www.irs.gov/pub/irs-pdf/f1040es.pdf",
"http://www.irs.gov/pub/irs-pdf/f1040sb.pdf"
]
main(urls)

Читать полностью…

Python вопросы с собеседований

Docker и Kubernetes: основы разработки под облачную инфраструктуру

Курс для тех, кто хочет держать свой стэк и знания актуальными и глубоко разбираться, как устроены Docker, Kubernetes, и современная облачная инфраструктура в целом.

🌐 Чему вы научитесь:

🤩 Создавать облачную инфраструктуру «с нуля» управление и конфигурация серверов с Terraform, Ansible, cloud‑init
🤩 Уверенно работать с Docker: Dockerfile, слои, кэш, многоступенчатые сборки, реестры, безопасность, air‑gapped
🤩 Проектировать многоконтейнерные приложения: паттерны Sidecar, Ambassador, Adapter, проверки (liveness/readiness), DaemonSet и поды
🤩 Настраивать сеть и балансировку в Kubernetes
ClusterIP, Services, Ingress, MetalLB, TLS/SNI, сервис‑меши (Istio)
🤩 Организовывать хранение данных: PersistentVolumes / PVC, StorageClasses, резервное копирование. Упаковка в Helm и поддержка через Operator

🥸 Кто мы: R&D-центр Devhands. Автор курса — Николай Ихалайнен, эксперт по СУБД и бекенду (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.

🗓 Старт курса: 17 сентября, 6 недель обучения.
Изучить программу и записаться можно здесь.

Ждем вас!

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxNnFKA

Читать полностью…

Python вопросы с собеседований

🍭 Задача на Python: Анализ работы декораторов и замыканий
Уровень: middle

Код:

def counter(func):
count = 0

def wrapper(*args, **kwargs):
nonlocal count
count += 1
print(f"Функция {func.__name__} вызвана {count} раз")
return func(*args, **kwargs)

return wrapper

@counter
def greet(name):
return f"Привет, {name}!"

print(greet("Анна"))
print(greet("Пётр"))

Вопрос: Что выведет данный код?

Правильный ответ:
Функция greet вызвана 1 раз
Привет, Анна!
Функция greet вызвана 2 раз
Привет, Пётр!

Пояснение:
1. Декоратор counter создает замыкание — внутреннюю функцию wrapper, которая имеет доступ к переменной count.
2. При каждом вызове декорированной функции greet:
— Увеличивается счетчик count
— Выводится сообщение с текущим значением счетчика
— Вызывается оригинальная функция greet с переданными аргументами
3. Переменная count сохраняет свое состояние между вызовами благодаря механизму замыканий.
4. nonlocal позволяет изменять переменную из внешней области видимости

@python_job_interview

Читать полностью…

Python вопросы с собеседований

🔥 Самые сложные вопросы для интервью в Google — как готовиться и что отвечать

🔤 Что чаще спрашивают
- Алгоритмы и структуры данных
- «Найдите k-й элемент в отсортированных массивах без слияния»
- «Минимальное окно подстроки с набором символов»
- «Пути с минимальной стоимостью в графе с ловушками/порталами»
- Системный дизайн (Senior+)
- «Спроектируйте сокращатель ссылок с 10 млрд кликов/день»
- «Реал-тайм чат с end-to-end доставкой и поиском по истории»
- «Видео-платформа: загрузка, хранение, CDN, рекомендации»
- Конкурентность и распределённые системы
- «Счётчик с глобальной монотонностью на шардированном кластере»
- «Идемпотентная очередь задач при ретраях и дедупликации»
- Поведенческие (бар-рейзер)
- «Расскажите про провал и чему вы научились»
- «Как вы влияли без формальных полномочий»

📌 Как решать задачи с кодом (шаблон)
1) Уточните ограничения и формат ввода/вывода.
2) Проговорите наивное решение → оценка O(...) по времени/памяти.
3) Предложите улучшение (двойной указатель, heap, prefix, DP, BFS/DFS, binary search on answer).
4) Кодируйте чисто: небольшие функции, проверки краёв, именование.
5) Прогоны тестов: пустой ввод, дубликаты, большие размеры, Unicode и т. п.
6) Завершите: сложность, варианты оптимизации, trade-offs.

🛠 **Системный дизайн — скелет ответа**
- Требования: функциональные/нефункциональные (RPS, латентность, доступность).
- API/схемы данных → оценка объёмов (QPS, storage, рост).
- Высокоуровневая архитектура: клиент, API-шлюз, сервисы, БД, кэш, очередь, CDN.
- Горячие пути: чтение/запись, кэширование, индексирование, консистентность.
- Масштабирование: шардинг, репликация, партиционирование, backpressure.
- Надёжность: ретраи, идемпотентность, дедупликация, алерты, SLO/SLI.
- Трейд-оффы и поэтапный rollout.

☠️ Типичные ловушки
- Пишете код сразу, не уточнив ограничения.
- Нет тестов на крайние случаи.
- Перескакиваете в микро-детали дизайна, не зафиксировав требования.
- Не называете trade-offs и метрики успеха.

🔖 Мини-шпаргалка по инструментам
- Два указателя — подстроки/окна/парные суммы.
- Heap/priority queue — k-наилучших элементов/поток слияния.
- Prefix/Suffix/Hash — подсчёты и проверки за O(1) на запрос.
- DP — оптимизация по состояниям (категории: линейная, на подмасках, по интервалам).
- Graph — BFS (минимум шагов), Dijkstra/0-1 BFS (взвешенные), Topo sort (DAG).
- «Binary search по ответу» — задачи вида «можно/нельзя при X».

⚡️ Как готовиться эффективно (4 шага)
1) Разделите тренировки: 60% кодинг, 25% дизайн, 15% поведенческие.
2) Решайте задачники по темам и фиксируйте паттерн решения (а не только код).
3) Мок-интервью: таймер 30–45 минут, проговаривайте мысли вслух.
4) Соберите портфель историй по STAR: конфликт, лидерство, фейл, влияние на метрики.

Удачи на интервью!

👉 Полное видео

Читать полностью…

Python вопросы с собеседований

🖥 Microsoft вопрос с собеседования по SQL

Задача: найти топ-2 Power Users в Microsoft Teams — пользователей, которые отправили больше всего сообщений в августе 2022. Вывести их sender_id и количество сообщений.

Подход:
1) Отфильтровать сообщения по интервалу августа — в T-SQL удобно задавать полуинтервалом [2022-08-01, 2022-09-01), без функций над датой (чтобы не ломать индексы).
2) Посчитать сообщения по sender_id.
3) Отсортировать по убыванию и взять TOP 2.
Если хотите корректно обрабатывать «ничьи» — используйте DENSE_RANK().

Быстрое решение (T-SQL):


SELECT TOP (2)
sender_id,
COUNT(*) AS message_count
FROM messages
WHERE sent_date >= '2022-08-01'
AND sent_date < '2022-09-01'
GROUP BY sender_id
ORDER BY COUNT(*) DESC, sender_id;


Вариант с учетом ничьих (tie-safe):


WITH monthly AS (
SELECT sender_id, COUNT(*) AS message_count
FROM messages
WHERE sent_date >= '2022-08-01'
AND sent_date < '2022-09-01'
GROUP BY sender_id
),
ranked AS (
SELECT sender_id, message_count,
DENSE_RANK() OVER (ORDER BY message_count DESC) AS rnk
FROM monthly
)
SELECT sender_id, message_count
FROM ranked
WHERE rnk <= 2
ORDER BY message_count DESC, sender_id;


Почему так:

- Фильтр по диапазону дат без функций сохраняет «sargable» запрос (используются индексы по sent_date).
- GROUP BY + COUNT(*) дают нужную метрику.
- DENSE_RANK() аккуратно захватывает все «совместные» вторые места.

Читать полностью…

Python вопросы с собеседований

🚀 Python Pro совет

Хотите красиво печатать JSON прямо в терминале?
Необязательно ставить внешние утилиты — всё есть в стандартной библиотеке:


# Форматирование JSON из файла
python -m json.tool data.json

# Или из пайплайна
cat data.json | python -m json.tool | less


💡 Очень удобно, когда нужно быстро проверить структуру или отладить API-ответ.
Можно добавить | jq для ещё более гибкой фильтрации.

Читать полностью…

Python вопросы с собеседований

🐍 Ещё один небанальный Python-совет

В Python можно использовать __enter__ и __exit__, чтобы превратить объект в контекстный менеджер — даже для вещей, которые обычно так не используют.

Например: автоматически замерять время выполнения блока кода:


import time

class Timer:
def __enter__(self):
self.start = time.time()
return self
def __exit__(self, *args):
print(f"⏱ Время выполнения: {time.time() - self.start:.4f} c")

with Timer():
sum([i**2 for i in range(10_000_000)])


👉 Теперь любой код внутри with Timer(): автоматически измеряется.
Этот приём удобно применять для логирования, отката транзакций или даже временной подмены настроек.

Читать полностью…

Python вопросы с собеседований

🚀 Индивидуальный IPython в Docker: советы от Frank Wiles

Хочешь, чтобы твоя IPython-среда в Docker была настроена под тебя, но не мешала коллегам? Вот лёгкий и гибкий способ:

1. Используй IPYTHONDIR и Docker Compose:
- В .env: IPYTHONDIR=/code/attic/ipython/
- В .gitignore: attic/
- В Docker Compose: подключай .env и твой проект как volume, чтобы IPython создавал конфигурацию в attic/ipython/profile_default/.

2. Настройка по вкусу:
- В ipython_config.py можно задать стиль редактирования (например, `c.editing_mode = "vi"`).
- Автоматически импортируй часто используемые библиотеки через c.InteractiveShellApp.exec_lines = [...] или скрипты в папке startup/, пронумерованные по порядку загрузки }.

3. Предзагрузка данных для удобной работы:
Например, при работе с Django можно автоматически загрузить dev-данные. Скрипт 20-load-devdata-assignment.py внутри startup/ пытается получить объект Assignment и связанные с ним данные, делая работу в IPython удобнее.

4. Собственный инструмент для рутины:
Автор реализовал класс URLFinder, который извлекает UUID из строки URL, красиво их отображает с помощью библиотеки rich — и позволяет получить нужный UUID по индексу (`ids(0)`, ids(1) и т.п.).

Вывод:
Настройка IPython в Docker — это просто, удобно и лично. И это не навязывает изменения команде. Даже маленький инструмент вроде URLFinder может существенно упростить рутину.

Опубликовано 19 августа 2025 года автором Frank Wiles, основателем REVSYS и бывшим президентом Django Software Foundation .


https://frankwiles.com/posts/customize-ipython-docker/ -

Читать полностью…

Python вопросы с собеседований

🚀 Умная система мониторинга Alerta

Alerta — это масштабируемый инструмент мониторинга, который легко настраивается и принимает оповещения из различных источников. Он предлагает быструю визуализацию данных с возможностью глубокого анализа.

🚀 Основные моменты:
- Масштабируемая архитектура
- Минимальная конфигурация
- Поддержка MongoDB и PostgreSQL
- Удобная веб-консоль для визуализации
- Легкая интеграция с облачными платформами

📌 GitHub: https://github.com/alerta/alerta

#python

Читать полностью…

Python вопросы с собеседований

⚡️ Depyler — транспилятор Python → Rust, созданный для высокой производительности и энергосбережения.
Он переводит код Python в безопасный и быстрый Rust, снижая энергопотребление на 75–85%.
Проект сделан без технического долга и соответствует строгим принципам качества (Toyota Way).

Основные возможности

Транспиляция ядра
- Разбор Python AST и преобразование в HIR для безопасных трансформаций
- Интеллектуальный вывод типов с поддержкой аннотаций
- Автоматическая работа с памятью: владение и заимствование
- Direct Rules Engine — перевод конструкций Python в Rust по шаблонам
- Оптимизация строк — интернирование часто используемых литералов

Производительность и эффективность
- Энергопотребление на 75–85% ниже по сравнению с Python
- Бинарная оптимизация: LTO, strip, panic=abort
- Работа со строками без лишних копирований (через `Cow`)
- Использование LLVM-бэкенда для агрессивной оптимизации
- Авто-интернирование строк, встречающихся более 3 раз

Безопасность и верификация
- Property-based тестирование для проверки семантической эквивалентности
- Анализ памяти: защита от use-after-free и гонок данных
- Автовставка проверок границ при необходимости
- Контрактное программирование: верификация предусловий и постусловий
- Архитектура, готовая к формальной проверке (SMT)

Интеграция ИИ
- Поддержка MCP v1.0 (модель контекстного протокола)
- Интерактивный AI-режим для подсказок в транспиляции
- Рекомендации по аннотациям и оптимизации
- Оценка сложности миграции

Инструменты разработчика
- Поддержка LSP (VSCode, Neovim и др.)
- Отладка с сопоставлением исходников
- Профилирование и оптимизация «горячих точек»
- Автогенерация документации API из Python

🔗 Репозиторий: https://github.com/paiml/depyler

Читать полностью…

Python вопросы с собеседований

🚀 Автоматизация задач на Python за пару строк

Вместо ручного запуска можно поручить Python выполнять действия по расписанию.
Библиотека schedule делает это максимально просто 👇


import schedule
import time

def greet():
print("⏰ Hello! Time to learn Python!")

schedule.every(5).seconds.do(greet)

while True:
schedule.run_pending()
time.sleep(1)


💡 Каждые 5 секунд скрипт будет выводить напоминание.

Можно легко заменить на любое действие: запуск бэкапов, парсинг сайтов или проверку API.

Читать полностью…

Python вопросы с собеседований

⚡️ Библиотека EasyOCR для распознавания текста на картинках

Поддерживает 80+ языков.

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

Установка: pip install easyocr

🟢Репозиторий

Читать полностью…

Python вопросы с собеседований

🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире

11 сентября (уже в четверг!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика.

Почему точно нужно прийти:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

🔍Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.

Читать полностью…

Python вопросы с собеседований

✔️ Alibaba инвестировала $140 млн в ИИ-роботов

Alibaba Group и Alibaba Cloud возглавили консорциум по финансированию шэньчжэньского стартапа X Square Robot (осн. 2023). Участвовали HSG, Meituan и Legend Star.
Это часть стратегии Alibaba — компания планирует вложить $53 млрд в ИИ-инфраструктуру. Цель сделки — новое поколение «умной робототехники», где ИИ отвечает за автономность и принятие решений. Инвестиция также отражает курс Китая на ускоренное развитие сектора ИИ и робототехники.
mktnews.com

✔️ Unitree Robotics готовится к IPO ($7 млрд)

Китайский производитель гуманоидных роботов Unitree планирует выйти на шанхайскую биржу STAR Market в IV квартале. Цель — оценка $7 млрд (почти в 6 раз выше июльского раунда).
Компания — лидер в Китае по производству роботов-гуманоидов, её продукция используется в университетах и на публичных мероприятиях. Unitree уже прибыльна: выручка >1 млрд юаней ($140 млн). За спиной — Alibaba, Tencent и Geely. Успешное IPO станет ключевым индикатором интереса инвесторов к физическим воплощениям ИИ.
reuters.com

✔️ Google снизила цены на Veo 3 и добавила 1080p

Стоимость генерации видео в Veo 3 упала: стандартная версия — с $0.75 до $0.40 за секунду (-47%), Veo 3 Fast — до $0.15 (-62.5%). Теперь поддерживаются вертикальные форматы (9:16) и качество 1080p. Обе модели стабильны и доступны через Gemini API.
Это сигнал к масштабированию и ценовой конкуренции на рынке видео-ИИ. Veo 3 уже применяется в проектах Invisible Studio, Saga, Mosaic для ускорения контент-продакшена.
X.com

✔️ Claude получил доступ к данным смартфона

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

✔️ Anthropic поддержала калифорнийский законопроект SB 53

Компания официально выступила в поддержку инициативы сенатора Скотта Винера, регулирующей передовые ИИ-системы. Ключевые положения:
• публикация принципов безопасности и прозрачности
• уведомление о критических инцидентах в течение 15 дней
• защита осведомителей и санкции за нарушения
• порог для регулирования — >10²⁶ FLOPs

Anthropic отмечает, что закон закрепляет уже применяемые практики и создаёт равные условия для конкуренции. Это первый случай открытой поддержки крупной ИИ-лабораторией регуляторных инициатив.
anthropic.com

✔️ Google обновила NotebookLM

- Флэшкарты и квизы: формат «вопрос–ответ» + тесты с настройкой сложности.
-Reports: авто-рекомендации форматов (блог, white paper, стади-гайд и др.), кастомизация промптов.
- ИИ-подкасты: новые режимы — Deep Dive, Brief, Critique, Debate; поддержка всех языков.
Примеры, видео, квиза и карточек прикрепили к посту.
Notebooklm

@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Python вопросы с собеседований

🚀 PySentry — это сверхбыстрый сканер уязвимостей для Python-проектов, написанный на Rust, который справляется с аудитом зависимостей быстро и надёжно.

Основное:
- Автоматически анализирует файлы зависимостей: uv.lock, poetry.lock, Pipfile.lock, pyproject.toml, Pipfile, requirements.txt и др.
- Сверяет зависимости с базами уязвимостей: PyPA Advisory Database, PyPI JSON API, OSV.dev
- Поддерживает вывод в формате: человекочитаемом, JSON, SARIF или Markdown — отлично подходит для CI/CD и IDE-интеграций (например, GitHub Security)
- Написан на Rust с асинхронной обработкой, многоуровневым кэшированием и оптимизированной резолюцией — очень быстро и эффективно

uvx pysentry-rs /path/to/project

🟢 Github

Читать полностью…

Python вопросы с собеседований

🎯 Разбор задания с подвохом (Python, собес)

Задание
> Сформируйте список функций callbacks, где каждая функция при вызове печатает свой индекс.
> Затем вызовите их по очереди (или из потоков/таймеров) — ожидаемый вывод: 0 1 2.

Наивное решение (почти все так пишут)


callbacks = [lambda: print(i) for i in range(3)]

for f in callbacks:
f()


Что выведет?
2 2 2 — и это не баг интерпретатора.

В чём подвох

- Замыкание поздно связывает имя i: лямбды не «копируют» значение, а смотрят на переменную i, когда вы их вызываете.
- К моменту вызова цикл уже закончился, i == 2, значит все три лямбды печатают 2.

Правильные варианты

Привязать значение через параметр по умолчанию (часто лучший баланс читаемости)


callbacks = [lambda i=i: print(i) for i in range(3)]
for f in callbacks:
f() # 0 1 2

Заводим фабрику функций (прямо подчёркивает намерение)


def make_printer(i):
def _f():
print(i)
return _f

callbacks = [make_printer(i) for i in range(3)]
for f in callbacks:
f() # 0 1 2

functools.partial — когда нужно просто «прикрутить аргументы»


from functools import partial

callbacks = [partial(print, i) for i in range(3)]
for f in callbacks:
f() # 0 1 2

А если таймеры/потоки?


import threading

for i in range(3):
# ПЛОХО: замкнёт одно и то же i
# threading.Timer(1, lambda: print(i)).start()

# ХОРОШО: привяжем значение сразу
threading.Timer(1, lambda i=i: print(i)).start()


Мини-чеклист для собеса

- Лямбды/внутренние функции в цикле → проверь, не упираешься ли в late binding.

- Если нужна «заморозка» значения, используй параметр по умолчанию, фабрику или partial.

Не путай с другой классикой: изменяемые значения по умолчанию (например, def f(x, acc=[])), это другая ловушка.

Вывод

В Python замыкания захватывают имена, а не значения.

Привязывай нужное значение в момент создания функции — и подвох исчезнет.

Читать полностью…

Python вопросы с собеседований

👨‍🔧 CoreNN — база данных для работы с векторами и эмбеддингами в масштабе миллиардов, с сублинейным временем отклика на обычных серверах.

📌 Пример: поиск по 1 млрд эмбеддингов комментариев Reddit из индекса 4,8 ТБ на диске занимает всего 15 мс.

🔧 Ключевые особенности:
- Работает на дешёвых SSD/flash-накопителях, а не в дорогой DRAM → в 40–100 раз дешевле.
- Масштабирование: от 1 до 1 млрд векторов в одном индексе.
- Upsert и delete оптимизируют локальный граф, освобождают место и сохраняют скорость — без полной перестройки.
- Поддерживает параллельные запросы и обновления без блокировок.

🔗 https://github.com/wilsonzlin/CoreNN

Читать полностью…

Python вопросы с собеседований

🐍 Python + Ruff: сложность кода под контролем

На скрине — функция validate_product, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом C901 (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.

📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.

⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании

💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных if
3. Упрощать логику с помощью вспомогательных функций или структур данных

#Python #Ruff #CleanCode #Refactoring #McCabeComplexity

Читать полностью…

Python вопросы с собеседований

💼 Как подготовиться к любому собеседованию: гайд от нового сотрудника OpenAI

Новый инженер OpenAI поделился опытом прохождения интервью в AI-стартапы и крупные компании, включая OpenAI.

1. Заботьтесь о себе — ментально и физически
Интервью — это стресс. Следите за сном, питанием, отдыхом, заручитесь поддержкой друзей и семьи.

2. Помните: цель — ваш успех
Компания и интервьюеры хотят, чтобы вы прошли. Даже если был отказ, пробуйте снова — многие успешно попадали на роль со второй попытки.

3. Получайте удовольствие от процесса
Это шанс познакомиться с интересными людьми, узнать новые технологии и потренироваться в решении задач.

4. Готовьтесь основательно
- 100 часов на задачи (LeetCode и аналоги)
- 100 часов на изучение теории и статей
- Тренируйтесь с друзьями без автодополнений и LLM-подсказок

5. Каждая встреча важна
Даже «неформальный звонок» — это возможность показать мотивацию, характер и профессионализм.

6. Работайте над профилем и сетью
LinkedIn, GitHub с проектами, участие в митапах, open-source, хакатонах — всё это привлечёт внимание рекрутеров.

7. Первые звонки
- С рекрутером: записывайте детали — этапы, состав команды, имя руководителя
- С руководителем: изучите его публикации и проекты, покажите интерес, расскажите, почему хотите работать именно здесь

8. Поведенческие вопросы
Готовьте истории по формату STAR(I) — о том, как решали конфликты, брали на себя лидерство, справлялись с ошибками.

9. Техническая часть
- Решайте задачи быстро и чётко, проговаривая ход мыслей
- Практикуйте кодинг в условиях стресса и без IDE
- Разбирайтесь в алгоритмах, трансформерах, RL-методах
- Умейте объяснить свою текущую работу и её пользу для компании

10. Переговоры
Обсуждайте не только зарплату, но и команду, миссию, культуру. Все договорённости фиксируйте письменно.

11. Принятие решения
Выбирайте место, где вам будет комфортно работать каждый день.

📌 Главное: интервью — это навык, который можно натренировать. Подготовка + уверенность = высокий шанс успеха.

📌 Полный текст

Читать полностью…

Python вопросы с собеседований

🏵️ async-lru — кэширование для асинхронного Python без головной боли

Простой, но мощный порт стандартного lru_cache из functools для asyncio-приложений. Главная фишка — автоматическая обработка конкурентных вызовов: даже если 10 корутин запросят одни и те же данные одновременно, реальный запрос выполнится лишь один раз.

Проект особенно полезен в связке с aiohttp для кэширования HTTP-запросов или результатов работы с базами данных. Поддержка TTL и ручная инвалидация кэша делают библиотеку универсальным инструментом.

🤖 GitHub

@python_job_interview

Читать полностью…
Subscribe to a channel