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

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

رفتن به کانال در Telegram

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

نمایش بیشتر

📈 تحلیل کانال تلگرام Python вопросы с собеседований

کانال Python вопросы с собеседований (@python_job_interview) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 24 966 مشترک است و جایگاه 5 488 را در دسته فناوری و برنامه‌ها و رتبه 26 804 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 24 966 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 05 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -153 و در ۲۴ ساعت گذشته برابر -5 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 6.12% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 3.05% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 1 527 بازدید دریافت می‌کند. در اولین روز معمولاً 762 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 8 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند github, api, собеседование, git, docker تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 06 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

24 966
مشترکین
-524 ساعت
-437 روز
-15330 روز
آرشیو پست ها
🖥 Полезный совет по 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) и гарантировать его закрытие или освобождение. Это делает код чище и надёжнее.

🔥Прими участие в Хакатоне Т1 в Нижнем Новгороде и поборись за призовой фонд 600 000 рублей! 📅 Когда: 19 – 22 сентября 🌐 Фо
🔥Прими участие в Хакатоне Т1 в Нижнем Новгороде и поборись за призовой фонд 600 000 рублей! 📅 Когда: 19 – 22 сентября 🌐 Формат: онлайн + финал на площадке  Участвуй, если ты: 🔹студент тех/ИТ-направлений; 🔹развиваешься в dev, аналитике, дизайне, AI/DS/ML, DevOps; 🔹сможешь быть в Нижнем Новгороде 22-09. Выбери свой кейс: 🔸PingTower — сервис круглосуточного отслеживания доступности сайтов и мгновенных уведомлений о сбоях, позволяющий бизнесу не терять клиентов. 🔸HR Консультант — ИИ-консультант для карьерных сценариев и поиска талантов по умным фильтрам. Почему стоит участвовать: 🔻Кейс в портфолио и полезная обратная связь от менторов Т1; 🔻Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний; 🔻Реальный опыт командной работы. Регистрация открыта!   ➡️ Успей до 17 сентября по ссылке   Ты не из Нижнего Новгорода? Смотри расписание хакатонов в других городах.  #реклама О рекламодателе

⚡️ Библиотека EasyOCR для распознавания текста на картинках Поддерживает 80+ языков. Выдаёт результат в виде списка, каждый э
+1
⚡️ Библиотека EasyOCR для распознавания текста на картинках Поддерживает 80+ языков. Выдаёт результат в виде списка, каждый элемент которого представляет собой координаты ограничивающей рамки, обнаруженный текст и уровень уверенности модели. Установка: pip install easyocr 🟢Репозиторий

🔥 Полезный 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 от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире 11 сентября (уже в четверг!) в 19:00
🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире 11 сентября (уже в четверг!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика. Почему точно нужно прийти: 📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Савве Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. 🔍Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

🐍 Полезные фишки парсинга в 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 и даже “грязный” текст. Подойдут как для скриптов, так и для продакшн-кода. 👉 Сохрани, чтобы не забыть!

Repost from Machinelearning
+6
✔️ 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

🚀 PySentry — это сверхбыстрый сканер уязвимостей для Python-проектов, написанный на Rust, который справляется с аудитом зави
🚀 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: Скачивание нескольких файлов параллельно с помощью ThreadPoolExecutor Этот скрипт использует urllib.reque
🚀 Фишка на 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, собес) Задание > Сформируйте список функций 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 замыкания захватывают имена, а не значения. Привязывай нужное значение в момент создания функции — и подвох исчезнет.

Docker и Kubernetes: основы разработки под облачную инфраструктуру Курс для тех, кто хочет держать свой стэк и знания актуаль
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

🚀 Индивидуальный IPython в Docker: советы от Frank Wiles Хочешь, чтобы твоя IPython-среда в Docker была настроена под тебя,
🚀 Индивидуальный 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/ :contentReference[oaicite:0]{index=0}. 2. Настройка по вкусу: - В ipython_config.py можно задать стиль редактирования (например, `c.editing_mode = "vi"`). - Автоматически импортируй часто используемые библиотеки через c.InteractiveShellApp.exec_lines = [...] или скрипты в папке startup/, пронумерованные по порядку загрузки :contentReference[oaicite:1]{index=1}. 3. Предзагрузка данных для удобной работы: Например, при работе с Django можно автоматически загрузить dev-данные. Скрипт 20-load-devdata-assignment.py внутри startup/ пытается получить объект Assignment и связанные с ним данные, делая работу в IPython удобнее :contentReference[oaicite:2]{index=2}. 4. Собственный инструмент для рутины: Автор реализовал класс URLFinder, который извлекает UUID из строки URL, красиво их отображает с помощью библиотеки rich — и позволяет получить нужный UUID по индексу (`ids(0)`, ids(1) и т.п.) :contentReference[oaicite:3]{index=3}. Вывод: Настройка IPython в Docker — это просто, удобно и лично. И это не навязывает изменения команде. Даже маленький инструмент вроде URLFinder может существенно упростить рутину. Опубликовано 19 августа 2025 года автором Frank Wiles, основателем REVSYS и бывшим президентом Django Software Foundation . Если хочешь, могу добавить краткий пример docker-compose.yaml или показать фрагмент скрипта URLFinder — скажи! https://frankwiles.com/posts/customize-ipython-docker/ -

