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 вопросы с собеседований

⚡️ Почему лучшие разработчики всегда на шаг впереди?

Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.

ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Базы данных: t.me/sqlhub
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg

Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🖥 Chatgpt для кода в тг: @Chatgpturbobot -

📕Ит-книги: /channel/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi

Подпишись, чтобы всегда знать, куда двигаться дальше!

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

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

🧩 Задача:


funcs = []

for i in range(3):
def f():
return i
funcs.append(f)

results = [func() for func in funcs]
print(results)


❓ Что будет выведено?

Многие ожидают:



[0, 1, 2]


Но Python выведет:


[2, 2, 2]

🧠 Почему так?
В Python функции не копируют значения переменных, а запоминают ссылки на них.

Когда f() вызывается, она смотрит, чему равен i на момент вызова, а не на момент создания функции.

Переменная i в цикле после завершения становится равной 2 — и все три функции ссылаются на одну и ту же переменную i.

✅ Как это исправить?
Нужно «захватить» текущее значение i в локальной области видимости через аргумент по умолчанию:


funcs = []

for i in range(3):
def f(i=i):
return i
funcs.append(f)

results = [func() for func in funcs]
print(results) # [0, 1, 2]

🧠 Чему это учит:
Как работают замыкания и области видимости в Python.

Почему важно понимать, когда значения «захватываются», а когда — «ссылаются».

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

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

🍀 Большая шпаргалка по всем основам Python для подготовки к собеседованию

@python_job_interview

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

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

📦 Pydantic Extra Types — коллекция дополнительных типов данных для Pydantic, которые не вошли в основную библиотеку. Проект расширяет возможности валидации данных, предлагая специфические форматы и проверки.

Типы подключаются как опциональные зависимости, позволяя выбирать только нужные компоненты. Например, можно добавить поддержку pendulum для работы с временными зонами.

🤖 GitHub

@python_job_interview

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

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

🧠 Хитрая задача по Python — *ловушка с изменяемыми значениями по умолчанию*

Вопрос:
Что выведет следующий код?


def append_to_list(value, my_list=[]):
my_list.append(value)
return my_list

print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))


Ваш ответ? 🤔

Многие ожидают:


[1]
[2]
[3]


Но фактически вывод будет:

python 
[1]
[1, 2]
[1, 2, 3]


🔍 Почему так происходит?

Параметр my_list=[] создаётся один раз — при определении функции. И он сохраняется между вызовами. То есть все вызовы функции используют один и тот же список по умолчанию.

Это одна из самых частых ошибок в продакшене.

✅ Правильный способ — использовать None как значение по умолчанию:



def append_to_list(value, my_list=None):
if my_list is None:
my_list = []
my_list.append(value)
return my_list

Теперь:


[1]
[2]
[3]

Каждый вызов получает новый список.

⚠️ Если вы работаете с функциями, которые принимают списки или словари — всегда проверяйте, не мутируется ли значение между вызовами.

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

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

👾 GREMLLM — теперь у ваших багов есть сознание

GREMLLM — это необычный Python-класс, в котором все методы и свойства создаются динамически с помощью LLM. Вы описываете, *что за объект вы хотите*, и дальше GREMLLM сам решает, что должно происходить при вызове методов или обращении к полям.

📦 Установка:


pip install gremllm


🔧 Пример:



from gremllm import Gremllm

counter = Gremllm('counter')
counter.value = 5
counter.increment()
print(counter.value) # → 6?
print(counter.to_roman_numerals()) # → VI?


🧩 Возможности:
– Динамическое поведение: всё определяется "на лету" с помощью LLM
– Поддержка OpenAI, Claude, Gemini, и локальных моделей
– Wet Mode: можно строить цепочки вызовов (методы возвращают объекты)
– Verbose Mode: выводит, какой код был сгенерирован
– Умная обработка ошибок и настройка через наследование

⚠️ Это экспериментальный инструмент. Не для продакшена. Но очень интересен для изучения LLM-интеграций в Python-код.

🔗 Репозиторий: https://github.com/ur-whitelab/gremllm

@pythonl

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

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

🔥 Google DeepMind представили новую open-source библиотеку на Python для сборки асинхронных AI‑пайплайнов в реальном времени!

Новая библиотека позволяет собирать AI-процессы из компонентов — как LEGO для ИИ-агентов.

🔧 Особенности:
- Построение асинхронных, компонуемых пайплайнов
- Поддержка Gemini и Gemini Live API
- Основана на asyncio
- Обрабатывает мультимодальные данные: текст, изображения, аудио
- Внутри готовые агенты: real-time агент, исследователь, live-комментатор

💡 Подходит для:
- Разработки ИИ-агентов
- Генеративных моделей, работающих в реальном времени
- Быстрой сборки MVP с мультимодальными возможностями

Установка:


pip install genai-processors


Открытый код, готовые компоненты и интеграция с API.

• Repo: https://github.com/google-gemini/genai-processors
• Blog: https://developers.googleblog.com/en/genai-processors/

@ai_machinelearning_big_data


#DeepMind #ai #ml

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

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

📌 Сложная задача для собеседования на Python: «Асинхронный кэш с TTL и инвалидацией».

Условие:
Реализуйте потокобезопасный асинхронный кэш с временем жизни записей, поддержкой инвалидации по ключу и автоматическим удалением устаревших записей. Кэш должен:
1️⃣ Хранить значения не дольше указанного TTL (seconds)
2️⃣ Автоматически очищать устаревшие записи без блокировки основного потока
3️⃣ Поддерживать асинхронные операции get/set
4️⃣ Иметь механизм ручной инвалидации
5️⃣ Гарантировать потокобезопасность
6️⃣ Оптимизировать память

Ожидаемое решение:

import asyncio
import time
from collections import OrderedDict
from typing import Any, Optional
import threading

class AsyncTTLCache:
def __init__(self, maxsize: int = 1024, ttl: int = 60):
self._cache = OrderedDict()
self._maxsize = maxsize
self._ttl = ttl
self._lock = threading.Lock()
self._cleanup_task = asyncio.create_task(self._cleanup_expired())

async def get(self, key: str) -> Optional[Any]:
with self._lock:
if key not in self._cache:
return None
value, expiry = self._cache[key]
if time.time() > expiry:
del self._cache[key]
return None
# Move to end to mark as recently used
self._cache.move_to_end(key)
return value

async def set(self, key: str, value: Any) -> None:
with self._lock:
if key in self._cache:
self._cache.move_to_end(key)
self._cache[key] = (value, time.time() + self._ttl)
if len(self._cache) > self._maxsize:
self._cache.popitem(last=False)

async def invalidate(self, key: str) -> None:
with self._lock:
if key in self._cache:
del self._cache[key]

async def _cleanup_expired(self) -> None:
while True:
await asyncio.sleep(self._ttl)
with self._lock:
now = time.time()
expired_keys = [
k for k, (_, expiry) in self._cache.items()
if expiry <= now
]
for k in expired_keys:
del self._cache[k]

def __del__(self):
self._cleanup_task.cancel()


# Пример использования
async def main():
cache = AsyncTTLCache(ttl=2)

await cache.set("a", 1)
print(await cache.get("a")) # 1

await asyncio.sleep(3)
print(await cache.get("a")) # None

await cache.set("b", 2)
await cache.invalidate("b")
print(await cache.get("b")) # None

asyncio.run(main())

Предлагайте свои варианты решения в комментариях⏬️

@python_job_interview

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

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

🎙️ pytest-recording — плагин для записи и воспроизведения HTTP-запросов в тестах. Полезный инструмент для Python-разработчиков, который помогает сделать тесты, зависящие от внешних API, более стабильными и быстрыми. Плагин использует VCR.py под капотом, позволяя записывать реальные HTTP-взаимодействия в YAML-кассеты и затем воспроизводить их локально.

Инструмент имеет удобный режим rewrite, который полностью перезаписывает кассеты, а не просто дополняет их. Также есть встроенная блокировка случайных сетевых запросов во время тестирования.

🤖 GitHub

@python_job_interview

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

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

🧠 Ускоряй Python циклы без NumPy — через встроенный `array.array`

Если ты используешь большие списки чисел в Python и работаешь с ними в цикле — знай: list медленный и неэффективный по памяти.

Есть способ ускорить операции в 2–5 раз без внешних библиотек — просто используй array точка array. Попробуй и напиши в комментах результат, на сколько ускорились твои функции.

from array import array

data = array('f', [0.1] * 10_000_000) # вместо обычного list

# быстрая арифметика
for i in range(len(data)):
data[i] *= 2.5


@python_job_interview

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

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

