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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download 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
🤔 Как в Go создать константу с типом float64?
Anonymous Quiz
86%
const x float64 = 3.14
1%
let x float64 = 3.14
11%
var x float64 = 3.14
2%
float64 x = 3.14
🤔 Как в Go объявить метод, который изменяет состояние структуры и принимает указатель на интерфейс в качестве аргумента?
Anonymous Quiz
83%
func (t *Type) Method(i *interface{}) {}
7%
func (t Type) Method(i interface{}) {}
9%
func Type.Method(i *interface{}) {}
0%
func t.Type.Method(i interface{}) {}
🤔 В чем разница между буферизированными и небуферизированными каналами?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go объявить функцию, принимающую и возвращающую указатель на структуру?
Anonymous Quiz
88%
func f(s *Type) *Type {}
4%
func f(s Type) *Type {}
7%
func f(s *Type) Type {}
1%
func f(s Type) Type {}
🤔 Как в Go объявить переменную с типом map, где ключи — строки, а значения — целые числа?
Anonymous Quiz
8%
var m map[int]string
91%
var m map[string]int
0%
var m dict[string]int
0%
var m dict[int]string
🤔 Что такое микросервисная архитектура?

Микросервисная архитектура — это подход к разработке программного обеспечения, при котором приложение состоит из маленьких, независимых и модульных сервисов, каждый из которых выполняет определенную функцию и общается с другими сервисами посредством легковесных механизмов, таких как HTTP API. Это позволяет упростить разработку, тестирование, развертывание и масштабирование каждого сервиса независимо.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для объявления анонимного блока кода, который исполняется немедленно в Go?
Anonymous Quiz
9%
block
6%
scope
72%
func
14%
lamda