Golang | Тесты (@easy_golang_tests) Kanalının Son Gönderileri

Golang | Тесты Telegram Gönderileri

Golang | Тесты
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
2,156 Abone
3 Fotoğraf
158 Video
Son Güncelleme 25.02.2025 20:43

Golang | Тесты tarafından Telegram'da paylaşılan en son içerikler


🤔 Что может быть пустым интерфейсом?

Пустым интерфейсом (interface{}) может быть значение любого типа: числа, строки, структуры или указателя. Это возможно, потому что пустой интерфейс не требует реализации методов, а значит, любая сущность соответствует его требованиям. Например, interface{} часто используется для хранения данных неизвестного типа.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Что такое lock-free структуры данных, и есть ли в Go такие?

Lock-free структуры данных обеспечивают потокобезопасность без мьютексов, используя атомарные операции. Они более эффективны для высокопроизводительных систем. В Go можно создавать такие структуры с помощью пакета sync/atomic, но готовых реализаций немного.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

Привет, ребята!
1,5 года я учился на программиста, а сайт easyoffer.ru стал моим пет-проектом. Я создавал его, потому что:
а) нужно было добавить хоть какой-нибудь проект в резюме
б) подготовиться к прохождению собесов

И всё получилось! Благодаря еasyoffer я успешно прошёл собеседование и устроился Python Junior-разработчиком на удаленку с зарплатой 115 тысяч рублей.

Однако ещё во время разработки я понял, что у этого проекта есть потенциал. Казалось, что сайт может стать популярным и, возможно, превратиться в стартап.

По-этому я с самого начала заложил в проект минимальную бизнес-модель, на случай, если сайт начнёт набирать трафик. Я предложил пользователям полный доступ к сайту в обмен на подписку на Telegram-каналы. Это позволяло развивать аудиторию, а в будущем — зарабатывать на рекламе.

Результат превзошёл ожидания!
С момента запуска easyoffer посетило 400 тысяч человек. А когда доход с рекламы превысил мою зарплату программиста, я принял решение уйти с работы и полностью посвятить себя разработке новой версии сайта.

Вот так, зайдя в IT, через 4 месяца вышел через свой же пет-проект. Мне очень повезло

Уже год я работаю над easyoffer 2.0.
Это будет более масштабный и качественной новый проект:
– Появится тренажер
– Появятся задачи из собесов
– Фильтрация контента по грейдам
и еще очень много фич, о которых я расскажу позже.

Хочу, довести easyoffer до ума, чтобы сайт стал настоящим помощником для всех, кто готовится к собеседованиям.
По этому в ближайшее время я объявлю о старте краудфандинговой кампании, чтобы ускорить разработку и я готов щедро отблагодарить всех, кто поддержит проект.

А те, кто поддержат проект первыми, получат специальные лимитированные выгодные вознаграждения. Следите за этим телеграм каналом, если хотите стать первыми сапортерами.

🤔 Что такое atomics, какие бывают и как и когда их лучше использовать?

Это потокобезопасные операции с примитивными данными без мьютексов. Они включают операции чтения, записи, инкремента, сравнения и замены. Используются для повышения производительности при работе с простыми объектами, такими как счетчики или флаги.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Как защититься от ошибки во время конкурентной записи в map?

Для защиты можно использовать мьютексы, sync.Map или обрабатывать все операции с картой в отдельной горутине через каналы. Это исключает возможность одновременного доступа.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Как можно решить эту проблему?

1. Использовать мьютексы для блокировки доступа к карте.
2. Применять потокобезопасные структуры, такие как sync.Map.
3. Организовать доступ через каналы, чтобы исключить одновременные записи.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Что выполняет default в select?

default выполняется, если ни один из каналов в select не готов. Это предотвращает блокировку горутины, позволяя ей продолжить выполнение программы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Какие есть возможности у создания дочернего контекста данных?

1. Отмена операций:
- С помощью WithCancel можно отменить дочерние контексты при необходимости.
2. Управление временем выполнения:
- Установить тайм-аут или дедлайн для операций с WithTimeout или WithDeadline.
3. Передача данных:
- С WithValue можно передать данные (например, идентификаторы пользователя) между горутинами.
4. Изоляция задач:
- Дочерние контексты изолируют задачи, сохраняя независимость от других операций.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Какие известны виды контекстов?

1. context.Background:
- Основной контекст, используемый как корень.
2. context.WithCancel:
- Позволяет отменить выполнение всех дочерних контекстов.
3. context.WithTimeout:
- Устанавливает лимит времени на выполнение операций.
4. context.WithValue:
- Передача ключ-значений между горутинами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

🤔 Как можно обработать панику с помощью defer и recover?

При возникновении паники функция defer откладывает выполнение восстановления до выхода из текущей функции, а recover перехватывает ошибку, предотвращая завершение программы. Это полезно для логирования ошибок и безопасного завершения работы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний