🧑💻 Вопросы с собесов для Node.js Разработчика
1. Виды тестов и их различия
Основные виды тестов: unit (проверка отдельных компонентов), integration (проверка взаимодействия компонентов), e2e (проверка всей системы). Они различаются scope, скоростью выполнения и сложностью setup.
2. Pick, Omit, Partial в TS
3. Что такое "всплытие" (hoisting) в контексте переменных и функций?
Hoisting (всплытие) - это механизм в JavaScript, при котором объявления переменных и функций "поднимаются" в начало своей области видимости. Объявления функций поднимаются полностью, а переменные, объявленные через
4. Представь есть очень толстый сложный запрос (загрузка видео или в бд). Что делать в Node.js? А если в SQL?
В Node.js для тяжелых операций используйте асинхронную обработку, потоки и очередь задач. Для SQL-запросов оптимизируйте запросы, добавляйте индексы и используйте пагинацию. В обоих случаях важно не блокировать event loop и эффективно использовать ресурсы.
5. Какие бывают транспорты между микросервисами (синхронный подход (REST, gRPC) и асинхронный (kafka, rabbitMQ, NATS))
Для коммуникации микросервисов используются синхронные (REST, gRPC) и асинхронные (Kafka, RabbitMQ, NATS) транспорты. Синхронные требуют immediate response, асинхронные используют message brokers для декаплингования сервисов.
#testing #unit #integration #type_utility #pick #omit #hoisting #performance_optimization #streams #sql_optimization #microservices #communication
1. Виды тестов и их различия
Основные виды тестов: unit (проверка отдельных компонентов), integration (проверка взаимодействия компонентов), e2e (проверка всей системы). Они различаются scope, скоростью выполнения и сложностью setup.
2. Pick, Omit, Partial в TS
Pick, Omit и Partial — это утилитарные типы TypeScript для работы с объектными типами. Pick создает тип из выбранных свойств исходного типа. Omit создает тип, исключая указанные свойства. Partial делает все свойства типа необязательными.3. Что такое "всплытие" (hoisting) в контексте переменных и функций?
Hoisting (всплытие) - это механизм в JavaScript, при котором объявления переменных и функций "поднимаются" в начало своей области видимости. Объявления функций поднимаются полностью, а переменные, объявленные через
var - только объявление, но не инициализация. let и const также всплывают, но не инициализируются до фактического объявления.4. Представь есть очень толстый сложный запрос (загрузка видео или в бд). Что делать в Node.js? А если в SQL?
В Node.js для тяжелых операций используйте асинхронную обработку, потоки и очередь задач. Для SQL-запросов оптимизируйте запросы, добавляйте индексы и используйте пагинацию. В обоих случаях важно не блокировать event loop и эффективно использовать ресурсы.
5. Какие бывают транспорты между микросервисами (синхронный подход (REST, gRPC) и асинхронный (kafka, rabbitMQ, NATS))
Для коммуникации микросервисов используются синхронные (REST, gRPC) и асинхронные (Kafka, RabbitMQ, NATS) транспорты. Синхронные требуют immediate response, асинхронные используют message brokers для декаплингования сервисов.
#testing #unit #integration #type_utility #pick #omit #hoisting #performance_optimization #streams #sql_optimization #microservices #communication
🧑💻 Подборка из 5 вопросов для Golang разработчиков
1. Какие методы уменьшения объема Docker-образа ты знаешь?
Основные методы: использование многоступенчатой сборки (multi-stage build), выбор минимального базового образа (например,
#docker #image_optimization
1. Какие методы уменьшения объема Docker-образа ты знаешь?
Основные методы: использование многоступенчатой сборки (multi-stage build), выбор минимального базового образа (например,
alpine), объединение команд RUN в одну для уменьшения слоёв, использование файла .dockerignore и удаление кэша пакетного менеджера в том же слое, где он использовался.#docker #image_optimization
🧑💻 Подборка из 5 вопросов для Golang разработчиков
1. Как в Go реализовать middleware?
Middleware — это функция, которая оборачивает http.Handler и добавляет дополнительную логику до и после вызова ServeHTTP.
2. Как устроен Outbox-паттерн и зачем он нужен?
Outbox-паттерн сохраняет сообщение в таблицу вместе с изменением состояния, а потом отдельный процесс (consumer) читает и отправляет их в Kafka. Это обеспечивает атомарность между БД и очередью.
3. Что такое transactional outbox и зачем он нужен?
Transactional outbox — это способ гарантированной доставки сообщений между сервисами. Он сохраняет сообщение в БД в рамках бизнес-транзакции, а затем отправляет его асинхронно.
4. Как предотвратить списание средств с баланса при гонке транзакций?
Нужно использовать транзакции с блокировкой строк (SELECT FOR UPDATE), чтобы избежать одновременного изменения баланса разными транзакциями.
5. Что такое палиндром и как его определить в Go?
Палиндром — это строка, которая читается одинаково слева направо и справа налево. В Go важно учитывать работу с рунами, а не байтами, особенно для кириллицы. Также часто приводят символы к нижнему регистру для корректного сравнения.
#middleware #http #decorator #outbox #transactional_messaging #kafka #pattern #transaction #locking #balance #string #palindrome
1. Как в Go реализовать middleware?
Middleware — это функция, которая оборачивает http.Handler и добавляет дополнительную логику до и после вызова ServeHTTP.
2. Как устроен Outbox-паттерн и зачем он нужен?
Outbox-паттерн сохраняет сообщение в таблицу вместе с изменением состояния, а потом отдельный процесс (consumer) читает и отправляет их в Kafka. Это обеспечивает атомарность между БД и очередью.
3. Что такое transactional outbox и зачем он нужен?
Transactional outbox — это способ гарантированной доставки сообщений между сервисами. Он сохраняет сообщение в БД в рамках бизнес-транзакции, а затем отправляет его асинхронно.
4. Как предотвратить списание средств с баланса при гонке транзакций?
Нужно использовать транзакции с блокировкой строк (SELECT FOR UPDATE), чтобы избежать одновременного изменения баланса разными транзакциями.
5. Что такое палиндром и как его определить в Go?
Палиндром — это строка, которая читается одинаково слева направо и справа налево. В Go важно учитывать работу с рунами, а не байтами, особенно для кириллицы. Также часто приводят символы к нижнему регистру для корректного сравнения.
#middleware #http #decorator #outbox #transactional_messaging #kafka #pattern #transaction #locking #balance #string #palindrome
🧑💻 Подборка из 5 вопросов для Golang разработчиков
1. RabbitMQ использует базу данных?
RabbitMQ не использует базу данных для хранения сообщений. Вместо этого оно записывает сообщения на диск в двух случаях: если сообщение имеет
2. Что такое Erlang?
Erlang — это функциональный язык программирования, разработанный для создания распределённых и отказоустойчивых систем. RabbitMQ разработан на Erlang и использует его платформу Open Telecom Platform (OTP) для кластеризации и обеспечения высокой доступности.
3. Какой протокол использует RabbitMQ?
RabbitMQ использует AMQP (Advanced Message Queuing Protocol) — открытый стандарт для передачи сообщений через сеть. Он обеспечивает надежную, масштабируемую и стандартизированную коммуникацию между системами.
4. Что такое pub/sub?
Pub/sub (publish/subscribe) — это асинхронная модель взаимодействия, где производитель публикует сообщение на определённую тему, и все подписчики этой темы получают его одновременно. Этот подход часто используется в микросервисах для организации событийного взаимодействия.
5. Является ли RabbitMQ устойчивым?
RabbitMQ поддерживает устойчивость сообщений и очередей. Чтобы обеспечить сохранение сообщений при перезапуске сервера, очередь должна быть помечена как durable, а сообщения — как persistent (указанием
#rabbitmq #storage #delivery_mode #erlang #otp #amqp #protocol #pub #sub #durability #persistence
1. RabbitMQ использует базу данных?
RabbitMQ не использует базу данных для хранения сообщений. Вместо этого оно записывает сообщения на диск в двух случаях: если сообщение имеет
delivery_mode=2 (устойчивое сообщение) или при недостатке оперативной памяти, чтобы освободить её для других задач.2. Что такое Erlang?
Erlang — это функциональный язык программирования, разработанный для создания распределённых и отказоустойчивых систем. RabbitMQ разработан на Erlang и использует его платформу Open Telecom Platform (OTP) для кластеризации и обеспечения высокой доступности.
3. Какой протокол использует RabbitMQ?
RabbitMQ использует AMQP (Advanced Message Queuing Protocol) — открытый стандарт для передачи сообщений через сеть. Он обеспечивает надежную, масштабируемую и стандартизированную коммуникацию между системами.
4. Что такое pub/sub?
Pub/sub (publish/subscribe) — это асинхронная модель взаимодействия, где производитель публикует сообщение на определённую тему, и все подписчики этой темы получают его одновременно. Этот подход часто используется в микросервисах для организации событийного взаимодействия.
5. Является ли RabbitMQ устойчивым?
RabbitMQ поддерживает устойчивость сообщений и очередей. Чтобы обеспечить сохранение сообщений при перезапуске сервера, очередь должна быть помечена как durable, а сообщения — как persistent (указанием
delivery_mode=2 при публикации). Устойчивые очереди сохраняются между перезапусками сервера, но сами сообщения требуют дополнительного указания их устойчивости.#rabbitmq #storage #delivery_mode #erlang #otp #amqp #protocol #pub #sub #durability #persistence
#Собес #sql #select #performance
🤔 Middle Java Backend-разработчик в компанию МВидео.
Техническое собеседование. Зима 2025. Просил 250к+. Проект: биллинг (сбор информации по поставщикам). Опыт в резюме: 3 года. Сначала было много вопросов об опыте, стеке, тестах, "почему уходишь с текущего места работы?" и т.д. Был лайкводинг.
💬 Вопросы:
- Как реализовать базовое приложение на Spring Boot?
- Зачем нужен Spring Framework?
- Что такое чистый и поддерживаемый код?
- Какие принципы важны при работе с базой данных?
- Влияет ли количество полей в SELECT на производительность?
👉 Все вопросы из этого собеседования (7)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
🤔 Middle Java Backend-разработчик в компанию МВидео.
Техническое собеседование. Зима 2025. Просил 250к+. Проект: биллинг (сбор информации по поставщикам). Опыт в резюме: 3 года. Сначала было много вопросов об опыте, стеке, тестах, "почему уходишь с текущего места работы?" и т.д. Был лайкводинг.
💬 Вопросы:
- Как реализовать базовое приложение на Spring Boot?
- Зачем нужен Spring Framework?
- Что такое чистый и поддерживаемый код?
- Какие принципы важны при работе с базой данных?
- Влияет ли количество полей в SELECT на производительность?
👉 Все вопросы из этого собеседования (7)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
#video #ошибки
📚 IT-расследование: как ошибка в программе убила людей?
Нашел для вас интересное видео про баг в аппарате Therac-25 и почему он стоил людям жизни.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 IT-расследование: как ошибка в программе убила людей?
Нашел для вас интересное видео про баг в аппарате Therac-25 и почему он стоил людям жизни.
Перейти к материалу
👉 База вопросов 👉 Новости
🧑💻 Подборка из 5 вопросов для Golang разработчиков
1. Можно ли передать функцию как параметр другой функции?
Да, в Go функции можно передавать как параметры другим функциям. Это позволяет создавать гибкие и переиспользуемые блоки логики. Такие функции называются функциями первого класса.
2. Какова алгоритмическая сложность доступа по ключу для map?
Доступ по ключу в
3. Что происходит, когда в коде просят выделить 1 КБ памяти?
При выделении 1 КБ памяти программа запрашивает у операционной системы блок памяти нужного размера. Обычно это происходит через аллокатор, который управляет памятью внутри процесса.
4. Как реализовать транзакции через SQL-запросы?
Используются команды
5. Почему поиск в B-tree работает быстрее полного перебора данных?
Потому что B-tree отсеивает ненужные данные, двигаясь по дереву, а не проверяя каждую строку таблицы.
#function #first_class #parameter #map #hash_table #complexity #memory_allocation #heap #pointer #begin #commit #rollback #b-tree #binary_search #index
1. Можно ли передать функцию как параметр другой функции?
Да, в Go функции можно передавать как параметры другим функциям. Это позволяет создавать гибкие и переиспользуемые блоки логики. Такие функции называются функциями первого класса.
2. Какова алгоритмическая сложность доступа по ключу для map?
Доступ по ключу в
map в Go выполняется за амортизированное время O(1). Это означает, что операции получения, вставки и удаления обычно очень быстры.3. Что происходит, когда в коде просят выделить 1 КБ памяти?
При выделении 1 КБ памяти программа запрашивает у операционной системы блок памяти нужного размера. Обычно это происходит через аллокатор, который управляет памятью внутри процесса.
4. Как реализовать транзакции через SQL-запросы?
Используются команды
BEGIN, COMMIT, ROLLBACK.5. Почему поиск в B-tree работает быстрее полного перебора данных?
Потому что B-tree отсеивает ненужные данные, двигаясь по дереву, а не проверяя каждую строку таблицы.
#function #first_class #parameter #map #hash_table #complexity #memory_allocation #heap #pointer #begin #commit #rollback #b-tree #binary_search #index
#Собес #grpc #middleware #concurrency
🤔 Middle+ Golang Backend-разработчик в Ozon
Техническое собеседование. Лето 2025. Вилка 290к+. Проект: мультисервисная платформа для работы с заказами и аналитикой в Ozon. Опыт в резюме — 3.5 года. Вопросы по конкурентности, работе с HTTP, базам данных, Kafka, паттерну Outbox, архитектуре и SQL.
💬 Вопросы:
- Зачем использовать UUID вместо автоинкрементного ID в распределённой системе?
- Что такое transactional consistency в контексте Outbox?
- Что такое transactional outbox и зачем он нужен?
- Что такое паттерн Strategy и зачем он нужен?
- Как реализовать worker pool в Go?
👉 Все вопросы из этого собеседования (15)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
🤔 Middle+ Golang Backend-разработчик в Ozon
Техническое собеседование. Лето 2025. Вилка 290к+. Проект: мультисервисная платформа для работы с заказами и аналитикой в Ozon. Опыт в резюме — 3.5 года. Вопросы по конкурентности, работе с HTTP, базам данных, Kafka, паттерну Outbox, архитектуре и SQL.
💬 Вопросы:
- Зачем использовать UUID вместо автоинкрементного ID в распределённой системе?
- Что такое transactional consistency в контексте Outbox?
- Что такое transactional outbox и зачем он нужен?
- Что такое паттерн Strategy и зачем он нужен?
- Как реализовать worker pool в Go?
👉 Все вопросы из этого собеседования (15)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
#article #инструменты #ии
📚 AI уже тут: в какие инструменты уже интегрирован ИИ
AI довольно быстро стал интегрироваться в инструменты и пускать корни во многие профессии, QA не исключение. Здесь точно есть что оптимизировать, ведь у тестировщиков всегда много рутинных задач, которые требуют внимательности, но не слишком сложны по своей сути.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 AI уже тут: в какие инструменты уже интегрирован ИИ
AI довольно быстро стал интегрироваться в инструменты и пускать корни во многие профессии, QA не исключение. Здесь точно есть что оптимизировать, ведь у тестировщиков всегда много рутинных задач, которые требуют внимательности, но не слишком сложны по своей сути.
Перейти к материалу
👉 База вопросов 👉 Новости
#podcast #кейсы #проекты
📚 Machine Learning: Нейросети и машинное обучение
Подкаст "Machine Learning" — это захватывающее путешествие в мир нейросетей, машинного обучения и искусственного интеллекта, созданное для всех, кто хочет разобраться в технологиях, меняющих мир! Каждую неделю мы погружаемся в актуальные темы: от новейших архитектур нейросетей, таких как трансформеры, до применения ИИ в медицине, финансах, играх и творчестве. Вместе с ведущими экспертами, исследователями и практиками мы обсуждаем, как алгоритмы учатся, почему большие языковые модели вроде GPT революционизируют обработку данных, и какие этические дилеммы стоят за развитием ИИ.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Machine Learning: Нейросети и машинное обучение
Подкаст "Machine Learning" — это захватывающее путешествие в мир нейросетей, машинного обучения и искусственного интеллекта, созданное для всех, кто хочет разобраться в технологиях, меняющих мир! Каждую неделю мы погружаемся в актуальные темы: от новейших архитектур нейросетей, таких как трансформеры, до применения ИИ в медицине, финансах, играх и творчестве. Вместе с ведущими экспертами, исследователями и практиками мы обсуждаем, как алгоритмы учатся, почему большие языковые модели вроде GPT революционизируют обработку данных, и какие этические дилеммы стоят за развитием ИИ.
Перейти к материалу
👉 База вопросов 👉 Новости
🧑💻 5 вопросов с собесов Frontend разработчиков
1. Что такое Сравнение (Diffing) и Патчинг?
Сравнение (Diffing) — это процесс, при котором React сравнивает старое и новое представление виртуального DOM, чтобы определить, какие изменения необходимо внести в реальный DOM. Патчинг — это этап, на котором React вносит эти изменения, обновляя только те элементы, которые изменились, а не перерисовывая всё дерево компонентов.
2. Что такое React Reconciliation (Этап согласования)?
React Reconciliation — это процесс, с помощью которого React обновляет интерфейс, определяя, какие изменения необходимо внести в виртуальный DOM и как это отразить на реальном DOM. Этот процесс включает сравнение старого и нового виртуального DOM, что позволяет React эффективно обновлять только те компоненты, которые изменились, а не перерисовывать всё приложение.
3. Что такое реактивность?
Реактивность — это подход к программированию, при котором интерфейс автоматически обновляется при изменении данных или состояния. В React это реализуется через систему состояния и пропсов, позволяющую разработчикам легко управлять изменениями в приложении и обеспечивать согласованность между данными и отображением.
4. Как работает реактивность под капотом и как реализовать её?
Реактивность в React работает через использование состояния и хуков, таких как
5. Что такое AbortController и как он используется в JavaScript для отмены асинхронных операций?
#virtual_dom #optimization #dom #реактивность #abort #fetch
1. Что такое Сравнение (Diffing) и Патчинг?
Сравнение (Diffing) — это процесс, при котором React сравнивает старое и новое представление виртуального DOM, чтобы определить, какие изменения необходимо внести в реальный DOM. Патчинг — это этап, на котором React вносит эти изменения, обновляя только те элементы, которые изменились, а не перерисовывая всё дерево компонентов.
2. Что такое React Reconciliation (Этап согласования)?
React Reconciliation — это процесс, с помощью которого React обновляет интерфейс, определяя, какие изменения необходимо внести в виртуальный DOM и как это отразить на реальном DOM. Этот процесс включает сравнение старого и нового виртуального DOM, что позволяет React эффективно обновлять только те компоненты, которые изменились, а не перерисовывать всё приложение.
3. Что такое реактивность?
Реактивность — это подход к программированию, при котором интерфейс автоматически обновляется при изменении данных или состояния. В React это реализуется через систему состояния и пропсов, позволяющую разработчикам легко управлять изменениями в приложении и обеспечивать согласованность между данными и отображением.
4. Как работает реактивность под капотом и как реализовать её?
Реактивность в React работает через использование состояния и хуков, таких как
useState и useEffect. Когда состояние изменяется, React автоматически инициирует перерисовку компонентов, которые зависят от этого состояния, обеспечивая согласованность между данными и интерфейсом. Реактивность достигается через механизм подписки на изменения состояния и виртуальный DOM, который минимизирует обновления реального DOM.5. Что такое AbortController и как он используется в JavaScript для отмены асинхронных операций?
AbortController — это встроенный объект в JavaScript, который позволяет отменять асинхронные операции, такие как запросы через fetch. Он работает вместе с AbortSignal, который передаётся в асинхронную операцию. Если вы вызываете метод abort() у контроллера, операция прерывается, и её результат больше не будет обработан.#virtual_dom #optimization #dom #реактивность #abort #fetch
#Собес #reducer #redux #solid
🤔 Middle Frontend разработчик (React) в компанию X5
Техническое собеседование. Весна 2025. Вилка: 300к+. Опыт в резюме: 4 года. Были вопросы на понимание принципа работы БД, вопросы про шардирование..
💬 Вопросы:
- Где хранить кэшированные данные? (LocalStorage, IndexedDB). Что делать, если IndexedDB не поддерживается?
- Как управлять версионностью зависимостей (например, React) между микрофронтами?
- Какие проблемы возникают в микрофронтенд-архитектуре?
- Как интерпретировать принцип замены Лисков (L в SOLID) во фронтенде (на примере React)?
- Как реализовать кэширование данных без библиотек?
👉 Все вопросы из этого собеседования (28)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
🤔 Middle Frontend разработчик (React) в компанию X5
Техническое собеседование. Весна 2025. Вилка: 300к+. Опыт в резюме: 4 года. Были вопросы на понимание принципа работы БД, вопросы про шардирование..
💬 Вопросы:
- Где хранить кэшированные данные? (LocalStorage, IndexedDB). Что делать, если IndexedDB не поддерживается?
- Как управлять версионностью зависимостей (например, React) между микрофронтами?
- Какие проблемы возникают в микрофронтенд-архитектуре?
- Как интерпретировать принцип замены Лисков (L в SOLID) во фронтенде (на примере React)?
- Как реализовать кэширование данных без библиотек?
👉 Все вопросы из этого собеседования (28)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
#documentation #база
📚 База знаний школы Systems Education
Большая база ссылок на статьи по различным темам: от работы с требованиями до протокола WebSocket.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 База знаний школы Systems Education
Большая база ссылок на статьи по различным темам: от работы с требованиями до протокола WebSocket.
Перейти к материалу
👉 База вопросов 👉 Новости
#course #ии
📚 «Введение в Data Science и машинное обучение»
Data Scientist is The Sexiest Job of the 21st Century, а машинное обучение и анализ данных - это захватывающие области, знакомство с которыми точно не оставит вас равнодушными! Мы начнем с самого начала, разберем центральные понятия и темы. Познакомимся с такими методами машинного обучения как деревья решений и нейронные сети. Практическая часть курса будет посвящена знакомству с наиболее популярными библиотеками для анализа данных, используя язык программирования Python — Pandas и Scikit-learn.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 «Введение в Data Science и машинное обучение»
Data Scientist is The Sexiest Job of the 21st Century, а машинное обучение и анализ данных - это захватывающие области, знакомство с которыми точно не оставит вас равнодушными! Мы начнем с самого начала, разберем центральные понятия и темы. Познакомимся с такими методами машинного обучения как деревья решений и нейронные сети. Практическая часть курса будет посвящена знакомству с наиболее популярными библиотеками для анализа данных, используя язык программирования Python — Pandas и Scikit-learn.
Перейти к материалу
👉 База вопросов 👉 Новости
#Собес #scaling #optimization #performance
🤔 Как отправить 10 000 запросов за короткое время – подходы и оптимизация?
💬 Кратко:
Для отправки 10 000 запросов используйте асинхронный подход с ограничением параллелизма через Semaphore. Группируйте запросы с помощью
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Как отправить 10 000 запросов за короткое время – подходы и оптимизация?
💬 Кратко:
Для отправки 10 000 запросов используйте асинхронный подход с ограничением параллелизма через Semaphore. Группируйте запросы с помощью
asyncio.gather() в батчах, используйте connection pooling и настраивайте таймауты для избежания блокировок.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🧑💻 5 сложных вопросов для Python разработчиков
1. Что такое конструктор класса / Как создается объект?
Конструктор класса — это специальный метод
2. Что такое параллелизм?
Параллелизм — это выполнение нескольких операций одновременно. В многозадачности задачи могут переключаться между собой, но в параллелизме задачи реально выполняются одновременно, используя несколько процессоров или ядер.
3. Что такое асинхронное программирование?
Асинхронное программирование позволяет выполнять несколько задач одновременно, не блокируя основной поток программы. В Python для этого используются ключевые слова
4. Что такое поведенческие паттерны?
Поведенческие паттерны проектирования фокусируются на улучшении взаимодействия между объектами и организации их ответственности. Эти паттерны помогают создать гибкие и удобные в обслуживании системы, обеспечивая решение проблем взаимодействия и распределения обязанностей.
5. Какая есть связь между хеш-функцией и изменяемостью/неизменяемостью?
Хеш-функция используется для получения уникального значения для объекта, которое представляет его состояние. В Python объекты, которые изменяются после создания, не могут быть хешируемыми, потому что их хеш-значение может измениться, что нарушит работу хеш-таблиц (например, словарей). Неизменяемые объекты, такие как строки и кортежи, можно хешировать, потому что их состояние не меняется.
#constructor #class #init #parallelism #concurrency #multiprocessing #async #await #behavioral #pattern #software #hash #immutable #mutable
1. Что такое конструктор класса / Как создается объект?
Конструктор класса — это специальный метод
__init__, который вызывается при создании нового объекта. Он используется для инициализации атрибутов объекта и выполнения других начальных действий.2. Что такое параллелизм?
Параллелизм — это выполнение нескольких операций одновременно. В многозадачности задачи могут переключаться между собой, но в параллелизме задачи реально выполняются одновременно, используя несколько процессоров или ядер.
3. Что такое асинхронное программирование?
Асинхронное программирование позволяет выполнять несколько задач одновременно, не блокируя основной поток программы. В Python для этого используются ключевые слова
async и await, которые позволяют запускать корутины и управлять асинхронными операциями.4. Что такое поведенческие паттерны?
Поведенческие паттерны проектирования фокусируются на улучшении взаимодействия между объектами и организации их ответственности. Эти паттерны помогают создать гибкие и удобные в обслуживании системы, обеспечивая решение проблем взаимодействия и распределения обязанностей.
5. Какая есть связь между хеш-функцией и изменяемостью/неизменяемостью?
Хеш-функция используется для получения уникального значения для объекта, которое представляет его состояние. В Python объекты, которые изменяются после создания, не могут быть хешируемыми, потому что их хеш-значение может измениться, что нарушит работу хеш-таблиц (например, словарей). Неизменяемые объекты, такие как строки и кортежи, можно хешировать, потому что их состояние не меняется.
#constructor #class #init #parallelism #concurrency #multiprocessing #async #await #behavioral #pattern #software #hash #immutable #mutable
#podcast #сравнение
📚 Пятиминутка PHP
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Помимо PHP поднимаем темы про инфраструктуру, администрирование Linux и DevOps подходы, сравниваем PHP с другими языками программирования, например с Go, Rust и даже Erlang.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Пятиминутка PHP
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Помимо PHP поднимаем темы про инфраструктуру, администрирование Linux и DevOps подходы, сравниваем PHP с другими языками программирования, например с Go, Rust и даже Erlang.
Перейти к материалу
👉 База вопросов 👉 Новости
❤1
#article #тренажер
📚 Тренажеры для тестировщика. Где взять практику?
Возвращаемся к нашему любимому вопросу — много теории, мало практики. Где тренироваться тестированию самоучке или человеку, которому не хватает практических заданий на курсах?
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Тренажеры для тестировщика. Где взять практику?
Возвращаемся к нашему любимому вопросу — много теории, мало практики. Где тренироваться тестированию самоучке или человеку, которому не хватает практических заданий на курсах?
Перейти к материалу
👉 База вопросов 👉 Новости
#Собес #oop #slots #memory_optimization
🤔 Что такое __slots__
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Что такое __slots__
💬 Кратко:
__slots__ — это специальный атрибут класса, который ограничивает набор атрибутов, которые можно присваивать экземплярам этого класса. Он помогает экономить память, исключая создание словаря для хранения атрибутов объектов.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал