Channel: Python вопросы с собеседований
📥 Palanteer — инструмент для глубокого анализа производительности C++ и Python-приложений. Этот проект предлагает детальную телеметрию: от временных меток выполнения функций до отслеживания потребления памяти и переключений контекста.
Инструмент обладает минималистичной интеграцией: в C++ достаточно подключить один заголовочный файл, а Python-код анализируется автоматически. Визуализация в реальном времени включает временные графики, flame graphs и логи с наносекундным разрешением.
🤖 GitHub
Инструмент обладает минималистичной интеграцией: в C++ достаточно подключить один заголовочный файл, а Python-код анализируется автоматически. Визуализация в реальном времени включает временные графики, flame graphs и логи с наносекундным разрешением.
🤖 GitHub
🐍 Python-задача с подвохом: что напечатает код?
Варианты ответа:
1️⃣
2️⃣
3️⃣
4️⃣
---
💡 Подсказка:
Если вы используете изменяемый объект (например, список) как значение по умолчанию в аргументе функции — он сохраняется между вызовами.
---
✅ Ответ:
🔎 Почему?
👉 Значение по умолчанию
👉 Когда вызываем
👉 Когда вызываем
👉 Когда вызываем
Чтобы избежать этой ловушки:
🚀 Запомни: никогда не используй изменяемые объекты как значения по умолчанию для аргументов функции!
@python_job_interview
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
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: hottg.com/ai_machinelearning_big_data
Python: hottg.com/pythonl
Linux: hottg.com/linuxacademiya
Мл собес hottg.com/machinelearning_interview
C++ hottg.com/cpluspluc
Docker: hottg.com/DevopsDocker
Хакинг: hottg.com/linuxkalii
МЛ: hottg.com/machinelearning_ru
Devops: hottg.com/DevOPSitsec
Data Science: hottg.com/data_analysis_ml
Javascript: hottg.com/javascriptv
C#: hottg.com/csharp_ci
Java: hottg.com/java_library
Базы данных: hottg.com/sqlhub
Python собеседования: hottg.com/python_job_interview
Мобильная разработка: hottg.com/mobdevelop
Golang: hottg.com/Golang_google
React: hottg.com/react_tg
Rust: hottg.com/rust_code
ИИ: hottg.com/vistehno
PHP: hottg.com/phpshka
Android: hottg.com/android_its
Frontend: hottg.com/front
Big Data: hottg.com/bigdatai
МАТЕМАТИКА: hottg.com/data_math
Kubernets: hottg.com/kubernetc
Разработка игр: https://hottg.com/gamedev
Физика: hottg.com/fizmat
SQL: hottg.com/databases_tg
Папка Go разработчика: hottg.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: hottg.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://hottg.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://hottg.com/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: hottg.com/memes_prog
🇬🇧Английский: hottg.com/english_forprogrammers
🧠ИИ: hottg.com/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot
📕Ит-книги: https://hottg.com/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии hottg.com/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: hottg.com/ai_machinelearning_big_data
Python: hottg.com/pythonl
Linux: hottg.com/linuxacademiya
Мл собес hottg.com/machinelearning_interview
C++ hottg.com/cpluspluc
Docker: hottg.com/DevopsDocker
Хакинг: hottg.com/linuxkalii
МЛ: hottg.com/machinelearning_ru
Devops: hottg.com/DevOPSitsec
Data Science: hottg.com/data_analysis_ml
Javascript: hottg.com/javascriptv
C#: hottg.com/csharp_ci
Java: hottg.com/java_library
Базы данных: hottg.com/sqlhub
Python собеседования: hottg.com/python_job_interview
Мобильная разработка: hottg.com/mobdevelop
Golang: hottg.com/Golang_google
React: hottg.com/react_tg
Rust: hottg.com/rust_code
ИИ: hottg.com/vistehno
PHP: hottg.com/phpshka
Android: hottg.com/android_its
Frontend: hottg.com/front
Big Data: hottg.com/bigdatai
МАТЕМАТИКА: hottg.com/data_math
Kubernets: hottg.com/kubernetc
Разработка игр: https://hottg.com/gamedev
Физика: hottg.com/fizmat
SQL: hottg.com/databases_tg
Папка Go разработчика: hottg.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: hottg.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://hottg.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://hottg.com/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: hottg.com/memes_prog
🇬🇧Английский: hottg.com/english_forprogrammers
🧠ИИ: hottg.com/vistehno
📕Ит-книги: https://hottg.com/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии hottg.com/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🧠 Ускоряй Python циклы без NumPy — через встроенный `array.array`
Если ты используешь большие списки чисел в Python и работаешь с ними в цикле — знай: list медленный и неэффективный по памяти.
Есть способ ускорить операции в 2–5 раз без внешних библиотек — просто используй array точка array. Попробуй и напиши в комментах результат, на сколько ускорились твои функции.
@python_job_interview
Если ты используешь большие списки чисел в 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
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Подменяй любые импорты в 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()) # → "подмена работает"
HTML Embed Code: