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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какой механизм в Go используется для защиты критических секций кода от одновременного доступа нескольких горутин?
Anonymous Quiz
7%
sync.Once
87%
mutex.Lock()
3%
goroutine.Safe()
3%
chan
🤔 Что такое NAT в контексте?

NAT может использоваться для реализации прокси-серверов или маршрутизации сетевых запросов с помощью библиотек вроде net или net/http. Позволяет взаимодействовать с NAT, включая обработку частных и публичных IP-адресов.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
5👀3🔥1💊1
🤔 Как в Go передать переменное количество аргументов в функцию?
Anonymous Quiz
64%
params
17%
varargs
15%
variadic
4%
ellipsis
💊18👀2
🤔 Какое ключевое слово используется для завершения выполнения программы в Go?
Anonymous Quiz
36%
break
3%
stop
1%
halt
59%
exit
💊11👀4
🤔 Что такое atomics, какие бывают и как и когда их лучше использовать?

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


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

1. Явное управление:
- Встраивание дает доступ к методам встроенной структуры, но не создает иерархии.
2. Избегание жесткой привязки:
- Код становится более модульным, без строгой зависимости от базового типа.
3. Композиция вместо наследования:
- Go следует принципу композиции, что упрощает тестирование и повторное использование.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥1
🤔 Как в Go проверить, что слайс не содержит элементов?
Anonymous Quiz
76%
len(slice) == 0
7%
slice == nil
2%
empty(slice)
15%
slice.isEmpty()
💊3🤔2
🤔 Как строки работают в Golang внутри?

В Go строки представляют собой неизменяемые последовательности байтов, закодированных в UTF-8. Под капотом строка — это структура, которая хранит указатель на массив байтов и длину строки. Строки неизменяемы, что означает, что при любых операциях с ними создается новая строка. Это обеспечивает безопасность и позволяет легко работать с текстом, но при этом делает операции изменения относительно дорогими.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🤔 Какой интерфейс необходимо реализовать для пользовательского типа, чтобы его можно было использовать в пакетах io и ioutil в Go?
Anonymous Quiz
30%
ReadWrite
51%
ReaderWriter
5%
ReadableWritable
14%
ReadWriter
👍4💊2
🤔 Вопрос: Как в Go выполнить приведение типа переменной `x `к типу `int`?
Anonymous Quiz
2%
cast(x, int)
84%
int(x)
6%
convert(x, int)
7%
x.toInt()
💊9
Forwarded from easyoffer
Я боялся, что провалю собеседование. Так появился easyoffer

Когда я только начинал искать первую работу программистом, меня пугала мысль, что я просто не смогу ответить на вопросы на собеседовании.

Типа… ты потратил месяцы на то, чтобы учиться, писал pet-проекты, собирал резюме, рассылаешь отклики — и всё может закончиться на одном-единственном вопросе, на который ты не знаешь ответ.

Я реально боялся.
Я смотрел видео mock-собеседований на YouTube, останавливал каждое, выписывал вопросы в Notion. Потом вручную писал к ним ответы. И потом ещё по нескольку раз перечитывал. Такой вот "тренажёр" на коленке.

📎 (там на картинке — один из моих реальных списков в Notion, ставь 🔥 если тоже так делал)

В какой-то момент я посчитал — у меня уже было выписано больше 500 вопросов. Я почувствовал ужас.
Потому что невозможно всё это зазубрить. А что, если спросят как раз тот, к которому я не успел подготовиться?..

Тогда и пришла идея

А что если понять, какие из вопросов встречаются чаще всего? Чтобы не учить всё подряд, а сфокусироваться на главном.

Так родился easyoffer.

Сначала — просто как пет-проект, чтобы показать в резюме и подготовиться к собесам. А потом оказалось, что он реально помогает людям. За первые месяцы его посетили сотни тысяч человек. И я понял: это больше, чем просто пет-проект.

Сейчас я делаю EasyOffer 2.0
И уже не один, а вместе с вами.

В новой версии будут:
– вопросы из реальных собесов, с фильтрацией по грейду, компании, типу интервью
– тренажёр с карточками (по принципу интервальных повторений — как в Anki)
– база задач с интервью
– тренажёр «реальное собеседование», чтобы отрепетировать как в жизни

Каждая фича упрощает и сокращает время на подготовку. Все эти штуки я бы мечтал иметь, когда сам готовился к собеседованиям.

Я делаю всё на свои деньги. Никаких инвесторов. Только вы и я.

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

Все, кто поддержат проект до релиза, получат:

🚀 1 год PRO-доступа по цене месячной подписки. Его можно активировать в любое время, например когда начнете готовится к собесам.
Доступ к закрытому бета-тесту

Поддержать 👉 https://planeta.ru/campaigns/easyoffer

Спасибо, что верите в этот проект 🙌
🔥1
🤔 В какой момент инициализированное значение переменной передается в defer, как это связано с именованием функции?

Значения, передаваемые в defer, фиксируются в момент объявления defer, а не в момент выполнения.
Если ты передаёшь результат выражения, он вычисляется сразу, а отложенный вызов запоминает результат.
Но если используется именованная возвращаемая переменная, и она изменяется внутри defer, то её новое значение попадает в результат. Это позволяет, например, изменить результат функции прямо из defer-блока.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6👍3
🤔 Какой файл в Go используется для управления зависимостями проекта?
Anonymous Quiz
97%
go.mod
2%
dependencies.yaml
1%
package.json
0%
requirements.txt
💊5👍1
🤔 Как в Go объявить метод, который изменяет состояние структуры и принимает указатель на интерфейс в качестве аргумента?
Anonymous Quiz
81%
func (t *Type) Method(i *interface{}) {}
8%
func (t Type) Method(i interface{}) {}
11%
func Type.Method(i *interface{}) {}
1%
func t.Type.Method(i interface{}) {}
👍1