#Собес #git_init
🤔 Что такое репозиторий Git и как вы его инициализируете?
💬 Кратко:
Репозиторий Git — это хранилище, где отслеживаются все изменения вашего проекта, включая файлы, их историю и ветки. Чтобы инициализировать репозиторий, используйте команду
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Что такое репозиторий Git и как вы его инициализируете?
💬 Кратко:
Репозиторий Git — это хранилище, где отслеживаются все изменения вашего проекта, включая файлы, их историю и ветки. Чтобы инициализировать репозиторий, используйте команду
git init, которая создаёт скрытую папку .git, где Git сохраняет свои данные.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
👍1
#repository #кибербезопасность
📚 Структурированный 90-дневный план обучения кибербезопасности предназначенный для начинающих специалистов
План обучения, разделённый на ежедневные задания, охватывающие ключевые темы
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Структурированный 90-дневный план обучения кибербезопасности предназначенный для начинающих специалистов
План обучения, разделённый на ежедневные задания, охватывающие ключевые темы
Перейти к материалу
👉 База вопросов 👉 Новости
Forwarded from YeaHub
[Версия 1.3.0] - Обновление платформы
Мы продолжаем развивать YeaHub, чтобы сделать обучение ещё удобнее, эффективнее и интереснее. В этом обновлении — важные и давно ожидаемые улучшения 👇
🔹 Навыки и ключевые слова из вакансий HH
Мы запустили сервис, который помогает прокачать резюме с помощью популярных навыков и ключевых слов, встречающихся в вакансиях. Это поможет вам выше ранжироваться в поиске среди кандидатов и увеличит конверсию откликов.
https://yeahub.ru/hh-analytics?page=1&mode=skills&specialization=11
🔹 Исправления и улучшения
Мы учли вашу обратную связь: исправили баги, улучшили интерфейс и сделали работу с платформой ещё комфортнее 🧠
🔥 Скоро
1. Сервис Лайвкодинга с реальными задачами с собеседований
👉 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
#release #news #update #yeahub
Мы продолжаем развивать YeaHub, чтобы сделать обучение ещё удобнее, эффективнее и интереснее. В этом обновлении — важные и давно ожидаемые улучшения 👇
🔹 Навыки и ключевые слова из вакансий HH
Мы запустили сервис, который помогает прокачать резюме с помощью популярных навыков и ключевых слов, встречающихся в вакансиях. Это поможет вам выше ранжироваться в поиске среди кандидатов и увеличит конверсию откликов.
https://yeahub.ru/hh-analytics?page=1&mode=skills&specialization=11
🔹 Исправления и улучшения
Мы учли вашу обратную связь: исправили баги, улучшили интерфейс и сделали работу с платформой ещё комфортнее 🧠
1. Сервис Лайвкодинга с реальными задачами с собеседований
👉 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
#release #news #update #yeahub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
#Собес #mutex #synchronization #unlock
🤔 Что такое mutex, какие они бывают и как их использовать?
💬 Кратко:
Mutex — это механизм синхронизации, который предотвращает одновременный доступ к разделяемым ресурсам несколькими горутинами. В Go есть два типа мьютексов: sync.Mutex (блокирует доступ) и sync.RWMutex (разделяет доступ для чтения и записи). Для работы с мьютексами нужно использовать методы
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Что такое mutex, какие они бывают и как их использовать?
💬 Кратко:
Mutex — это механизм синхронизации, который предотвращает одновременный доступ к разделяемым ресурсам несколькими горутинами. В Go есть два типа мьютексов: sync.Mutex (блокирует доступ) и sync.RWMutex (разделяет доступ для чтения и записи). Для работы с мьютексами нужно использовать методы
Lock и Unlock.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
👍2❤1
Кэширование в Go-приложениях: стратегии и инструменты
Кэширование — ключевой метод повышения производительности приложений. В Go есть несколько подходов для его реализации.
Локальное кэширование в памяти
Простейший вариант — использование map с синхронизацией через sync.RWMutex. Подходит для небольших объемов данных с простой инвалидацией.
sync.Map рекомендуется для высококонкурентных read-heavy сценариев, когда ключи редко меняются. Не требует явной синхронизации.
Библиотека groupcache от Google создавалась для распределенного кэширования, но работает и локально. Автоматически управляет памятью и имеет эффективные механизмы обновления.
Внешние системы кэширования
Redis — наиболее популярное решение. Поддерживает различные структуры данных, транзакции, публикацию/подписку. Из Go работают через библиотеки go-redis или rueidis.
Memcached проще Redis, но эффективен для простых ключ-значение структур. Имеет меньше возможностей, но высокую производительность.
Стратегии инвалидации
TTL (Time to Live) — данные удаляются автоматически по истечении времени. Удобно, но может приводить к cache stampede при одновременном обновлении.
Явная инвалидация при изменении данных. Требует отслеживания изменений, но обеспечивает актуальность кэша.
Write-through и write-behind стратегии. Данные записываются одновременно в кэш и основное хранилище или с небольшой задержкой.
Кэширование в Go-приложениях: стратегии и инструменты
Кэширование — ключевой метод повышения производительности приложений. В Go есть несколько подходов для его реализации.
Локальное кэширование в памяти
Простейший вариант — использование map с синхронизацией через sync.RWMutex. Подходит для небольших объемов данных с простой инвалидацией.
sync.Map рекомендуется для высококонкурентных read-heavy сценариев, когда ключи редко меняются. Не требует явной синхронизации.
Библиотека groupcache от Google создавалась для распределенного кэширования, но работает и локально. Автоматически управляет памятью и имеет эффективные механизмы обновления.
Внешние системы кэширования
Redis — наиболее популярное решение. Поддерживает различные структуры данных, транзакции, публикацию/подписку. Из Go работают через библиотеки go-redis или rueidis.
Memcached проще Redis, но эффективен для простых ключ-значение структур. Имеет меньше возможностей, но высокую производительность.
Стратегии инвалидации
TTL (Time to Live) — данные удаляются автоматически по истечении времени. Удобно, но может приводить к cache stampede при одновременном обновлении.
Явная инвалидация при изменении данных. Требует отслеживания изменений, но обеспечивает актуальность кэша.
Write-through и write-behind стратегии. Данные записываются одновременно в кэш и основное хранилище или с небольшой задержкой.
Практические рекомендации
Всегда реализуйте graceful degradation. При недоступности кэша приложение должно продолжать работать, обращаясь к основному источнику данных.
Настройте мониторинг hit/miss ratio. Низкий процент попаданий указывает на неэффективную стратегию кэширования.
Используйте multi-level кэширование: L1 — локальная память, L2 — Redis. Это снижает нагрузку на внешние системы.
Для высоконагруженных систем настройте шардирование кэша между несколькими инстансами. Это распределит нагрузку и увеличит доступную память.
Кэширование требует баланса между производительностью и актуальностью данных. Правильно выбранная стратегия значительно улучшает отзывчивость приложения при сохранении консистентности данных.
Кэширование — ключевой метод повышения производительности приложений. В Go есть несколько подходов для его реализации.
Локальное кэширование в памяти
Простейший вариант — использование map с синхронизацией через sync.RWMutex. Подходит для небольших объемов данных с простой инвалидацией.
sync.Map рекомендуется для высококонкурентных read-heavy сценариев, когда ключи редко меняются. Не требует явной синхронизации.
Библиотека groupcache от Google создавалась для распределенного кэширования, но работает и локально. Автоматически управляет памятью и имеет эффективные механизмы обновления.
Внешние системы кэширования
Redis — наиболее популярное решение. Поддерживает различные структуры данных, транзакции, публикацию/подписку. Из Go работают через библиотеки go-redis или rueidis.
Memcached проще Redis, но эффективен для простых ключ-значение структур. Имеет меньше возможностей, но высокую производительность.
Стратегии инвалидации
TTL (Time to Live) — данные удаляются автоматически по истечении времени. Удобно, но может приводить к cache stampede при одновременном обновлении.
Явная инвалидация при изменении данных. Требует отслеживания изменений, но обеспечивает актуальность кэша.
Write-through и write-behind стратегии. Данные записываются одновременно в кэш и основное хранилище или с небольшой задержкой.
Кэширование в Go-приложениях: стратегии и инструменты
Кэширование — ключевой метод повышения производительности приложений. В Go есть несколько подходов для его реализации.
Локальное кэширование в памяти
Простейший вариант — использование map с синхронизацией через sync.RWMutex. Подходит для небольших объемов данных с простой инвалидацией.
sync.Map рекомендуется для высококонкурентных read-heavy сценариев, когда ключи редко меняются. Не требует явной синхронизации.
Библиотека groupcache от Google создавалась для распределенного кэширования, но работает и локально. Автоматически управляет памятью и имеет эффективные механизмы обновления.
Внешние системы кэширования
Redis — наиболее популярное решение. Поддерживает различные структуры данных, транзакции, публикацию/подписку. Из Go работают через библиотеки go-redis или rueidis.
Memcached проще Redis, но эффективен для простых ключ-значение структур. Имеет меньше возможностей, но высокую производительность.
Стратегии инвалидации
TTL (Time to Live) — данные удаляются автоматически по истечении времени. Удобно, но может приводить к cache stampede при одновременном обновлении.
Явная инвалидация при изменении данных. Требует отслеживания изменений, но обеспечивает актуальность кэша.
Write-through и write-behind стратегии. Данные записываются одновременно в кэш и основное хранилище или с небольшой задержкой.
Практические рекомендации
Всегда реализуйте graceful degradation. При недоступности кэша приложение должно продолжать работать, обращаясь к основному источнику данных.
Настройте мониторинг hit/miss ratio. Низкий процент попаданий указывает на неэффективную стратегию кэширования.
Используйте multi-level кэширование: L1 — локальная память, L2 — Redis. Это снижает нагрузку на внешние системы.
Для высоконагруженных систем настройте шардирование кэша между несколькими инстансами. Это распределит нагрузку и увеличит доступную память.
Кэширование требует баланса между производительностью и актуальностью данных. Правильно выбранная стратегия значительно улучшает отзывчивость приложения при сохранении консистентности данных.
👍2❤1
#Собес #scope #heap #stack
🤔 Middle Golang Backend-разработчик в Газпром.
Техническое собеседование. Осень 2024. Вилка 150к+. Опыт в резюме: 3 года. Были вопросы про текущее место работы.
💬 Вопросы:
- Что произойдёт при попытке записи в неинициализированный канал?
- В чём разница между буферизированным и небуферизированным каналом? Какой из них быстрее передаст значение?
- Как повлияет тип получателя (по значению или по ссылке) на реализацию интерфейса двумя структурами?
- Какие бывают типы интерфейсов?
- Есть ли в Go полиморфизм как принцип ООП?
👉 Все вопросы из этого собеседования (25)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
🤔 Middle Golang Backend-разработчик в Газпром.
Техническое собеседование. Осень 2024. Вилка 150к+. Опыт в резюме: 3 года. Были вопросы про текущее место работы.
💬 Вопросы:
- Что произойдёт при попытке записи в неинициализированный канал?
- В чём разница между буферизированным и небуферизированным каналом? Какой из них быстрее передаст значение?
- Как повлияет тип получателя (по значению или по ссылке) на реализацию интерфейса двумя структурами?
- Какие бывают типы интерфейсов?
- Есть ли в Go полиморфизм как принцип ООП?
👉 Все вопросы из этого собеседования (25)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
❤1
#Собес #distinct #group_by
🤔 Как еще, кроме DISTINCT, можно добиться уникальности записей в выборке?
💬 Кратко:
Кроме
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Как еще, кроме DISTINCT, можно добиться уникальности записей в выборке?
💬 Кратко:
Кроме
DISTINCT, уникальности записей можно добиться с помощью GROUP BY по всем нужным столбцам, использованием оконных функций (например, ROW_NUMBER()) с фильтрацией, или путем агрегации и последующего разворачивания данных. Каждый метод имеет свои применения в зависимости от контекста.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#course #ооп #case
📚 Практический анализ ПО с моделированием на UML
Целью курса является обучение слушателей теоретическим основам объектно-ориентированного подхода, практическим методам визуального проектирования и технологии разработки программного обеспечения с использованием компьютеризированных систем разработки (CASE
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Практический анализ ПО с моделированием на UML
Целью курса является обучение слушателей теоретическим основам объектно-ориентированного подхода, практическим методам визуального проектирования и технологии разработки программного обеспечения с использованием компьютеризированных систем разработки (CASE
Перейти к материалу
👉 База вопросов 👉 Новости
👍2
#Собес #go #workerpool #goroutine
🤔 Как реализовать worker pool с ограничением по concurrency в Go?
💬 Кратко:
Worker pool — это набор фиксированных воркеров, которые получают задачи из канала и обрабатывают их параллельно. Ограничение по concurrency достигается размером пула.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Как реализовать worker pool с ограничением по concurrency в Go?
💬 Кратко:
Worker pool — это набор фиксированных воркеров, которые получают задачи из канала и обрабатывают их параллельно. Ограничение по concurrency достигается размером пула.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
❤1
Graceful Shutdown в Go: основы
Graceful Shutdown обеспечивает корректное завершение работы приложения без потери данных и обрыва операций.
Механизм работы
При получении SIGINT/SIGTERM приложение начинает плавную остановку: прекращает принимать новые запросы, завершает текущие операции, освобождает ресурсы.
Реализация
Используйте context.WithCancel для создания отменяемого контекста. При сигнале вызывайте cancel() и передавайте контекст во все долгие операции.
Для HTTP серверов вызовите Shutdown() с таймаутом. Сервер перестанет принимать новые соединения, но завершит обработку текущих.
Координация компонентов
Используйте sync.WaitGroup для отслеживания рабочих горутин. Закрытие канала может служить универсальным сигналом остановки.
Закрывайте все внешние соединения: БД, кэши, брокеры сообщений. Используйте встроенные методы Close/Shutdown библиотек.
Практические советы
Настройте обработку SIGINT (Ctrl+C) и SIGTERM через os/signal. Установите разумные таймауты на каждый этап завершения.
Логируйте процесс shutdown для диагностики. При превышении таймаутов продолжайте завершение, фиксируя проблемные компоненты.
В микросервисных архитектурах снимите инстанс с балансировки нагрузки до начала shutdown. В Kubernetes используйте preStop hooks.
Правильная реализация Graceful Shutdown предотвращает потерю данных и улучшает пользовательский опыт при обновлениях и масштабировании.
Graceful Shutdown обеспечивает корректное завершение работы приложения без потери данных и обрыва операций.
Механизм работы
При получении SIGINT/SIGTERM приложение начинает плавную остановку: прекращает принимать новые запросы, завершает текущие операции, освобождает ресурсы.
Реализация
Используйте context.WithCancel для создания отменяемого контекста. При сигнале вызывайте cancel() и передавайте контекст во все долгие операции.
Для HTTP серверов вызовите Shutdown() с таймаутом. Сервер перестанет принимать новые соединения, но завершит обработку текущих.
Координация компонентов
Используйте sync.WaitGroup для отслеживания рабочих горутин. Закрытие канала может служить универсальным сигналом остановки.
Закрывайте все внешние соединения: БД, кэши, брокеры сообщений. Используйте встроенные методы Close/Shutdown библиотек.
Практические советы
Настройте обработку SIGINT (Ctrl+C) и SIGTERM через os/signal. Установите разумные таймауты на каждый этап завершения.
Логируйте процесс shutdown для диагностики. При превышении таймаутов продолжайте завершение, фиксируя проблемные компоненты.
В микросервисных архитектурах снимите инстанс с балансировки нагрузки до начала shutdown. В Kubernetes используйте preStop hooks.
Правильная реализация Graceful Shutdown предотвращает потерю данных и улучшает пользовательский опыт при обновлениях и масштабировании.
❤2👍2🔥1
#Собес #interface #slice #map
🤔 Middle Golang Backend-разработчик в Digital Spirit.
Техническое собеседование. Лето 2024. Опыт в резюме: 3 года. Вилка 200к+. Аутсорс. Были вопросы про текущее место работы, большая теоретическая часть, секция лайвкодинга.
💬 Вопросы:
- Как ООП реализовано в Go?
- Что будет, если попытаться писать в закрытом канале?
- Что такое транзакции в PostgreSQL?
- Что такое индекс в базе данных?
- Что такое type switch в Go?
👉 Все вопросы из этого собеседования (34)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
🤔 Middle Golang Backend-разработчик в Digital Spirit.
Техническое собеседование. Лето 2024. Опыт в резюме: 3 года. Вилка 200к+. Аутсорс. Были вопросы про текущее место работы, большая теоретическая часть, секция лайвкодинга.
💬 Вопросы:
- Как ООП реализовано в Go?
- Что будет, если попытаться писать в закрытом канале?
- Что такое транзакции в PostgreSQL?
- Что такое индекс в базе данных?
- Что такое type switch в Go?
👉 Все вопросы из этого собеседования (34)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
#Собес #git_хуки
🤔 Из чего состоят “хуки” в Git?
💬 Кратко:
Хуки в Git — это скрипты, которые выполняются автоматически при определённых действиях в репозитории, таких как коммиты, слияния или пуши. Они находятся в директории
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Из чего состоят “хуки” в Git?
💬 Кратко:
Хуки в Git — это скрипты, которые выполняются автоматически при определённых действиях в репозитории, таких как коммиты, слияния или пуши. Они находятся в директории
.git/hooks и могут быть настроены для выполнения различных задач.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#documentation #http
📚 Все про HTTP
Тут собрано всё, что нужно знать про самый популярный протокол интернета
✓ Все статус-коды с понятными объяснениями
✓ Методы и заголовки
✓ Подборка инструментов для тестирования HTTP
✓ Чёткая инфа про HTTP/3
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Все про HTTP
Тут собрано всё, что нужно знать про самый популярный протокол интернета
✓ Все статус-коды с понятными объяснениями
✓ Методы и заголовки
✓ Подборка инструментов для тестирования HTTP
✓ Чёткая инфа про HTTP/3
Перейти к материалу
👉 База вопросов 👉 Новости
🔥1
#Собес #set #map #struct
🤔 Есть ли в Go тип Set?
💬 Кратко:
В Go нет встроенного типа
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Есть ли в Go тип Set?
💬 Кратко:
В Go нет встроенного типа
Set, но можно легко реализовать множество с помощью map[T]struct{}. Такой подход эффективен и компактен.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
❤1👍1
Оптимизация работы с памятью в Go: практические техники
Эффективное управление памятью критически важно для производительности Go-приложений. Вот ключевые подходы.
Снижение аллокаций
Основной источник аллокаций — создание объектов в куче. Используйте stack allocation где возможно: локальные переменные, небольшие структуры.
Преаллокация слайсов и мап через make с указанием capacity уменьшает количество переаллокаций при росте.
sync.Pool для переиспользования объектов, которые дорого создавать. Эффективно для временных буферов, структур парсинга, encoder/decoder.
Профилирование памяти
Используйте pprof для анализа аллокаций. heap profile показывает распределения в куче, allocs — общее количество аллокаций.
Flame graphs помогают визуализировать цепочки вызовов, создающих аллокации. Ищите горячие пути с большим количеством распределений.
Оптимизация структур данных
Выравнивание полей структур уменьшает размер памяти и повышает производительность. Используйте fieldalignment для автоматической оптимизации.
Рассмотрите использование массивов вместо слайсов для небольших фиксированных коллекций. Массивы выделяются на стеке.
Для строковых операций используйте strings.Builder вместо конкатенации через +. Это минимизирует аллокации.
GC тонкой настройки
Переменная GOGC контролирует агрессивность сборщика мусора. Увеличение значения уменьшает частность GC, но увеличивает потребление памяти.
Для latency-sensitive приложений рассмотрите использование GOGC=off с ручным управлением памятью через debug.FreeOSMemory.
Паттерны кодирования
При работе с JSON избегайте частого создания encoder/decoder. Используйте пул или создавайте один экземпляр.
Для бинарных протоколов используйте заранее аллоцированные буферы и реиспользуйте их через sync.Pool.
Мониторинг в продакшене
Отслеживайте показатели runtime.MemStats: HeapAlloc, StackInuse, NumGC, PauseTotalNs.
Настройте алерты на рост потребления памяти и увеличение пауз GC.
Оптимизация памяти — баланс между производительностью, сложностью кода и временем разработки. Начинайте с профилирования, оптимизируйте только горячие участки, измеряйте эффект после каждой оптимизации.
Эффективное управление памятью критически важно для производительности Go-приложений. Вот ключевые подходы.
Снижение аллокаций
Основной источник аллокаций — создание объектов в куче. Используйте stack allocation где возможно: локальные переменные, небольшие структуры.
Преаллокация слайсов и мап через make с указанием capacity уменьшает количество переаллокаций при росте.
sync.Pool для переиспользования объектов, которые дорого создавать. Эффективно для временных буферов, структур парсинга, encoder/decoder.
Профилирование памяти
Используйте pprof для анализа аллокаций. heap profile показывает распределения в куче, allocs — общее количество аллокаций.
Flame graphs помогают визуализировать цепочки вызовов, создающих аллокации. Ищите горячие пути с большим количеством распределений.
Оптимизация структур данных
Выравнивание полей структур уменьшает размер памяти и повышает производительность. Используйте fieldalignment для автоматической оптимизации.
Рассмотрите использование массивов вместо слайсов для небольших фиксированных коллекций. Массивы выделяются на стеке.
Для строковых операций используйте strings.Builder вместо конкатенации через +. Это минимизирует аллокации.
GC тонкой настройки
Переменная GOGC контролирует агрессивность сборщика мусора. Увеличение значения уменьшает частность GC, но увеличивает потребление памяти.
Для latency-sensitive приложений рассмотрите использование GOGC=off с ручным управлением памятью через debug.FreeOSMemory.
Паттерны кодирования
При работе с JSON избегайте частого создания encoder/decoder. Используйте пул или создавайте один экземпляр.
Для бинарных протоколов используйте заранее аллоцированные буферы и реиспользуйте их через sync.Pool.
Мониторинг в продакшене
Отслеживайте показатели runtime.MemStats: HeapAlloc, StackInuse, NumGC, PauseTotalNs.
Настройте алерты на рост потребления памяти и увеличение пауз GC.
Оптимизация памяти — баланс между производительностью, сложностью кода и временем разработки. Начинайте с профилирования, оптимизируйте только горячие участки, измеряйте эффект после каждой оптимизации.
👍2
#Собес #golang #profiling #pprof
🤔 Middle+ Golang Backend-разработчик в «Яндекс»
Техническое собеседование. Осень 2025. Вилка 290к+.
Проект: аналитическая платформа и система событийной обработки для сервисов Яндекса.
Опыт в резюме — 3.5 года.
💬 Вопросы:
- Что делает sync.Cond и в каких случаях его предпочтительнее использовать вместо каналов?
- В чём отличие runtime.Goexit() от os.Exit() и когда их применяют?
- Когда использовать context.WithTimeout, а когда context.WithDeadline?
- Что такое transactional outbox и зачем он нужен?
- Как работает планировщик горутин (роль GOMAXPROCS, зависимость от ядер ОС)?
👉 Все вопросы из этого собеседования (13)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
🤔 Middle+ Golang Backend-разработчик в «Яндекс»
Техническое собеседование. Осень 2025. Вилка 290к+.
Проект: аналитическая платформа и система событийной обработки для сервисов Яндекса.
Опыт в резюме — 3.5 года.
💬 Вопросы:
- Что делает sync.Cond и в каких случаях его предпочтительнее использовать вместо каналов?
- В чём отличие runtime.Goexit() от os.Exit() и когда их применяют?
- Когда использовать context.WithTimeout, а когда context.WithDeadline?
- Что такое transactional outbox и зачем он нужен?
- Как работает планировщик горутин (роль GOMAXPROCS, зависимость от ядер ОС)?
👉 Все вопросы из этого собеседования (13)
📣 Хочешь больше собесов?
Подпишись на наш главный канал
❤1🔥1🤯1
#Собес #ipv6 #docker #daemon
🤔 Поддерживает ли Docker IPV6?
💬 Кратко:
Да, Docker поддерживает IPv6, но только на Linux-серверах. Чтобы включить поддержку IPv6, необходимо настроить Docker daemon, изменив параметр
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Поддерживает ли Docker IPV6?
💬 Кратко:
Да, Docker поддерживает IPv6, но только на Linux-серверах. Чтобы включить поддержку IPv6, необходимо настроить Docker daemon, изменив параметр
ipv6 в конфигурационном файле /etc/docker/daemon.json.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал