Golang | Тесты
2.97K subscribers
25 photos
352 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какие есть способы написания обобщенного кода ?

1. Интерфейсы:
- Подходят для обобщения кода, работающего с разными типами, реализующими определенные методы.
2. Дженерики (Go 1.18+):
- Позволяют создавать функции и структуры с параметризованными типами.
3. Композиция функций:
- Использование функций высшего порядка для обработки различных данных.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
🤔 Как можно обработать панику с помощью defer и recover?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🤔 Какие известны виды контекстов?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какие есть возможности у создания дочернего контекста данных?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🤔 Что выполняет default в select?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤔 Какой термин описывает тест, который не требует внешних зависимостей, таких как файловая система или база данных?
Anonymous Quiz
20%
Интеграционный тест
7%
Стресс-тест
67%
Модульный тест
6%
Системный тест
👍1
🤔 Какой пакет в Go предоставляет функциональность для написания тестов?
Anonymous Quiz
3%
fmt
3%
os
92%
testing
2%
bufio
💊9
🤔 Как можно решить эту проблему?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔28💊6🤯3👍1
🤔 Какой тип данных используется для представления IP-адреса?
Anonymous Quiz
25%
IP
18%
IPAddress
35%
Addr
22%
NetAddr
💊6
🤔 Какой метод используется для создания нового сервера HTTP в Go?
Anonymous Quiz
26%
NewServer
52%
ListenAndServe
6%
CreateServer
16%
ServeHTTP
🤔 Как защититься от ошибки во время конкурентной записи в map?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
🤔 Как в Go создать запрос GET для получения данных с веб-сайта?
Anonymous Quiz
51%
http.Get(url)
1%
http.Post(url)
46%
http.NewRequest("GET", url)
2%
http.Fetch(url)
🤔4💊3
🤔 Какой пакет в Go используется для работы с регулярными выражениями?
Anonymous Quiz
52%
regexp
40%
regex
5%
pattern
4%
match
🤔2
🤔 Что такое atomics, какие бывают и как и когда их лучше использовать?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Какой интерфейс в пакете net используется для реализации сетевого соединения?
Anonymous Quiz
68%
net.Conn
7%
net.Link
3%
net.Interface
21%
net.Network
Forwarded from easyoffer
Привет, ребята!
1,5 года я учился на программиста, а сайт easyoffer.ru стал моим пет-проектом. Я создавал его, потому что:
а) нужно было добавить хоть какой-нибудь проект в резюме
б) подготовиться к прохождению собесов

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

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

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

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

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

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

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

А те, кто поддержат проект первыми, получат специальные лимитированные выгодные вознаграждения. Следите за этим телеграм каналом, если хотите стать первыми сапортерами.
6
🤔 Как в Go называется процесс проверки, реализует ли тип определенный интерфейс?
Anonymous Quiz
15%
Type checking
29%
Interface assertion
44%
Type assertion
12%
Interface checking
🤔 Что такое lock-free структуры данных, и есть ли в Go такие?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4💊1
🤔 Какой метод из пакета io является частью интерфейса Reader?
Anonymous Quiz
16%
ReadString
62%
Read
3%
ReadRune
20%
ReadBytes
👍1
🤔 Какой тип данных в Go используется для выполнения операций синхронизации между горутинами?
Anonymous Quiz
16%
sync.Mutex
24%
sync.WaitGroup
21%
chan
38%
Все вышеперечисленные
👍2💊2