🐿️ Задача на логику для собеседования back-end разработчика на GO
— Мы знаем, что в десятичной системе самое большое число из одной цифры - это 9, а из двух - 99. В бинарной системе самое большое число из двух цифр это 11 (3) самое большое число из трех цифр это 111 (7) и самое большое число из 4 цифр это 1111 (15).
Вопрос: каково самое большое число из 8 цифр?
— Подсказка:
1️⃣101 - 1 = 9, a 102 - 1 = 99 (Решение через знание степеней 2)
2️⃣11110 это 15 * 2 = 30, а 111100 это 15 * 2 * 2 = 60 (Решение через битовый сдвиг)
Ответ:
255
@golang_interview
— Мы знаем, что в десятичной системе самое большое число из одной цифры - это 9, а из двух - 99. В бинарной системе самое большое число из двух цифр это 11 (3) самое большое число из трех цифр это 111 (7) и самое большое число из 4 цифр это 1111 (15).
Вопрос: каково самое большое число из 8 цифр?
— Подсказка:
1️⃣
2️⃣
Ответ:
@golang_interview
🔥4🥰2❤1🤯1
Anonymous Quiz
41%
Будет выбран первый зарегистрированный маршрут
21%
Выберется последний зарегистрированный маршрут
21%
Произойдёт ошибка маршрутизации
17%
Будут выполнены оба обработчика маршрутов
❤3🤩3👎1🥰1
🐹 Go-задача (Go 1.22+): почему вывод вас удивит?
❓ Что напечатает программа?
• a)
• b)
• c)
• d)
package main
import "fmt"
func main() {
words := []string{"go", "rust", "zig"}
ptrs := []*string{}
for i, v := range words {
if i == 1 {
words = append(words, "odin") // добавляем элемент во время range
}
ptrs = append(ptrs, &v) // сохраняем адрес переменной v
}
for _, p := range ptrs {
fmt.Println(*p)
}
}
❓ Что напечатает программа?
• a)
go rust zig
• b)
go rust zig odin
• c)
zig zig zig zig
• d)
go rust zig odin
, затем паника👍5❤4🔥4😁1
Anonymous Quiz
10%
Создаёт новый HTTP хендлер
76%
Создаёт целочисленную переменную и публикует её
10%
Обнуляет счётчик переменной
4%
Удаляет переменную
👎5👍1
Anonymous Quiz
48%
float64
5%
float32
11%
int64
5%
Ни один вышеперечисленный
31%
Любые
😁4👎3👍1
Anonymous Quiz
26%
Программа обязательно будет полностью статической
57%
Программа может зависеть от системных динамических библиотек
11%
Программа не сможет использовать сторонние библиотеки
5%
Программа будет работать только под Windows
❤4
Anonymous Quiz
73%
Когда нужны только ключи
6%
Для хранения значений
10%
Пустые структуры нельзя использовать в map
11%
Для оптимизации чтения
Anonymous Quiz
41%
Mediator
30%
Observer
19%
Decorator
7%
Builder
3%
Proglibator
👎6
💡 Go-хак дня:
Ключевое слово
Вот что с ним можно:
🔹 Создавать собственные типы на основе
🔹 Давать удобные псевдонимы стандартным типам
🔹 Прикреплять методы к любому типу — даже к обычному
Это позволяет писать чистый, читаемый и расширяемый код.
Управляй логикой через свои типы — и код начнёт работать на тебя 💪
#GoLang #GoTips #LearnGo
@golangtests
Ключевое слово
type
в Go — это мощный инструмент, а не просто способ объявить struct
.Вот что с ним можно:
🔹 Создавать собственные типы на основе
int
, string
, map
и т.д. 🔹 Давать удобные псевдонимы стандартным типам
🔹 Прикреплять методы к любому типу — даже к обычному
int
Это позволяет писать чистый, читаемый и расширяемый код.
Управляй логикой через свои типы — и код начнёт работать на тебя 💪
#GoLang #GoTips #LearnGo
@golangtests
❤7👍3🔥3
🧠 Quiz для Go-разработчиков: скомпилируется ли этот код?
Вопрос: оба switch скомпилируются?
Подумай, а потом напиши ответ в комментариях (Версия go 1.18) 👇
@golangtests
type T int
var n T = 1
func foo() {
switch 1 {
case n:
}
}
func bar() {
switch n {
case 1:
}
}
Вопрос: оба switch скомпилируются?
Подумай, а потом напиши ответ в комментариях (Версия go 1.18) 👇
@golangtests
👍2
💡 Вместо отправки сигнала в канал, подумай о
Оба варианта:
✅ Работают, даже если никто не читает из канала
✅ Позволяют нескольким горутинам реагировать на завершение
Такой подход делает код чище и избегает утечек.
#golang #concurrency
close()
или sync.WaitGroup
для завершения горутины.Оба варианта:
✅ Работают, даже если никто не читает из канала
✅ Позволяют нескольким горутинам реагировать на завершение
Такой подход делает код чище и избегает утечек.
#golang #concurrency
👍10🔥1
Уже освоили базу Go, но хотите выйти на новый уровень и научиться работать с памятью напрямую?
📍 На открытом уроке «Пакет unsafe. Godmode ON» 23 июля в 20:00 МСК мы покажем как небезопасные операции с памятью расширяют возможности Go-разработчика: от обхода ограничений type safety до повышения производительности.
Представьте: вы разбираетесь, как устроена память внутри Go-объектов, вручную управляете указателями и получаете контроль над структурой данных. Вместе с экспертом вы протестируете кейсы, поймёте риски и преимущества.
👉 Регистрируйтесь и получите скидку на участие в большом курсе «Golang Developer. Professional»: https://otus.pw/OuX6/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
📍 На открытом уроке «Пакет unsafe. Godmode ON» 23 июля в 20:00 МСК мы покажем как небезопасные операции с памятью расширяют возможности Go-разработчика: от обхода ограничений type safety до повышения производительности.
Представьте: вы разбираетесь, как устроена память внутри Go-объектов, вручную управляете указателями и получаете контроль над структурой данных. Вместе с экспертом вы протестируете кейсы, поймёте риски и преимущества.
👉 Регистрируйтесь и получите скидку на участие в большом курсе «Golang Developer. Professional»: https://otus.pw/OuX6/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
Anonymous Quiz
60%
Ошибка компиляции
11%
Присвоение произойдёт без ошибок
23%
Значение будет скопировано в указатель
6%
Программа выйдет с ошибкой во время выполнения
👎6👍2❤1
✅ В Go можно запускать тесты без единой внешней библиотеки — всё встроено из коробки!
Вот как протестировать код в 3 шага:
1️⃣ Создай файл с суффиксом
2️⃣ Импортируй пакет
3️⃣ Запусти тесты командой:
Никаких зависимостей. Никаких настроек. Просто пиши код и проверяй его сразу.
#golang #testing #unittest
Вот как протестировать код в 3 шага:
1️⃣ Создай файл с суффиксом
_test.go
— например, sum_test.go
2️⃣ Импортируй пакет
testing
и напиши функцию вида: TestXxx(t *testing.T)
3️⃣ Запусти тесты командой:
go test
Никаких зависимостей. Никаких настроек. Просто пиши код и проверяй его сразу.
#golang #testing #unittest
🤯11❤4👍4😁4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Я сам решу! Что нужно идти на Golang meetup by Sber — 6 августа в 18:00! 😉
В программе 3 доклада:
🔹 «Улучшаем качество отчётов нагрузочного тестирования с помощью Go, langchain и GigaChat». Антон Юрченко, Сбер
🔹 «Не ждите ковариантности в Go — берите дженерики в работу». Станислав Иванкевич, СберТех
🔹 «Покой и любовь в тестировании сервисов на Go». Макс Теричев, YADRO
А ещё — стенды, нетворкинг и фуршет ☺️
Участвуйте как удобно: офлайн в Москве или онлайн. Ждём вас — регистрируйтесь по ссылке! 👌
В программе 3 доклада:
🔹 «Улучшаем качество отчётов нагрузочного тестирования с помощью Go, langchain и GigaChat». Антон Юрченко, Сбер
🔹 «Не ждите ковариантности в Go — берите дженерики в работу». Станислав Иванкевич, СберТех
🔹 «Покой и любовь в тестировании сервисов на Go». Макс Теричев, YADRO
А ещё — стенды, нетворкинг и фуршет ☺️
Участвуйте как удобно: офлайн в Москве или онлайн. Ждём вас — регистрируйтесь по ссылке! 👌
👎1
😁18👎2❤1