🐍 Python-задача с подвохом: что напечатает код?


def extend_list(val, lst=[]):
lst.append(val)
return lst

list1 = extend_list(10)
list2 = extend_list(123, [])
list3 = extend_list('a')

print("list1 =", list1)
print("list2 =", list2)
print("list3 =", list3)


Варианты ответа:
1️⃣ list1 = [10], list2 = [123], list3 = ['a']
2️⃣ list1 = [10], list2 = [123], list3 = [10, 'a']
3️⃣ list1 = [10, 'a'], list2 = [123], list3 = [10, 'a']
4️⃣ list1 = [10, 'a'], list2 = [123], list3 = ['a']

---

💡 Подсказка:
Если вы используете изменяемый объект (например, список) как значение по умолчанию в аргументе функции — он сохраняется между вызовами.

---

✅ Ответ:
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']

🔎 Почему?
👉 Значение по умолчанию lst=[] создаётся один раз — при определении функции.
👉 Когда вызываем extend_list(10), значение 10 добавляется в этот общий список.
👉 Когда вызываем extend_list(123, []), передаём новый список, всё ок.
👉 Когда вызываем extend_list('a'), снова используется общий список из первого вызова.

Чтобы избежать этой ловушки:


def extend_list(val, lst=None):
if lst is None:
lst = []
lst.append(val)
return lst


🚀 Запомни: никогда не используй изменяемые объекты как значения по умолчанию для аргументов функции!

@python_job_interview

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

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

🖥 Хитрый способ изменить поведение цикла for — без изменения самого цикла

Можно ли сделать так, чтобы весь Python-код, использующий for x in ..., внезапно начал вести себя иначе — без изменения самого цикла?

Ответ: да, если переопределить поведение итератора. На экране показа — трюк, где обычный список «врет» в цикле и выдает неожиданные значения.

Трюк можно использовать и с dict, set и кастомными генераторами. Особенно удобно в юнит-тестах или визуализациях.


class FakeList(list):
def __iter__(self):
return iter(["test", "mock", "override"])

data = FakeList([1, 2, 3])
for x in data:
print(x) # выведет: test, mock, override


https://youtube.com/shorts/QhZtRx1ukoc?feature=share

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

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

Python — это фундамент, на котором можно построить карьеру в аналитике данных.

Современные компании все чаще ищут специалистов, способных не просто писать код, но и извлекать из данных полезные для бизнеса инсайты. И если вы уже владеете Python, у вас есть серьезная фора перед другими кандидатами.

3 июля в 19:00 (мск) Анастасия Зеленова, team lead аналитики в Raiffeisen CIB, расскажет, кто такие аналитики и какие навыки и инструменты необходимы для работы, а также покажет повседневные задачи аналитика на реальных примерах.

Присоединяйтесь к бесплатному онлайн-вебинару: https://clc.to/erid_2W5zFHErDXE 

Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFHErDXE

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

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

🖥 Как написать худший возможный Python-код

Иногда проще показать, как не надо, чем объяснять, как надо.
Вот список «правил», которые помогут вам гарантированно испортить любой Python-проект.

1. 🔒 Используйте непонятные имена переменных
Называйте переменные x, y, a, thing. Абстракция — залог путаницы.


def f(x, y, z=None):
a = x * 2
b = y + a if z else y - a
c = [i for i in range(a) if i % 2]
return sum(c) + b

2.🧠 Пихайте максимум логики в одну строку
Сложные тернарные выражения и вложенные list comprehension — всё в одной строке.


result = [x if x > 0 else (y if y < 0 else z) for x in data if x or y and not z]

3.⚠️ Используйте eval() и exec()
Это медленно, небезопасно и глупо — но зато эффектно.


eval("d['" + key + "']")


4.🔁 Переиспользуйте переменные с разными типами
Пусть одна переменная будет и строкой, и числом, и списком — динамическая типизация же!


value = "42"
value = int(value)
value = [value] * value

5.🌍 Используйте глобальные переменные
Изменяйте состояние приложения откуда угодно. Особенно изнутри функций.


counter = 0

def increment():
global counter
counter += 1

6.🔮 Используйте магические числа и строки
Без пояснений. Пусть коллеги гадают, почему именно 42 или "xyz".


if user.role == "xyz" and user.level > 42:
access_granted()

7.📏 Игнорируйте стиль и отступы
Никаких PEP8, никаких правил. Пиши, как хочешь.


def foo():print("start")
if True:
print("yes")
else:
print("no")

8.🧱 Копируйте код из Stack Overflow, не вникая
Ctrl+C — это тоже разработка.


def complex_logic(x):
return (lambda y: (lambda z: z**2)(y + 1))(x)

9.🧩 Придумывайте абстракции без надобности
Вместо простой функции — классы, фабрики и стратегии.


class HandlerFactory:
def get_handler(self):
class Handler:
def handle(self, x): return x
return Handler()


10. 💤 Добавляйте мёртвый код
Никогда не удаляй — вдруг пригодится. И пусть он грузится в каждый запуск.


def legacy_feature():
print("This feature is deprecated")
return
# нигде не вызывается


11.🔀 Не пишите документацию
Комментарии только мешают. Кто захочет — разберётся.


def a(x): return x+1


12.🧪 Пиши без тестов
Если код работает — зачем его проверять?


# Просто запускай и смотри глазами
process_user(data)


13. 🤖 Не используй AI и автодополнение
Только ручной кодинг, без подсказок. Ошибки — путь мастера.

🧠 Заключение

Все эти советы — примеры того, как не стоит писать код.
Если вы узнали себя — пора остановиться. Ведь Python задуман как язык, где важна читаемость, простота и явность.

"Beautiful is better than ugly.
Explicit is better than implicit.
Readability counts."
— The Zen of Python

@pythonl

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

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

🐍 Python-совет: используй `functools.lru_cache` для ускорения "дорогих" функций

Если у тебя есть функция, результат которой зависит только от входных данных, — кешируй её! Это может ускорить программы в 10–1000 раз, особенно при рекурсии или повторяющихся запросах.

🔧 Пример:


from functools import lru_cache

@lru_cache(maxsize=128)
def fib(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)

print(fib(100))


📌 Что делает lru_cache:
• сохраняет результаты вызова функции
• повторные вызовы с теми же аргументами → мгновенный возврат
• maxsize ограничивает объём кэша (по принципу LRU — least recently used)

🔥 Без кеша fib(100) занимает минуты
⚡ С кешем — менее 1 секунды

🛠️ Применимо к:
• рекурсивным вычислениям
• функциям, вызывающим API
• любым дорогим операциям с неизменяемыми аргументами

🧠 Вывод: @lru_cache — это одна строка, которая превращает тяжёлую функцию в реактивную. Идеально для оптимизации без изменения логики.

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

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

⚡️ Прокачивайся через практику: лучшие ресурсы для пет-проектов

Хочешь расти как разработчик — пиши код, а не только читай!

Вот 4 крутых ресурса, где ты будешь учиться через реальные задачи:

App Ideas
Список проектов от джуна до про: калькуляторы, трекеры, приложения. Есть примеры и полезные ссылки.
👉 github.com/florinpop17/app-ideas

Build Your Own X
Хочешь создать свой Git, Redis, Docker или даже ОС? Тут есть всё: гайды, туториалы и код на разных языках.
👉 github.com/codecrafters-io/build-your-own-x

Project-Based Learning
Обучение в формате "берёшь проект — делаешь". Примеры с пошаговыми инструкциями для разных языков.
👉 github.com/practical-tutorials/project-based-learning

Frontend Mentor
Получаешь макет — верстаешь сам. Отлично тренирует HTML/CSS/JS. Идеально для портфолио.
👉 frontendmentor.io

Пиши код, а не резюме. Эти ресурсы реально двигают вперёд.

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

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

🧪 Pytest-BDD — фреймворк для Behavior Driven Development на Python. Инструмент позволяет писать тесты в формате Gherkin, используя привычный pytest. Он обладает возможность комбинировать BDD-сценарии с обычными pytest-тестами и фикстурами, что упрощает переход от unit-к интеграционным тестам.

Проект поддерживает параметризацию сценариев, различные парсеры аргументов и интеграцию с другими pytest-плагинами. Подходит для проектов, где важно совмещать технические и бизнес-требования в тестах.

🤖 GitHub

@python_job_interview

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

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

🚀 Изучаем Python с нуля до уверенного уровня за 3 месяца — нашли лучший репозиторий для новичков.

