Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 582новые вакансии за сутки·92 562вакансии открыты сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 220
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 402 кандидата открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 105
  • Облачные технологии14 068
  • QA вакансии3 460
  • Backend вакансии2 098
  • Инженер данных1 796
  • Продакт-менеджер1 248

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии979
  • AI вакансии951
  • Frontend вакансии742
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 544
  • Node.js2 018
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP683
  • C++571

DevOps и инфраструктура

  • Kubernetes7 761
  • DevOps вакансии6 057
  • Linux-инфраструктура5 492
  • Terraform / IaC4 259
  • CI/CD3 240
  • Мониторинг и Observability1 782
  • SRE565
  • Кибербезопасность450

Аналитика и данные

  • Data Scientist1 127
  • Бизнес-аналитик925
  • Аналитик данных845
  • Системный аналитик154

Другие направления

  • Проджект-менеджер611
  • UI/UX дизайн145
  • Ручное тестирование14

По регионам

  • Вакансии в США43 686
  • Вакансии в Европе23 668
  • Вакансии в Канаде4 413
  • Работа в России3 909

По формату

  • Удалённые вакансии73 889
  • Релокация в США43 686
  • Гибридная работа12 392
  • Офисная работа7 088

По уровню

  • Senior вакансии42 236
  • Middle вакансии20 545
  • Junior вакансии6 653

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab138 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме PythonВсе вопросы
PythonJuniorТеория

Чем set отличается от frozenset? Почему set нельзя положить внутрь другого set?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

set изменяемый и не hashable, frozenset неизменяемый и hashable. Положить set в set нельзя: hash-таблица требует стабильный hash, а у изменяемого set его быть не может.

Пример

s = {1, 2, 3}
s.add(4)

fs = frozenset({1, 2, 3})
# fs.add(4)  # AttributeError: 'frozenset' object has no attribute 'add'

groups = {frozenset({"py", "sql"}), frozenset({"go"})}
print(frozenset({"sql", "py"}) in groups)  # True

index = {frozenset({1, 2}): "pair"}
print(index[frozenset({2, 1})])  # 'pair'

try:
    {{1, 2}}
except TypeError as exc:
    print(exc)  # unhashable type: 'set'

Различия set и frozenset

set — изменяемое множество уникальных hashable-элементов. Поддерживает add(), remove(), discard(), update(), pop(), операции |, &, -, ^ с присваиванием (|= и т.п.). Сам set не hashable: вызов hash(s) приведёт к TypeError: unhashable type: 'set'.

frozenset — неизменяемая версия. Те же операции чтения и неизменяемые версии бинарных операций (union, intersection, difference, symmetric_difference), но без add/remove. Объект имеет стабильный __hash__, поэтому может быть ключом dict или элементом другого set/frozenset.

Почему set нельзя вложить в set

Внутри CPython множество — это open-addressing hash-таблица (см. Objects/setobject.c). При вставке элемента вызывается PyObject_Hash. Если бы элементом был обычный set, его hash зависел бы от содержимого, а содержимое можно менять через add. Тогда после первой вставки последующий in-поиск мог бы попасть в другой бакет и не найти существующий элемент. Поэтому язык запрещает hashing для mutable-контейнеров, а frozenset разрешает.

Когда что выбирать

  • set — накопитель уникальных значений, дедупликация в пайплайне, кэш посещённых id.
  • frozenset — ключ словаря, элемент другого множества, защищённый snapshot прав/ролей, ключ в functools.lru_cache.

Подводные камни

  • Считать frozenset упорядоченным: итерация идёт в хэш-порядке, не в порядке вставки.
  • Класть в frozenset mutable-элементы (list, dict): TypeError ещё на этапе создания.
  • Сериализация: при JSON-дампе и set, и frozenset требуют преобразования в list.
  • Сравнение по identity (is) вместо равенства (==): два frozenset с одинаковым содержимым обычно разные объекты.
  • Полагаться на dict в качестве элемента: frozenset({{"a": 1}}) упадёт — словарь не hashable.
  • Изменять элементы frozenset через ссылки на сами объекты (если положили tuple с mutable-полем — снова TypeError или нестабильный hash).

Частые вопросы на собеседовании

  • Что такое truthy и falsy значения в Python?
  • Когда использовать threading?
  • Что такое type hints и зачем они нужны?
  • Как работает yield?

Типичные ошибки

  • Говорить, что frozenset нужен только для оптимизации.
  • Не связывать set с hashable-элементами.
  • Пытаться положить set внутрь set.

Что проверяет интервьюер

  • Объясняет hashability set и frozenset.
  • Знает операции множеств.
  • Понимает отсутствие сортировки.

Как вы знаете этот вопрос?

Проверить себя по теме Python →

Источники

  • https://docs.python.org/3/library/stdtypes.html

Связанные темы

Pythondata-structures

Вакансии с этим навыком

Python вакансии
  • AI Automation Architect
  • Managing Consultant, Databricks Data Engineering Lead
  • Data Scientist - Mechanicsburg, PA
  • Engineering Manager, Data Foundations
  • Software Developer – Analytics Data Platform (Data Reliability)