ar
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، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -153، وفي آخر 24 ساعة بمقدار -5، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 6.12‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 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() аккуратно захватывает все «совместные» вторые места.