📚 Что внутри:
• Чёткая структура по темам — от синтаксиса до ООП, без воды
• Сотни понятных примеров — меняй под себя и учись на практике
• Всё объяснено простым языком — даже если ты никогда не кодил
• Удобный формат Jupyter Notebook — легко читать и запускать
• И главное — абсолютно бесплатно

Начни разбираться в Python уже сегодня:
🔗 github.com/AllenDowney/ThinkPython

@python_job_interview

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

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

🚀 Как оптимизировать Python‑код уже на старте — советы для новичков

Не нужно быть профи, чтобы писать быстрый и аккуратный код. Вот 7 простых приёмов, которые реально помогают:

1. Используй профайлеры (cProfile, Py‑Spy)
Перед оптимизацией — измерь время. Часто больше всего тормозят совсем неожиданные места.

2. Перестрой алгоритмы и структуры данных
Выбор между списком, множеством или словарём может кардинально изменить сложность: O(1) вместо O(n) при поиске.

3. Выбирай встроенные функции
map, max, join — всё это написано на C и работает быстрее ручных циклов.

4. Пиши list/dict comprehensions и используй zip, enumerate
Это компактнее, читабельнее и часто быстрее классических for-циклов.

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

6. Переход на PyPy или JIT‑ускорители
PyPy, Numba и Cython могут дать прирост производительности в 2–100 раз для тяжёлых вычислений.

7. Избегай преждевременной оптимизации
Оптимизируй только то, что реально тормозит. Профайлер покажет, где именно.

🧩 Быстрый чек-лист:

• Измерил ли я время выполнения?
• Подходящие ли структуры данных?
• Используются ли встроенные функции?
• Применены ли comprehensions и генераторы?
• Рассматривал ли я PyPy или JIT?
• Код по-прежнему читаемый?

✅ Вывод: даже новичок может писать быстрый и понятный Python-код. Главное — думать, замерять и улучшать без фанатизма.

▶️ Подробности с кодом

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

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

🧠 Ускорь import в Python-проектах с помощью lazy loading — без изменения логики

