uk
Feedback
Python | Вопросы собесов

Python | Вопросы собесов

Відкрити в Telegram

📈 Аналітичний огляд Telegram-каналу Python | Вопросы собесов

Канал Python | Вопросы собесов (@python_easy_ru) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 13 104 підписників, посідаючи 9 734 місце в категорії Технології та додатки та 50 704 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 13 104 підписників.

За останніми даними від 10 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -55, а за останні 24 години на 1, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 8.86%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.51% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 161 переглядів. Протягом першої доби публікація в середньому набирає 722 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 3.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як ставь, модуль, строка, docker, alice.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

Завдяки високій частоті оновлень (останні дані отримано 11 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

13 104
Підписники
+124 години
-147 днів
-5530 день
Архів дописів
📌 Что такое lru cache ? 💬 Спрашивают в 3% собеседований LRU (Least Recently Used) cache — это алгоритм кэширования, который удаляет наименее недавно использованные элементы для освобождения места для новых. В этом алгоритме кэш запоминает, когда каждый элемент был использован в последний раз, и при необходимости удаления элемента удаляет тот, который использовался наиболее давно. 🤔 Зачем он нужен? 1️⃣ Улучшение производительности: Кэширование позволяет уменьшить время доступа к часто используемым данным. 2️⃣ Эффективное использование памяти: Помогает эффективно использовать ограниченную память, удаляя устаревшие данные. 3️⃣ Простота реализации: Алгоритм LRU относительно прост для реализации и часто используется в системах с ограниченными ресурсами. 🤔 Как он работает? Обычно реализуется с использованием двух ключевых структур данных: 1️⃣ Хэш-таблица: Для быстрого доступа к кэшированным данным. 2️⃣ Двусвязный список: Для отслеживания порядка использования элементов. Наиболее недавно использованные элементы находятся в начале списка, а наименее недавно использованные — в конце. Модуль functools предоставляет встроенную реализацию LRU cache через декоратор lru_cache. Вот пример использования этого декоратора:
from functools import lru_cache

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

# Использование
print(fibonacci(10))  # 55
print(fibonacci.cache_info())  # CacheInfo(hits=8, misses=11, maxsize=3, currsize=3)

# Вывод значений из кэша
print(fibonacci(8))   # 21
print(fibonacci.cache_info())  # CacheInfo(hits=9, misses=11, maxsize=3, currsize=3)
🤔 Преимущества: 1️⃣ Улучшение производительности: Часто используемые данные остаются в кэше, что снижает время доступа. 2️⃣ Эффективное использование памяти: Кэш автоматически удаляет устаревшие данные, освобождая место для новых. 3️⃣ Простота реализации: Встроенные библиотеки и декораторы, такие как lru_cache в Python, упрощают внедрение. 🤔 Недостатки: 1️⃣ Неопределенность удаления: В определённых сценариях LRU может не быть оптимальным выбором для удаления элементов. 2️⃣ Дополнительные накладные расходы: Управление порядком использования элементов требует дополнительных ресурсов. 🤔 Когда его использовать? ➕ Когда нужно кэшировать результаты дорогостоящих вычислений. ➕ Когда доступ к данным является частым и повторяющимся. ➕ Когда размер кэша ограничен, и необходимо автоматически удалять устаревшие данные для освобождения места. LRU cache является эффективным и простым способом улучшения производительности и управления памятью в системах с ограниченными ресурсами. 🔥 ТОП ВОПРОСОВ С СОБЕСОВ 🔒 База собесов | 🔒 База тестовых

Ответьте на 1 вопрос и получите 60 дней с Яндекс Плюс! Музыка, подкасты, аудиокниги, фильмы, сериалы, кешбэк баллами Плюса во
Ответьте на 1 вопрос и получите 60 дней с Яндекс Плюс! Музыка, подкасты, аудиокниги, фильмы, сериалы, кешбэк баллами Плюса во всех сервисах Яндекса. Будьте в Плюсе — 60 дней всего за 1 рубль! Предложение ограничено. Подписаться #реклама 18+ plus.yandex.ru О рекламодателе

🤔 Какое преимущество предоставляет использование asyncio по сравнению с традиционной многопоточностью?
Anonymous voting

📌 Что такое паттерн Посетитель (Visitor) ? 💬 Спрашивают в 3% собеседований Паттерн "Посетитель" (Visitor) — это поведенческий паттерн проектирования, который позволяет добавлять в программу новые операции, не изменяя классы объектов, над которыми эти операции могут выполняться. Посетитель позволяет определить операцию для объектов других классов, не изменяя эти классы. 🤔 Зачем нужен данный паттерн? 1️⃣ Разделение алгоритмов и структуры объектов: Позволяет вынести операции, выполняемые над объектами, в отдельный класс, что упрощает добавление новых операций. 2️⃣ Добавление новых операций: Упрощает добавление новых операций без изменения классов объектов. 3️⃣ Поддержка сложных структур данных: Полезен при работе со сложными структурами данных, такими как составные объекты или деревья. 🤔 Как работает данный паттерн? Паттерн включает следующие компоненты: ➕ Элемент (Element): Интерфейс или абстрактный класс для объектов, которые могут быть приняты посетителем. ➕ Конкретный элемент (ConcreteElement): Класс, реализующий элемент, который может быть принят посетителем. ➕ Посетитель (Visitor): Интерфейс или абстрактный класс для объектов, выполняющих операции над элементами. ➕ Конкретный посетитель (ConcreteVisitor): Класс, реализующий операции, выполняемые над элементами.
from abc import ABC, abstractmethod

# Интерфейс элемента
class Element(ABC):
    @abstractmethod
    def accept(self, visitor):
        pass

# Конкретные элементы
class TextElement(Element):
    def accept(self, visitor):
        visitor.visit_text_element(self)

    def get_text(self):
        return "This is a text element."

class ImageElement(Element):
    def accept(self, visitor):
        visitor.visit_image_element(self)

    def get_image(self):
        return "This is an image element."

# Интерфейс посетителя
class Visitor(ABC):
    @abstractmethod
    def visit_text_element(self, element):
        pass

    @abstractmethod
    def visit_image_element(self, element):
        pass

# Конкретный посетитель
class PrintVisitor(Visitor):
    def visit_text_element(self, element):
        print(f"Printing: {element.get_text()}")

    def visit_image_element(self, element):
        print(f"Printing: {element.get_image()}")

class SaveVisitor(Visitor):
    def visit_text_element(self, element):
        print(f"Saving: {element.get_text()}")

    def visit_image_element(self, element):
        print(f"Saving: {element.get_image()}")

# Клиентский код
elements = [TextElement(), ImageElement()]
print_visitor = PrintVisitor()
save_visitor = SaveVisitor()

for element in elements:
    element.accept(print_visitor)

for element in elements:
    element.accept(save_visitor)
🤔 Преимущества: 1️⃣ Добавление новых операций: Легко добавлять новые операции без изменения классов элементов. 2️⃣ Разделение кода: Разделяет алгоритмы и структуру объектов, упрощая их понимание и поддержку. 3️⃣ Поддержка сложных структур данных: Упрощает работу с составными объектами или деревьями. 🤔 Недостатки: 1️⃣ Изменение классов элементов: При добавлении новых типов элементов требуется изменение всех классов посетителей. 2️⃣ Нарушение инкапсуляции: Посетитель может требовать доступа к закрытым полям и методам элементов, что может нарушить инкапсуляцию. 🤔 Когда использовать данный паттерн? ➕ Когда необходимо выполнять множество различных операций над объектами сложной структуры. ➕ Когда нужно добавлять новые операции, не изменяя классы объектов. ➕ Когда изменение алгоритмов чаще, чем изменение структуры объектов. Паттерн "Посетитель" является мощным инструментом для организации и расширения операций над объектами, упрощая добавление новых операций и улучшая структуру кода. 🔥 ТОП ВОПРОСОВ С СОБЕСОВ 🔒 База собесов | 🔒 База тестовых

🧑‍💻 Если твой английский позволяет ответить только на вопрос "Do you speak English", то с этим нужно что-то делать, будучи программистом. 🫤 Ты в курсе, что ... - говорят по-английски — 20% из всех людей. - Большое кол-во IT документации написано на английском. Хочешь понимать код лучше? Изучи язык, который используется в его основе. 📕 На нашем канале ты постепенно будешь набираться опыта, в этом тебе помогут: - Тесты для изучения английского: проверьте свои знания на практике. - Английский через мемы: учите язык весело и с интересом. - Шпаргалки для повторения: закрепите знания быстро и эффективно. - Английский сленг программиста: станьте настоящим профи в коммуникации. 🔥 Маленький шаг в изучении иностранного откроет перед тобой большие возможности будущего специалиста и значительно повысит твое зп. 🌸 Подпишись, do it!

ТОП-4 Курса по Программированию ⚡Tutortop — маркетплейс курсов №1 по количеству школ-партнеров, курсов и реальных отзывов сту
ТОП-4 Курса по Программированию ⚡Tutortop — маркетплейс курсов №1 по количеству школ-партнеров, курсов и реальных отзывов студентов. ✅Хотите стать программистом, но не знаете с какого языка начать? Помогаем разобраться в самых популярных и востребованных языках программирования. Подарок в конце подборки! Выбрать #реклама 16+ tutortop.ru О рекламодателе

🤔 Какой метод в Python используется для создания сопрограмм (coroutines)?
Anonymous voting

👩‍💻 Есть опыт в проге, но не растет зп? Может нужно найти крутой оффер? 🗿 Большинство IT специалистов работает за копейки
👩‍💻 Есть опыт в проге, но не растет зп? Может нужно найти крутой оффер? 🗿 Большинство IT специалистов работает за копейки и даже не осознает этого. Лучший способ понять рынок вакансий - стать его частью и начать анализировать. 👍 Предела совершенству нет, что нельзя сказать про зп в рамках одной компании. Подпишись на Мидл работает и повышай свой капитал.

📌 Что такое шаблонный метод (Template method) ? 💬 Спрашивают в 3% собеседований Паттерн "Шаблонный метод" (Template Method) — это поведенческий паттерн проектирования, который определяет скелет алгоритма в методе, оставляя некоторые шаги подклассам. Подклассы могут переопределять эти шаги, не изменяя структуру алгоритма. 🤔 Зачем нужен данный паттерн? 1️⃣ Повторное использование кода: Позволяет повторно использовать общий алгоритм, избегая дублирования кода. 2️⃣ Контроль над структурой алгоритма: Обеспечивает контроль над основной структурой алгоритма, позволяя изменять только определённые его шаги. 3️⃣ Инкапсуляция неизменных частей алгоритма: Позволяет инкапсулировать части алгоритма, которые не должны изменяться, и делать изменяемыми только необходимые шаги. 🤔 Как работает данный паттерн? Паттерн включает следующие компоненты: ➕ Абстрактный класс: Определяет шаблонный метод, который реализует скелет алгоритма, и абстрактные методы для шагов, которые должны быть реализованы в подклассах. ➕ Конкретные подклассы: Реализуют абстрактные методы для конкретных шагов алгоритма.
from abc import ABC, abstractmethod

# Абстрактный класс с шаблонным методом
class Beverage(ABC):
    def prepare_recipe(self):
        self.boil_water()
        self.brew()
        self.pour_in_cup()
        self.add_condiments()

    def boil_water(self):
        print("Boiling water")

    def pour_in_cup(self):
        print("Pouring into cup")

    @abstractmethod
    def brew(self):
        pass

    @abstractmethod
    def add_condiments(self):
        pass

# Конкретный подкласс для кофе
class Coffee(Beverage):
    def brew(self):
        print("Dripping Coffee through filter")

    def add_condiments(self):
        print("Adding Sugar and Milk")

# Конкретный подкласс для чая
class Tea(Beverage):
    def brew(self):
        print("Steeping the tea")

    def add_condiments(self):
        print("Adding Lemon")

# Клиентский код
def prepare_beverage(beverage: Beverage):
    beverage.prepare_recipe()

coffee = Coffee()
tea = Tea()

print("Making coffee:")
prepare_beverage(coffee)

print("\nMaking tea:")
prepare_beverage(tea)
🤔 Преимущества: 1️⃣ Повторное использование кода: Избегает дублирования кода, предоставляя общий алгоритм с изменяемыми шагами. 2️⃣ Инкапсуляция изменений: Изолирует изменяемые части алгоритма в подклассы. 3️⃣ Контроль структуры алгоритма: Обеспечивает строгий контроль над основной структурой алгоритма. 🤔 Недостатки: 1️⃣ Ограниченная гибкость: Если шаблонный метод требует изменения, все подклассы могут нуждаться в изменении. 2️⃣ Усложнение структуры кода: Может привести к созданию большого количества подклассов для реализации различных шагов алгоритма. 🤔 Когда использовать данный паттерн? ➕ Когда требуется использовать один и тот же алгоритм в нескольких подклассах с различиями в отдельных шагах. ➕ Когда необходимо избежать дублирования кода, инкапсулируя изменяемые части алгоритма. ➕ Когда нужно контролировать структуру алгоритма, предоставляя возможность изменять только отдельные его шаги. Паттерн "Шаблонный метод" является мощным инструментом для организации кода и управления алгоритмами, предоставляя возможность изменять отдельные шаги алгоритма без изменения его основной структуры. 🔥 ТОП ВОПРОСОВ С СОБЕСОВ 🔒 База собесов | 🔒 База тестовых

Повышенный гонорар за технические статьи в блог на Хабре Если вы уже автор Хабра или работаете в сфере IT и чувствуете в себе
Повышенный гонорар за технические статьи в блог на Хабре Если вы уже автор Хабра или работаете в сфере IT и чувствуете в себе творческий потенциал, то оставшиеся летние дни — прекрасная возможность посвятить себя писательскому делу! Мы запустили акцию для технических авторов и повысили гонорар за статьи в наш блог на Хабр до 22 000 рублей. Ждем материалы о системном администрировании, программировании, хостинге и серверном оборудовании. Акция действует до 29 августа. Узнать больше #реклама firstvds.ru О рекламодателе

🤔 Какое утверждение верно относительно GIL (Global Interpreter Lock) в CPython?
Anonymous voting

Jobski - твой помощник при поиске работы в IT Сервис индивидуально подбирает вакансии, учитывая ваш опыт, навыки и стек техно
Jobski - твой помощник при поиске работы в IT Сервис индивидуально подбирает вакансии, учитывая ваш опыт, навыки и стек технологий. Узнать больше #реклама jobski.ru О рекламодателе

📌 Что такое паттерн Стратегия (Strategy) ? 💬 Спрашивают в 3% собеседований Паттерн "Стратегия" (Strategy) — это поведенческий паттерн проектирования, который определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми. Паттерн "Стратегия" позволяет изменять алгоритмы независимо от клиентов, которые их используют. 🤔 Зачем нужен данный паттерн? 1️⃣ Изоляция алгоритмов: Позволяет инкапсулировать различные алгоритмы и использовать их независимо. 2️⃣ Упрощение кода: Устраняет дублирование кода и упрощает классы, которые используют эти алгоритмы. 3️⃣ Гибкость и расширяемость: Легко добавлять новые алгоритмы или изменять существующие без изменения клиентского кода. 🤔 Как работает данный паттерн? Паттерн включает следующие компоненты: ➕ Стратегия (Strategy): Интерфейс, определяющий общий метод, который должны реализовать все алгоритмы. ➕ Конкретные стратегии (ConcreteStrategy): Реализации различных алгоритмов, которые реализуют интерфейс стратегии. ➕ Контекст (Context): Класс, использующий стратегию для выполнения задачи.
from abc import ABC, abstractmethod

# Интерфейс стратегии
class Strategy(ABC):
    @abstractmethod
    def sort(self, data):
        pass

# Конкретные стратегии
class BubbleSortStrategy(Strategy):
    def sort(self, data):
        print("Sorting using Bubble Sort")
        for i in range(len(data)):
            for j in range(0, len(data)-i-1):
                if data[j] > data[j+1]:
                    data[j], data[j+1] = data[j+1], data[j]

class QuickSortStrategy(Strategy):
    def sort(self, data):
        print("Sorting using Quick Sort")
        self.quick_sort(data, 0, len(data) - 1)

    def quick_sort(self, data, low, high):
        if low < high:
            pi = self.partition(data, low, high)
            self.quick_sort(data, low, pi - 1)
            self.quick_sort(data, pi + 1, high)

    def partition(self, data, low, high):
        pivot = data[high]
        i = low - 1
        for j in range(low, high):
            if data[j] <= pivot:
                i = i + 1
                data[i], data[j] = data[j], data[i]
        data[i + 1], data[high] = data[high], data[i + 1]
        return i + 1

# Контекст
class SortingContext:
    def __init__(self, strategy: Strategy):
        self._strategy = strategy

    def set_strategy(self, strategy: Strategy):
        self._strategy = strategy

    def sort(self, data):
        self._strategy.sort(data)

# Клиентский код
data = [5, 2, 9, 1, 5, 6]

context = SortingContext(BubbleSortStrategy())
context.sort(data)
print(data)  # [1, 2, 5, 5, 6, 9]

context.set_strategy(QuickSortStrategy())
data = [3, 7, 8, 5, 2, 1, 9, 5, 4]
context.sort(data)
print(data)  # [1, 2, 3, 4, 5, 5, 7, 8, 9]
🤔 Преимущества: 1️⃣ Изоляция алгоритмов: Алгоритмы инкапсулируются в отдельные классы, что упрощает их замену и добавление. 2️⃣ Упрощение кода: Контекст использует стратегии, избегая громоздких условных операторов. 3️⃣ Гибкость и расширяемость: Легко добавлять новые стратегии без изменения существующего кода. Недостатки: 1️⃣ Усложнение структуры кода: Добавление множества классов стратегий может усложнить проект. 2️⃣ Контекст знает о стратегиях: Контекст должен знать о всех возможных стратегиях, чтобы иметь возможность их переключать. 🤔 Когда использовать данный паттерн? ➕ Когда есть несколько вариантов алгоритмов для выполнения задачи. ➕ Когда нужно динамически выбирать алгоритм во время выполнения. ➕ Когда необходимо избежать множества условных операторов для выбора алгоритма. Паттерн "Стратегия" является мощным инструментом для управления алгоритмами и их выбора в зависимости от конкретной ситуации, улучшая гибкость и расширяемость кода. 🔥 ТОП ВОПРОСОВ С СОБЕСОВ 🔒 База собесов | 🔒 База тестовых

🤬 Постоянные ошибки, как они надоели! 🤯 Планируя свои дела, мы забываем, что оборудование может подвести. Это может перекры
🤬 Постоянные ошибки, как они надоели! 🤯 Планируя свои дела, мы забываем, что оборудование может подвести. Это может перекрыть все рабочие планы. Придется гуглить, смотреть видосы, звонить знакомым "Не встречалась ли тебе такая ошибка?" 🥵 Все это время и силы. Наша команда нашла этому решение - Битый код. Канал, который даст тебе базу в мире ошибок. 🍸 Стань тем человеком, к которому будут обращаться и про которого будут говорить "Он сможет помочь"

Методичка: как сделать онлайн-встречи эффективнее Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие п
Методичка: как сделать онлайн-встречи эффективнее Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие повестки и потерянные договоренности мешают нормально работать? Команда МТС Линк собрала на 37 страницах полезные материалы, чек-листы и кейсы, которые помогают компаниям проводить эффективные совещания в онлайне с помощью сервиса Встречи. Из методички узнаете: - Как создать постоянную ссылку и подключаться на встречи в 2 клика, - Как делать заметки и работать с файлами, не переживая за качество связи и безопасность данных. - Как облегчает жизнь ИИ, который расшифровывает созвоны в текст и автоматически отправляет расшифровку на почту. Еще в методичке описаны 7 способов оценки текущей эффективности ваших онлайн-встреч. Получить гайд можно бесплатно на сайте. Скачать #реклама mts-link.ru О рекламодателе

🤔 Какой метод используется для вычисления декартова произведения двух списков?
Anonymous voting

📌 Что такое паттерн Состояние (State) ? 💬 Спрашивают в 3% собеседований Паттерн "Состояние" (State) — это поведенческий паттерн проектирования, который позволяет объекту изменять свое поведение в зависимости от его внутреннего состояния. Внешне это выглядит так, как будто объект изменил свой класс. Этот паттерн особенно полезен, когда объект может находиться в нескольких состояниях, каждое из которых определяет его поведение. 🤔 Зачем нужен данный паттерн? 1️⃣ Управление состояниями: Позволяет управлять сложными состояниями объекта, организуя код более структурировано. 2️⃣ Изолирование состояний: Разделяет код, относящийся к разным состояниям, что упрощает его поддержку и модификацию. 3️⃣ Изменение поведения во время выполнения: Объект может динамически изменять своё поведение в зависимости от текущего состояния. 🤔 Как работает данный паттерн? Паттерн включает следующие компоненты: ➕ Контекст (Context): Объект, который содержит ссылку на текущий объект состояния и делегирует ему выполнение поведения. ➕ Состояние (State): Интерфейс или абстрактный класс, определяющий общие методы для всех конкретных состояний. ➕ Конкретные состояния (ConcreteState): Классы, реализующие конкретное поведение в зависимости от состояния.
from abc import ABC, abstractmethod

# Интерфейс состояния
class State(ABC):
    @abstractmethod
    def insert_coin(self, context):
        pass

    @abstractmethod
    def press_button(self, context):
        pass

    @abstractmethod
    def dispense(self, context):
        pass

# Конкретные состояния
class NoCoinState(State):
    def insert_coin(self, context):
        print("Coin inserted.")
        context.state = context.has_coin_state

    def press_button(self, context):
        print("Insert coin first.")

    def dispense(self, context):
        print("Insert coin first.")

class HasCoinState(State):
    def insert_coin(self, context):
        print("Coin already inserted.")

    def press_button(self, context):
        print("Button pressed.")
        context.state = context.sold_state

    def dispense(self, context):
        print("Press button to dispense.")

class SoldState(State):
    def insert_coin(self, context):
        print("Wait! Dispensing in progress.")

    def press_button(self, context):
        print("Wait! Dispensing in progress.")

    def dispense(self, context):
        print("Ticket dispensed.")
        context.state = context.no_coin_state

# Контекст
class TicketMachine:
    def __init__(self):
        self.no_coin_state = NoCoinState()
        self.has_coin_state = HasCoinState()
        self.sold_state = SoldState()
        self.state = self.no_coin_state

    def insert_coin(self):
        self.state.insert_coin(self)

    def press_button(self):
        self.state.press_button(self)

    def dispense(self):
        self.state.dispense(self)

# Клиентский код
machine = TicketMachine()

machine.insert_coin()  # Coin inserted.
machine.press_button() # Button pressed.
machine.dispense()     # Ticket dispensed.

machine.press_button() # Insert coin first.
machine.insert_coin()  # Coin inserted.
machine.dispense()     # Press button to dispense.
machine.press_button() # Button pressed.
machine.dispense()     # Ticket dispensed.
🤔 Преимущества: 1️⃣ Управление состояниями: Упрощает управление сложными состояниями объекта. 2️⃣ Изолирование состояний: Позволяет разделить код, относящийся к разным состояниям. 3️⃣ Динамическое изменение поведения: Объект может динамически изменять своё поведение. 🤔 Недостатки: 1️⃣ Усложнение кода: Добавление большого количества классов состояний может усложнить код. 2️⃣ Повышенные накладные расходы: Частые изменения состояния могут привести к дополнительным накладным расходам. Паттерн "Состояние" является мощным инструментом для управления состояниями объекта и изменением его поведения в зависимости от этих состояний, что упрощает код и улучшает его структуру. 🔥 ТОП ВОПРОСОВ С СОБЕСОВ 🔒 База собесов | 🔒 База тестовых

На эти IT-стажировки берут без опыта В канале собраны самые свежие предложения от крупнейших российских компаний: VK, Сбера,
На эти IT-стажировки берут без опыта В канале собраны самые свежие предложения от крупнейших российских компаний: VK, Сбера, Яндекса и многих других. Теперь можно не откладывать начало карьеры в IT, ведь здесь вы найдете: — стажировки для молодых специалистов; — анонсы хакатонов, которые будут выгодно смотреться в резюме; — карьерные и образовательные ивенты для прокачки hard и soft skills. Подписаться #реклама О рекламодателе

🤔 Что такое list comprehension в Python и для чего оно используется?
Anonymous voting

Такси для бизнеса. Яндекс Go Оптимизируйте свои расходы и повысьте эффективность бизнеса с Яндекс Go Узнать больше #реклама b
Такси для бизнеса. Яндекс Go Оптимизируйте свои расходы и повысьте эффективность бизнеса с Яндекс Go Узнать больше #реклама business.go.yandex О рекламодателе