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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какой тип данных используется в Go для работы с множеством байтов?
Anonymous Quiz
6%
string
84%
[]byte
3%
array
7%
bytes
🤔 Какие недостатки есть у Go?

Одним из недостатков Go является отсутствие дженериков до версии 1.18, что делало код менее гибким и приводило к повторению однотипных функций для разных типов данных. Go также не поддерживает наследование классов и сложные конструкции ООП, что может ограничивать архитектуру приложений для разработчиков, привыкших к традиционным ООП языкам. Ещё один недостаток — слабая стандартная библиотека для работы с шаблонами и сложными функциональными абстракциями. Однако простота Go делает его эффективным для системного и сетевого программирования.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go создать небуферизованный канал для целых чисел?
Anonymous Quiz
10%
make(chan int, 1)
81%
make(chan int)
4%
new(chan int)
5%
make(unbuf chan int)
🤔 Как в Go определить метод, который не изменяет состояние структуры?
Anonymous Quiz
20%
func (t *Type) Method() {}
73%
func (t Type) Method() {}
6%
func Type.Method() {}
1%
func t.Type.Method() {}
🤔 Что такое context в Go?

`context` в Go используется для управления временем выполнения горутин, передачи метаданных и отмены операций. Контексты позволяют устанавливать тайм-ауты, дедлайны и передавать отмену сигналов между горутинами, что помогает координировать завершение связанных операций. `context` передаётся как аргумент функций, и это позволяет управлять зависимыми процессами более эффективно. Это особенно полезно в сетевом программировании и запросах, которые могут быть отменены по истечению времени.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое значение будет возвращено функцией, если переданный указатель на структуру равен nil?
Anonymous Quiz
37%
Паника
43%
Нулевое значение типа структуры
11%
Ошибка компиляции
9%
Ничего не вернется
🤔 В чем разница TCP и UDP?

TCP (Transmission Control Protocol) — это протокол, который обеспечивает надёжную передачу данных, гарантируя, что все пакеты будут доставлены в правильном порядке и без потерь. TCP устанавливает соединение между клиентом и сервером перед передачей данных, проверяет целостность пакетов и управляет повторной передачей потерянных данных. UDP (User Datagram Protocol) не гарантирует доставку пакетов, не обеспечивает контроль за порядком их получения и не требует установления соединения, что делает его более быстрым, но менее надёжным. UDP предпочтителен для приложений, где скорость важнее надёжности, например, для видеостриминга или онлайн-игр.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go объявить метод для структуры, который не изменяет ее состояние?
Anonymous Quiz
14%
func (t *Type) Method() {}
79%
func (t Type) Method() {}
4%
func Type.Method() {}
2%
func t.Type.Method() {}
🤔 Как в Go объявить функцию с именем main, которая является точкой входа в программу?
Anonymous Quiz
0%
func start() {}
96%
func main() {}
0%
func entry() {}
3%
func main() int {}
🤔 Что такое mutex, какие они бывают и как их использовать?

Mutex (mutual exclusion) — это механизм синхронизации, который предотвращает одновременный доступ нескольких потоков к общим ресурсам, таким как данные или память. Основная задача мьютекса — блокировка доступа к ресурсу до тех пор, пока один поток не завершит работу с ним, после чего ресурс становится доступным для других потоков. Мьютексы бывают обычными (нельзя повторно захватывать одним и тем же потоком) и рекурсивными (позволяют одному потоку захватывать мьютекс несколько раз без блокировки). Мьютексы используются для решения проблем многопоточности, таких как гонки данных, и обеспечивают согласованность данных при параллельном доступе.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go определить метод, который принимает структуру в качестве аргумента и изменяет ее состояние?
Anonymous Quiz
35%
func (t *Type) Method(s Type) {}
27%
func (t Type) Method(s *Type) {}
37%
func (t *Type) Method(s *Type) {}
2%
func t.Type.Method(s Type) {}
🤔 В чем ключевое различие слайса от массива?

В Go, массивы имеют фиксированный размер, который определяется при компиляции, и не может быть изменен во время выполнения программы. Слайсы являются более гибкими и динамичными структурами данных, которые предоставляют вид на базовый массив. Слайсы поддерживают автоматическое расширение при добавлении элементов, что делает их более удобными для использования во многих сценариях.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go объявить метод, который не изменяет состояние структуры и принимает интерфейс в качестве аргумента?
Anonymous Quiz
16%
func (t *Type) Method(i interface{}) {}
78%
func (t Type) Method(i interface{}) {}
4%
func Type.Method(i interface{}) {}
1%
func t.Type.Method(i interface{}) {}
🤔 Как в Go объявить переменную с типом указателя на int?
Anonymous Quiz
10%
var x int
4%
var x int
8%
var x int&
78%
var x *Int
🤔 Что такое репликация?

Репликация в контексте баз данных и распределенных систем — это процесс синхронизации данных между несколькими узлами для увеличения надежности, отказоустойчивости и доступности. Репликация может быть синхронной или асинхронной и помогает обеспечить, что данные остаются доступными и последовательными даже в случае сбоев одного или нескольких узлов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go объявить переменную с типом указателя на int?
Anonymous Quiz
21%
var x int
6%
var x int
3%
var x int&
70%
var x *Int
🤔 Как в Go создать канал с буфером на 5 элементов?
Anonymous Quiz
88%
make(chan int, 5)
1%
make(chan int)
4%
make(buf chan int, 5)
7%
make(chan<- int, 5)
🤔 Что будет, если попытаться писать в закрытом канале?

В Go, попытка записи в закрытый канал приводит к панике во время выполнения программы. Это мера предосторожности, чтобы предотвратить неопределенное поведение и ошибки, связанные с управлением состояниями в многопоточных приложениях.

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