👨‍🔧 CoreNN — база данных для работы с векторами и эмбеддингами в масштабе миллиардов, с сублинейным временем отклика на обы
+2
👨‍🔧 CoreNN — база данных для работы с векторами и эмбеддингами в масштабе миллиардов, с сублинейным временем отклика на обычных серверах. 📌 Пример: поиск по 1 млрд эмбеддингов комментариев Reddit из индекса 4,8 ТБ на диске занимает всего 15 мс. 🔧 Ключевые особенности: - Работает на дешёвых SSD/flash-накопителях, а не в дорогой DRAM → в 40–100 раз дешевле. - Масштабирование: от 1 до 1 млрд векторов в одном индексе. - Upsert и delete оптимизируют локальный граф, освобождают место и сохраняют скорость — без полной перестройки. - Поддерживает параллельные запросы и обновления без блокировок. 🔗 https://github.com/wilsonzlin/CoreNN

🍭 Задача на 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

🔥Прими участие в Хакатоне Т1 в Нижнем Новгороде и поборись за призовой фонд 600 000 рублей! 📅 Когда: 19 – 22 сентября 🌐 Фо
🔥Прими участие в Хакатоне Т1 в Нижнем Новгороде и поборись за призовой фонд 600 000 рублей! 📅 Когда: 19 – 22 сентября 🌐 Формат: онлайн + финал на площадке  Участвуй, если ты: 🔹студент тех/ИТ-направлений; 🔹развиваешься в dev, аналитике, дизайне, AI/DS/ML, DevOps; 🔹сможешь быть в Нижнем Новгороде 22-09. Выбери свой кейс: 🔸PingTower — сервис круглосуточного отслеживания доступности сайтов и мгновенных уведомлений о сбоях, позволяющий бизнесу не терять клиентов. 🔸HR Консультант — ИИ-консультант для карьерных сценариев и поиска талантов по умным фильтрам. Почему стоит участвовать: 🔻Кейс в портфолио и полезная обратная связь от менторов Т1; 🔻Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний; 🔻Реальный опыт командной работы. Регистрация открыта!  ➡️ Успей до 17 сентября по ссылке. Ты не из Нижнего Новгорода? Смотри расписание хакатонов в других городах. #реклама О рекламодателе

🐍 Python + Ruff: сложность кода под контролем На скрине — функция validate_product, которая проходит несколько вложенных про
🐍 Python + Ruff: сложность кода под контролем На скрине — функция validate_product, которая проходит несколько вложенных проверок. Линтер Ruff с правилом C901 (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5. 📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки. ⚠️ Почему это важно: • Снижение читаемости • Рост вероятности багов • Трудности при тестировании 💡 Решение: 1. Разбить функцию на несколько маленьких с понятными именами 2. Использовать ранние выходы (`return`) вместо вложенных if 3. Упрощать логику с помощью вспомогательных функций или структур данных #Python #Ruff #CleanCode #Refactoring #McCabeComplexity

🔥 Самые сложные вопросы для интервью в 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: конфликт, лидерство, фейл, влияние на метрики. Удачи на интервью!

💼 Как подготовиться к любому собеседованию: гайд от нового сотрудника OpenAI Новый инженер OpenAI поделился опытом прохожден
💼 Как подготовиться к любому собеседованию: гайд от нового сотрудника 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. Принятие решения Выбирайте место, где вам будет комфортно работать каждый день. 📌 Главное: интервью — это навык, который можно натренировать. Подготовка + уверенность = высокий шанс успеха. 📌 Полный текст

🖥 Microsoft вопрос с собеседования по SQL Задача: найти топ-2 Power Users в Microsoft Teams — пользователей, которые отправи
🖥 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() аккуратно захватывает все «совместные» вторые места.