Если у тебя проект с тяжёлыми модулями (`pandas`, torch, tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib.

Вот как это выглядит на практике:



import importlib

# Обёртка для ленивого импорта
def lazy_import(name):
return importlib.util.LazyLoader(importlib.import_module(name))

# Использование
np = lazy_import('numpy')
# numpy ещё не загружен

# Теперь загрузится:
print(np.array([1, 2, 3]))

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

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

🐍 Совет дня для опытных Python-разработчиков

📌 Используй декораторы с параметрами — мощный приём для логирования, контроля, кэширования и кастомных проверок.

Пример: логгер, у которого можно задать уровень логирования через аргумент:


import functools
import logging

def log(level=logging.INFO):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
logging.log(level, f"Вызов {func.__name__} с args={args}, kwargs={kwargs}")
return func(*args, **kwargs)
return wrapper
return decorator

@log(logging.DEBUG)
def compute(x, y):
return x + y


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

Декоратор гибко настраивается;

Подходит для трассировки в проде и отладки в деве;

Сохраняет сигнатуру и docstring благодаря @functools.wraps.

⚠️ Совет: избегай вложенности >2 уровней и всегда пиши тесты на поведение декоратора.

Python даёт инструменты, которые выглядят магией, но работают стабильно — если знаешь, как ими пользоваться.

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

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

🎙️ pytest-recording — плагин для записи и воспроизведения HTTP-запросов в тестах Инструмент использует VCR.py под капотом, чтобы сохранять сетевые взаимодействия в YAML-кассеты и переиспользовать их при последующих запусках. Достаточно добавить @pytest.mark.vcr к тесту и все запросы автоматически запишутся или возьмутся из кэша.

Особенно удобно для тестирования API, можно блокировать случайные сетевые вызовы через @pytest.mark.block_network и точечно разрешать только нужные хосты. Поддерживается тонкая настройка через vcr_config и работа в режиме перезаписи кассет.

🤖 GitHub

@python_job_interview

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

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

🔍Открытое собеседование на Python-бекендера с разработчиком из Avito и Яндекс в четверг

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

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

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

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

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxjiWL7

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

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

⚙️ Подменяй любые импорты в Python “на лету” — без изменения кода

Если ты хочешь протестировать модуль, подменить зависимость, замокать внешний сервис или обмануть импорт — не обязательно редактировать исходники. Python позволяет перехватывать импорты прямо во время выполнения, через sys.modules.

Вот минимальный приём, который делает это прозрачно:


import sys
import types

# Создаём фейковый модуль
fake = types.SimpleNamespace()
fake.get_data = lambda: "подмена работает"

# Подменяем импорт
sys.modules['external_service'] = fake

# Теперь даже import будет работать
import external_service
print(external_service.get_data()) # → "подмена работает"

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

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

⚡️ Почему лучшие разработчики всегда на шаг впереди?

Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.

ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg

Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🖥 Chatgpt для кода в тг: @Chatgpturbobot

📕Ит-книги: /channel/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi

Подпишись, чтобы всегда знать, куда двигаться дальше!

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

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

📥 Palanteer — инструмент для глубокого анализа производительности C++ и Python-приложений. Этот проект предлагает детальную телеметрию: от временных меток выполнения функций до отслеживания потребления памяти и переключений контекста.

Инструмент обладает минималистичной интеграцией: в C++ достаточно подключить один заголовочный файл, а Python-код анализируется автоматически. Визуализация в реальном времени включает временные графики, flame graphs и логи с наносекундным разрешением.

🤖 GitHub

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

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

🔦 VulnHuntr — ИИ-детектор уязвимостей в Python-коде. Этот инструмент от ProtectAI использует LLM для поиска сложных цепочек уязвимостей, которые традиционные статические анализаторы часто пропускают.

Инструмент анализирует полный путь от пользовательского ввода до опасных операций, выявляя даже многошаговые эксплойты вроде RCE или SSRF. Работает через поэтапный анализ: сначала LLM изучает README, затем исследует код с наращиванием контекста, и наконец формирует отчёт с PoC-эксплойтом и оценкой уверенности.

🤖 GitHub

@python_job_interview

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

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

🔍 SQLAlchemy-Filters — удобный инструмент для динамической фильтрации, сортировки и пагинации SQLAlchemy-запросов. Этот проект особенно полезен при разработке REST API, где клиенту нужно гибко управлять выборкой данных.

Библиотека поддерживает сложные условия фильтрации, автоматические джойны связанных моделей и работу с гибридными свойствами. Фильтры задаются простыми словарями, что упрощает интеграцию с фронтендом.

🤖 GitHub

@python_job_interview

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

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

🖥 Теперь официально Google выпустили Gemini CLI - AI-агента для работы прямо в терминале

• Лёгкий и мощный инструмент для разработки в командной строке
• Работает на базе Gemini 2.5 Pro
• Код агента в открытом доступе (Apache 2.0)
• Поддержка контекста в 1 миллион токенов
• Бесплатный тариф: до 60 запросов в минуту и 1000 в день
• Привязка к Google Search
• Поддержка плагинов и скриптов
• Интеграция с VS Code (Gemini Code Assist)

Запуск в cli: npx https://github.com/google-gemini/gemini-cli

🔜 Анонс: https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/
🔜 Github: https://github.com/google-gemini/gemini-cli/

@ai_machinelearning_big_data

#AI #ML #agent #Google

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

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

🧐ИИ — помощник или угроза тестировщикам?

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

Кто прав? И можно ли вообще доверять искусственному интеллекту автоматизацию тестов?

Честно поговорим о том, где ИИ реально помогает, а где — только мешает и плодит баги на открытом вебинаре "Риски и преимущества использования ИИ в тестировании " 17 июня в 19:00.

Что будет:

💻Реальные кейсы: как ИИ помогает автоматизировать тестирование (и когда мешает)
💻Как выбрать нужный инструмент и не профакапить проект
💻Почему ИИ не заменит тестировщика (если вы не будете халтурить)
💻Как подружить Python + Docker + ChatGPT в CI/CD
💻Что делегируют ИИ ведущие инженеры уже сейчас

Спикеры:

👨‍💻Павел Балахонов, QA Automation Lead в VK Tech (15+ лет опыта, CI/CD, Docker, автоматизация)
👨‍💻Викентий Лапа, тестировщик Whamcloud (Linux, кластерные файловые системы, Python)

🎁Подарки участникам:
Чек-лист по автоматизации на Python
Мини-гайд по Docker CLI
Скидка 7% на курсы OTUS
17 июня, 19:00 МСК - бесплатно.

Запишись, пока это за тебя не сделал ИИ - https://tglink.io/91c136fc6b6f


Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFGMCkac

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