❓ Что будет, если попытаться передать данные в канал, который не был инициализирован?
👻 — Программа будет работать, и данные будут отправлены через канал. Их можно будет получить позже.
🌚 — Программа остановится, так как канал не инициализирован.
⚡️ — Программа завершится с ошибкой.
🎉 — Канал автоматически инициализируется, и данные будут отправлены.
🐸Библиотека задач по Go
👻 — Программа будет работать, и данные будут отправлены через канал. Их можно будет получить позже.
🌚 — Программа остановится, так как канал не инициализирован.
⚡️ — Программа завершится с ошибкой.
🎉 — Канал автоматически инициализируется, и данные будут отправлены.
🐸Библиотека задач по Go
❓ Почему каждый программист, работающий на Go, должен начинать утро с кофе?
👻 — Когда программист пьёт кофе, его производительность возрастает, как будто он увеличил GOMAXPROCS с 1 до 4.
🌚 — Кофе улучшает взаимодействие между мозгом и клавиатурой, предотвращая гонки за ресурсами, а код становится свободным от deadlock.
⚡️ — Без кофе программист становится похожим на неинициализированный канал — он может только блокировать выполнение.
🎉 — Без кофе код не компилируется.
🐸 Библиотека задач по Go
👻 — Когда программист пьёт кофе, его производительность возрастает, как будто он увеличил GOMAXPROCS с 1 до 4.
🌚 — Кофе улучшает взаимодействие между мозгом и клавиатурой, предотвращая гонки за ресурсами, а код становится свободным от deadlock.
⚡️ — Без кофе программист становится похожим на неинициализированный канал — он может только блокировать выполнение.
🎉 — Без кофе код не компилируется.
🐸 Библиотека задач по Go
❓ Что будет, если программа получает сигнал о завершении, а в ней используется time.Sleep()
👻 — Все горутины сразу прекращают выполнение.
🌚 — Сигнал вообще не обрабатывается.
⚡️ — Горутина «проснётся» и начнёт завершение работы.
🎉 — Происходит паника.
🐸 Библиотека задач по Go
👻 — Все горутины сразу прекращают выполнение.
🌚 — Сигнал вообще не обрабатывается.
⚡️ — Горутина «проснётся» и начнёт завершение работы.
🎉 — Происходит паника.
🐸 Библиотека задач по Go
Что обозначает идемпотентность в случае REST API?
— Это ситуация, когда повторные запросы изменяют состояние системы.
— Это когда запросы могут выполняться несколько раз и давать одинаковый результат.
— Это когда все запросы требуют аутентификации.
— Это когда запросы возвращают ошибку при повторении.
Библиотека задач по Go.
— Это ситуация, когда повторные запросы изменяют состояние системы.
— Это когда запросы могут выполняться несколько раз и давать одинаковый результат.
— Это когда все запросы требуют аутентификации.
— Это когда запросы возвращают ошибку при повторении.
Библиотека задач по Go.
❓ Что обозначает буква «A» в термине ACID?
👻 — Атомарность: это гарантирует, что транзакция будет завершена либо полностью, либо вообще не будет выполнена.
🌚 — Абстракция: это обеспечивает возможность абстрагирования данных для различных типов пользователей.
⚡️ — Аутентификация: это обеспечивает проверку прав доступа пользователя к данным.
🎉 — Автономность: это гарантирует независимость операций в различных системах.
🐸 Библиотека задач по Go
👻 — Атомарность: это гарантирует, что транзакция будет завершена либо полностью, либо вообще не будет выполнена.
🌚 — Абстракция: это обеспечивает возможность абстрагирования данных для различных типов пользователей.
⚡️ — Аутентификация: это обеспечивает проверку прав доступа пользователя к данным.
🎉 — Автономность: это гарантирует независимость операций в различных системах.
🐸 Библиотека задач по Go
❓ Что означает буква «C» в термине ACID
👻 — Контроль: обеспечивает возможность отслеживания и управления всеми изменениями в базе данных.
🌚 — Конфиденциальность: защищает данные от несанкционированного доступа.
⚡️ — Согласованность: гарантирует, что транзакция переводит базу данных из одного согласованного состояния в другое, соблюдая все ограничения и правила.
🎉 — Конкурентоспособность: позволяет выполнять несколько транзакций одновременно без конфликтов.
🐸 Библиотека задач по Go
👻 — Контроль: обеспечивает возможность отслеживания и управления всеми изменениями в базе данных.
🌚 — Конфиденциальность: защищает данные от несанкционированного доступа.
⚡️ — Согласованность: гарантирует, что транзакция переводит базу данных из одного согласованного состояния в другое, соблюдая все ограничения и правила.
🎉 — Конкурентоспособность: позволяет выполнять несколько транзакций одновременно без конфликтов.
🐸 Библиотека задач по Go
Какой код состояния HTTP нужно вернуть при успешном создании ресурса в REST API?
Библиотека задач по Go
Библиотека задач по Go
❓ Какое значение имеет буква «I» в акрониме ACID
👻 — Интерпретируемость: позволяет транзакциям быть легко читаемыми и понятными для системы.
🌚 — Иммутабельность: гарантирует, что записанные данные нельзя изменить или удалить.
⚡️ — Изолированность: обеспечивает независимость выполнения транзакций, будто каждая из них выполняется отдельно.
🎉 — Инициативность: позволяет базе данных предсказывать и оптимизировать будущие запросы.
🐸Библиотека задач по Go
👻 — Интерпретируемость: позволяет транзакциям быть легко читаемыми и понятными для системы.
🌚 — Иммутабельность: гарантирует, что записанные данные нельзя изменить или удалить.
⚡️ — Изолированность: обеспечивает независимость выполнения транзакций, будто каждая из них выполняется отдельно.
🎉 — Инициативность: позволяет базе данных предсказывать и оптимизировать будущие запросы.
🐸Библиотека задач по Go
❓ Каковы последствия, если не вызвать cancel() у контекста?
👻 — Ничего страшного, Go сам всё очистит
🌚 — Произойдёт panic
⚡️ — Возможна утечка памяти и/или зависшая горутина
🎉 — Контекст завершится по истечении времени
🐸 Библиотека задач по Go
👻 — Ничего страшного, Go сам всё очистит
🌚 — Произойдёт panic
⚡️ — Возможна утечка памяти и/или зависшая горутина
🎉 — Контекст завершится по истечении времени
🐸 Библиотека задач по Go
❓ Каково значение принципа «D» в ACID?
👻 — Обеспечивает отмену всех изменений, сделанных транзакцией, в случае сбоя системы.
🌚 — Обеспечивает сохранение данных в долговременной памяти после успешной транзакции.
⚡️ — Обеспечивает выполнение транзакций в порядке их поступления.
🎉 — Обеспечивает завершение транзакции либо успешно, либо с ошибкой.
🐸Библиотека задач по Go
👻 — Обеспечивает отмену всех изменений, сделанных транзакцией, в случае сбоя системы.
🌚 — Обеспечивает сохранение данных в долговременной памяти после успешной транзакции.
⚡️ — Обеспечивает выполнение транзакций в порядке их поступления.
🎉 — Обеспечивает завершение транзакции либо успешно, либо с ошибкой.
🐸Библиотека задач по Go
📦 Основные проблемы распределенных систем (и способы их решения)
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка связана с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.
🐸 Библиотека программиста
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка связана с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.
🐸 Библиотека программиста
❓ Что такое SLI?
👻 — Это показатель, который оценивает качество услуги, например, время отклика или доступность сервиса.
🌚 — Он помогает компаниям следить за тем, насколько их сервисы соответствуют ожиданиям пользователей.
⚡️ — Этот показатель используется для мониторинга и повышения производительности и надежности сервисов.
🎉 — Это метрика, способствующая достижению целей, установленных в рамках SLO и SLA.
🐸 Библиотека задач по Go
👻 — Это показатель, который оценивает качество услуги, например, время отклика или доступность сервиса.
🌚 — Он помогает компаниям следить за тем, насколько их сервисы соответствуют ожиданиям пользователей.
⚡️ — Этот показатель используется для мониторинга и повышения производительности и надежности сервисов.
🎉 — Это метрика, способствующая достижению целей, установленных в рамках SLO и SLA.
🐸 Библиотека задач по Go
⭐️ Что означает звёздочка у ресивера в Go
Anonymous Poll
1%
Метод может быть вызван только для переменных типа string
2%
Звёздочка у ресивера указывает на то, что переменная является глобальной
97%
Метод работает с указателем на объект, а не с его копией
0%
Позволяет методу работать только с константами
❓ Что делают процессоры в планировщике Go
Anonymous Poll
4%
Ожидают завершения горутины на одном процессе
74%
Управляют очередью готовых к выполнению горутин и передают их на выполнение
17%
Работают только на одном ядре процессора и не могут переключаться
15%
Ответственны за синхронизацию всех горутин и машин
❓ Что происходит при склеивании строк в Go
Anonymous Poll
1%
Изменяются на месте, и склеивание строк происходит без выделения новой памяти
97%
Создается новая строка, т.к. строки неизменяемы (immutable) → выделяется новая память для результата
2%
Склеиваются напрямую, память не используется для создания новой строки
1%
Использует сжатие данных, чтобы уменьшить использование памяти и ускорить процесс
❓ Что делает очередь ожидания в планировщике Go
Anonymous Poll
65%
Хранит горутины, которые готовы к выполнению на процессоре
12%
Выполняет горутины, когда они готовы, и распределяет их между машинами
17%
Переключает горутины между различными ядрами, ожидая их завершения
14%
Обрабатывает блокировки и синхронизирует горутины в очереди