Python вопросы с собеседований
24.9K subscribers
733 photos
98 videos
17 files
599 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
Download Telegram
🌦 Linecast — погода, карты, радар, приливы, Солнце и Луна прямо в терминале

Open-source CLI превращает публичные данные в шесть интерактивных приложений:

- linecast weather — погода, почасовой прогноз, AQI и предупреждения
- linecast sunshine — восход, закат и длина дня
- linecast moon — фазы Луны, восход/заход и календарь
- linecast tides — график приливов и отливов
- linecast radar — анимированный радар и спутниковые данные
- linecast maps — карты, рельеф, поиск мест и маршруты

Работает на macOS, Linux и Windows. Написан на Python, почти без зависимостей, не требует аккаунта или API-ключей и подстраивает цвета под тему терминала.

Можно даже запустить без установки:

uvx linecast weather

GitHub:
https://github.com/ashuttl/linecast
4🔥2👍1💋1
🐍 Как правильно использовать Lock в Python multiprocessing

Если несколько процессов одновременно пишут в общий ресурс — файл, stdout, shared memory — вывод или данные могут перемешиваться.

Для этого есть multiprocessing.Lock:


from multiprocessing import Process, Lock

def printer(item, lock):
with lock:
print(item)

if __name__ == "__main__":
lock = Lock()

for item in ["tango", "foxtrot", 10]:
Process(target=printer, args=(item, lock)).start()


Lock гарантирует, что критическую секцию в конкретный момент выполняет только один процесс.

Вместо ручных:

lock.acquire() → try/finally → lock.release()

обычно удобнее использовать:

with lock:

Особенно полезно при работе с файлами, логами и общими структурами данных между процессами.
🔥52👍2
🔥 Хочешь расти в IT быстрее остальных? Перестань учиться в одиночку

Можно годами смотреть курсы, читать документацию и всё равно топтаться на месте.

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

Я собрал папки и каналы по разным направлениям IT, чтобы ты быстрее находил нужных людей, идеи и полезный контент - без бесконечного поиска.

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подпишись и сохрани, здесь регулярно появляются новые подборки, инструменты и материалы, которые реально помогают расти быстрее.
3👍2🔥2
🐍 Python: type(x) == str или isinstance(x, str)?

На первый взгляд разницы почти нет. Но она есть.

type(x) == str проверяет только точное совпадение типа.

isinstance(x, str) учитывает ещё и наследников str.

Пример:


class MyString(str):
pass

x = MyString("hello")

print(type(x) == str) # False
print(isinstance(x, str)) # True


Поэтому в большинстве случаев лучше использовать:

isinstance(x, str)

Так код получается гибче и лучше работает с наследованием.

#Python #Programming #BestPractices
👍8😱21🔥1
🔥 Один из лучших обучающих курсов на StepiK по SQL

SQL можно знать годами и всё равно теряться, когда запрос внезапно начинает тормозить в проде.

Этот курс про уровень, где ты не просто пишешь SELECT, а понимаешь, что происходит внутри MySQL, почему запрос работает медленно и как ускорить его без новых проблем. Здесь разбираются EXPLAIN, индексы, CTE, оконные функции, транзакции, аналитические паттерны, legacy SQL и работа с AI-ассистентами.

Каждый урок - с практикой и реальными SQL-задачами на MySQL 8 с автопроверкой.

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

Для подписчиков скидка - 49% в течение 2 суток: https://stepik.org/a/298827/
2👍1🔥1
🐍 Python: как найти изменённое поле во вложенном словаре

Сравнение before == after покажет, равны ли объекты. DeepDiff покажет, где именно они отличаются, включая старое и новое значения.


from deepdiff import DeepDiff

before = {"user": {"name": "Egor", "level": 3}}
after = {"user": {"name": "Egor", "level": 4}}

print(DeepDiff(before, after))


Результат:


{
"values_changed": {
"root['user']['level']": {
"old_value": 3,
"new_value": 4
}
}
}


Библиотека находит изменения значений и типов, добавленные и удалённые элементы. Работает со вложенными словарями, списками и другими объектами.

Полезно для сравнения ответов API, конфигураций и результатов обработки данных. Можно исключать отдельные поля через exclude_paths и игнорировать порядок элементов через ignore_order=True.

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

Документация - https://zepworks.com/deepdiff/current/
👍7
📚 Бесплатная книга по математике для Computer Science и Machine Learning - более 2200 страниц

Жан Галлье и Джоселин Куэйнтанс собрали в одном учебнике алгебру, топологию, дифференциальное исчисление и теорию оптимизации.

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

https://www.cis.upenn.edu/~jean/gbooks/geomath.html
👍2
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ QuiverAI выпустила обновление генератора векторной графики

Во второе поколение семейства вошли две модели - Arrow 2 и флагманская Arrow 2 Telos.

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

🟡Сценарии применения

🟢серии иллюстраций в одном стиле по образцу с сохранением палитры и пластики форм;

🟢схемы с выделением нужных элементов;

🟢технические чертежи с удержанием консистентности;

🟢векторизация растровых эскизов в редактируемый SVG;

🟢анимация интерфейсной моторики и плоская структурированная графика (раскрытие логотипов, состояния загрузки, анимированные иконки).

Telos добавляет доработку возможностями топовых языковых моделей.

QuiverAI советует брать Arrow 2, когда важны скорость и цена за одно изображение, а Telos - под сложные брифы.


🟡Стоимость

Разделения моделей по тарифам в описании планов нет. Предлагаются подписки Go (8 долларов в месяц), Basic (20), Pro (40), плюс корпоративный план по запросу.

Для Go есть 14-дневный пробный доступ с привязкой карты. В тарифы входит недельная квота, которая обнуляется по понедельникам и не переносится, перерасход списывается с баланса.

API тарифицируется отдельно и тоже требует предоплаты.


@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
3
✔️ Кто подключился к вашей сети? NetAlertX обнаруживает устройства и уведомляет об изменениях.

Открытый инструмент для домашней лаборатории, офиса или нескольких филиалов. Собирает сведения об устройствах в одном веб-интерфейсе и помогает заметить неизвестное оборудование.

Что умеет:

Обнаруживать устройства через ARP-сканирование, DHCP, Pi-hole, UniFi и SNMP.
— Отслеживать подключения, отключения и изменения IP-адресов.
Отправлять уведомления в Telegram через Apprise, а также в ntfy, Pushover и другие сервисы.
— Объединять данные из разных VLAN и удалённых сетей через распределённые узлы Sync Nodes.
— Передавать события в Home Assistant, запускать автоматизации через вебхуки и экспортировать метрики в Prometheus.

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

https://github.com/netalertx/NetAlertX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
Как правильно получить случайное число в Python

Если нужен диапазон от 1 до 100 включительно, используйте:


import random

x = random.randint(1, 100)


Можно импортировать функцию напрямую:


from random import randint

x = randint(1, 100)


Второй вариант просто короче, но не делает код «профессиональнее».

int(random.random() * 100) возвращает числа от 0 до 99, поэтому пример на изображении даёт другой диапазон.

Для паролей, токенов и других задач безопасности используйте secrets:


import secrets

x = secrets.randbelow(100) + 1
👍52😁1