Что выведет первая строка?
Anonymous Quiz
53%
[1 2 3 4 5]
10%
[1 99 3 4 5]
31%
[1 99 3 4 10]
6%
[1 2 3 4 10]
В какой момент Go устанавливает случайный seed для map?
Anonymous Quiz
42%
При создании новой map
28%
Один раз при старте программы
18%
Перед каждой итерацией range
12%
При каждом доступе к элементу map
❓ Что произойдет, если написать //go:generate перед функцией в коде?
Anonymous Quiz
5%
Код не скомпилируется
53%
Go выполнит указанную команду при генерации кода
13%
Go проигнорирует этот комментарий
10%
Это специальный комментарий для работы с интерфейсами
18%
Узнать ответ
❓ Что произойдёт, если вызвать runtime.Gosched() внутри функции без горутин
Anonymous Quiz
8%
Программа завершится с ошибкой.
53%
Ничего не произойдёт — код продолжит выполняться.
20%
Код приостановится на неопределённое время.
19%
Узнать ответ
❓Как передать неограниченное количество аргументов разных типов
Anonymous Quiz
11%
func myFunc(args ...int)
11%
func myFunc(args []interface{})
75%
func myFunc(args ...interface{})
3%
Узнать ответ
❓ Вам нужно выгрузить несколько строк из базы данных, какой метод будете исполльзовать?
Anonymous Quiz
52%
Query()
30%
QueryRow()
10%
Exec()
1%
Prepare()
0%
ProgLib()
6%
Узнать ответ
❓ Можно ли изменить символ в строке по индексу в Go?
Anonymous Quiz
12%
Да, можно, строки в Go изменяемы, как и массивы.
7%
Да, но только если строка содержит ASCII-символы, а не Unicode
6%
Можно, но только если строка объявлена с помощью var вместо const
70%
Нет, строки в Go неизменяемы, попытка изменить символ вызовет ошибку компиляции.
5%
Узнать ответ
Новый поток курсов Route 256 — только для Go-разработчиков!
Ваш выход, коллеги
Заполняем анкету, ждём контест 20 апреля, решаем задачи лучше всех и… Отправляемся за мощнейшим опытом в Ozon Tech🚀
Уникальная высоконагруженная архитектура, сильная команда экспертов, технологии и инструменты, которые драйвят рынок, — всё это 2 месяца в Route 256
Ваш выход, коллеги
Заполняем анкету, ждём контест 20 апреля, решаем задачи лучше всех и… Отправляемся за мощнейшим опытом в Ozon Tech
Уникальная высоконагруженная архитектура, сильная команда экспертов, технологии и инструменты, которые драйвят рынок, — всё это 2 месяца в Route 256
Please open Telegram to view this post
VIEW IN TELEGRAM
❓Какое поведение неверное для defer
Anonymous Quiz
20%
Выполняется в порядке LIFO
10%
Может захватывать значения переменных при объявлении
52%
Работает даже после os.Exit()
12%
Не выполнится, если внутри go-рутины
6%
Узнать ответ
Интенсив по очередям: Kafka & NATS
Асинхронное взаимодействие и очереди — невероятно широкая тема, и абсолютно обязательная к изучению всем, кто интересуется архитектурой. Разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.
🌐 В программе курса:
▪️Асинхронное взаимодействие с помощью очередей: подходы, свойства, гарантии
▪️Какие бывают очереди, основные системы очередей, на какие свойства и требования смотреть при выборе
▪️Как конфигурировать и управлять системами очередей
▪️Архитектура Apache Kafka, streams, topics, конфигурации от минимального single instance до production grade кластера с отказоустойчивостью
▪️Архитектуры NATS, pub/sub, req/res, streaming, кластер, суперкластер, федерация, edge.
Всё в формате «живых» онлайн-сессий (лекции, брейнштормы, демо).
🥸 Кто мы: R&D-центр Devhands.io, наш канал (https://yangx.top/rybakalexey). Автор курса — Владимир Перепелица, эксперт по большим проектам, очередям и Tarantool, Solution Architect в Exness, создатель S3 в VK Cloud, регулярный спикер и член ПК конференций Highload.
🗓 Старт курса 8 апреля. Изучить программу и записаться можно здесь.
Ждём вас!
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxjWnNk
Асинхронное взаимодействие и очереди — невероятно широкая тема, и абсолютно обязательная к изучению всем, кто интересуется архитектурой. Разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.
▪️Асинхронное взаимодействие с помощью очередей: подходы, свойства, гарантии
▪️Какие бывают очереди, основные системы очередей, на какие свойства и требования смотреть при выборе
▪️Как конфигурировать и управлять системами очередей
▪️Архитектура Apache Kafka, streams, topics, конфигурации от минимального single instance до production grade кластера с отказоустойчивостью
▪️Архитектуры NATS, pub/sub, req/res, streaming, кластер, суперкластер, федерация, edge.
Всё в формате «живых» онлайн-сессий (лекции, брейнштормы, демо).
Ждём вас!
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxjWnNk
Please open Telegram to view this post
VIEW IN TELEGRAM
❓Сколько элементов хранится в одном bucket в map
Anonymous Quiz
10%
4
65%
8
4%
12
9%
16
12%
Узнать ответ
Стать бэкендером в Яндексе за несколько дней
12–17 апреля устраиваем Week Offer Backend: за несколько дней можно пройти технические секции и попасть в Яндекс. Для этого нужно зарегистрироваться и решить несколько задач в Контесте.
Ищем классных бэкенд-разработчиков с опытом работы от 3 лет на C++, Python, Java/Kotlin или Go, готовых работать в офисном или гибридном режиме в России.
Вы сможете выбрать одну из команд: Яндекс Пэй, Яндекс ID, Яндекс Плюс, Яндекс Сплит, Яндекс Сейвы, Яндекс 360. Можно пообщаться с нанимающими менеджерами и выбрать самый интересный проект. Если всё пройдёт хорошо, сразу же получите офер.
Узнать подробности и зарегистрироваться можно здесь.
12–17 апреля устраиваем Week Offer Backend: за несколько дней можно пройти технические секции и попасть в Яндекс. Для этого нужно зарегистрироваться и решить несколько задач в Контесте.
Ищем классных бэкенд-разработчиков с опытом работы от 3 лет на C++, Python, Java/Kotlin или Go, готовых работать в офисном или гибридном режиме в России.
Вы сможете выбрать одну из команд: Яндекс Пэй, Яндекс ID, Яндекс Плюс, Яндекс Сплит, Яндекс Сейвы, Яндекс 360. Можно пообщаться с нанимающими менеджерами и выбрать самый интересный проект. Если всё пройдёт хорошо, сразу же получите офер.
Узнать подробности и зарегистрироваться можно здесь.
Ответ —
Please open Telegram to view this post
VIEW IN TELEGRAM
Что не так с кодом в Капибаровске?
Узнайте на T-CTF — соревновании от Т-Банка для опытных ИТ-специалистов. Решайте задания по спортивному хакингу с шансом выиграть приз до 420 000 ₽.
Вот как все устроено:
— Выберите Лигу Разработки или Лигу Безопасности по своим навыкам. Если участвуете впервые, можно потренироваться на демозаданиях.
— Соревнуйтесь один или в команде до 3 человек. Вам помогут найти команду, если нет своей.
— Участвуйте онлайн или приходите в ИТ-хаб Т-Банка в одном из 6 городов России.
— Используйте время на решение заданий и общение с участниками — у вас будет 36 часов.
Задания будут интересны разработчикам, QA- и SRE-инженерам, аналитикам и другим ИТ-специалистам уровня middle и senior.
Успейте зарегистрироваться до 18 апреля.
Реклама. АО «ТБанк», лицензия ЦБ РФ № 2673, erid: 2Ranykc4ety
Узнайте на T-CTF — соревновании от Т-Банка для опытных ИТ-специалистов. Решайте задания по спортивному хакингу с шансом выиграть приз до 420 000 ₽.
Вот как все устроено:
— Выберите Лигу Разработки или Лигу Безопасности по своим навыкам. Если участвуете впервые, можно потренироваться на демозаданиях.
— Соревнуйтесь один или в команде до 3 человек. Вам помогут найти команду, если нет своей.
— Участвуйте онлайн или приходите в ИТ-хаб Т-Банка в одном из 6 городов России.
— Используйте время на решение заданий и общение с участниками — у вас будет 36 часов.
Задания будут интересны разработчикам, QA- и SRE-инженерам, аналитикам и другим ИТ-специалистам уровня middle и senior.
Успейте зарегистрироваться до 18 апреля.
Реклама. АО «ТБанк», лицензия ЦБ РФ № 2673, erid: 2Ranykc4ety
Please open Telegram to view this post
VIEW IN TELEGRAM
❓ Что точно выведет программа на экран при запуске?
Учитывай, что используется default в select, и что между отправками и чтениями есть time.Sleep.
Хинт:Код показывает, как работает с при чтении из канала — если данных нет, выбирается default, не блокируя выполнение.
Ответ:
🔄 Что делает программа:
Одна горутина пишет 0, 1, 2 в канал ch с паузой 100мс, затем закрывает канал.
Вторая горутина читает из ch через select:
если данные есть → received: N
если нет → default case
если канал закрыт → channel closed
📤 Что выведет (примерно):
default case
default case
received: 0
default case
received: 1
default case
received: 2
channel closed
Порядок может немного отличаться из-за гонки между горутинами, но общая структура будет именно такая.
@golangtests
Учитывай, что используется default в select, и что между отправками и чтениями есть time.Sleep.
package main
import (
"fmt"
"time"
)
func main() {
ch := make(chan int)
done := make(chan struct{})
go func() {
defer close(done)
for i := 0; i < 3; i++ {
ch <- i
time.Sleep(100 * time.Millisecond)
}
close(ch)
}()
go func() {
for {
select {
case v, ok := <-ch:
if !ok {
fmt.Println("channel closed")
return
}
fmt.Println("received:", v)
default:
fmt.Println("default case")
time.Sleep(50 * time.Millisecond)
}
}
}()
<-done
time.Sleep(500 * time.Millisecond)
}
Хинт:
select
default
Ответ:
Одна горутина пишет 0, 1, 2 в канал ch с паузой 100мс, затем закрывает канал.
Вторая горутина читает из ch через select:
если данные есть → received: N
если нет → default case
если канал закрыт → channel closed
📤 Что выведет (примерно):
default case
default case
received: 0
default case
received: 1
default case
received: 2
channel closed
Порядок может немного отличаться из-за гонки между горутинами, но общая структура будет именно такая.
@golangtests
✅ 21 курс по цене одного с подпиской на курсы Слёрма.
Kubernetes, Docker, Postgres, Gitlab, Terraform, Golang, Python и многое другое.
Экономия до 90%.
Гибкий график, обратная связь, поддержка от спикеров – всё, что нужно для интенсивного и эффективного обучения.
Выбрать тариф и узнать подробности ➡️ по ссылке
Kubernetes, Docker, Postgres, Gitlab, Terraform, Golang, Python и многое другое.
Экономия до 90%.
Гибкий график, обратная связь, поддержка от спикеров – всё, что нужно для интенсивного и эффективного обучения.
Выбрать тариф и узнать подробности ➡️ по ссылке
❓Вопрос:
Что будет выведено на экран? Напиши полный вывод программы и объясни, почему именно так.
💡Подсказки:
Что происходит с интерфейсами в Go при присвоении структур?
Что такое shadowing и как это влияет на s внутри анонимной функции?
Как работает передача аргументов в goroutine?
Как изменения структуры после передачи влияют на уже переданные значения?
✅ Ответ:
Hi, I'm Alice
Hi, I'm Bob
Hi, I'm Bob
@golangtests
Что будет выведено на экран? Напиши полный вывод программы и объясни, почему именно так.
package main
import (
"fmt"
"time"
)
type Speaker interface {
Speak() string
}
type Person struct {
name string
}
func (p Person) Speak() string {
return "Hi, I'm " + p.name
}
func main() {
var s Speaker
p := Person{name: "Alice"}
s = p
p.name = "Bob"
fmt.Println(s.Speak()) // (1)
func() {
s := p // shadowing: s — это теперь Person, а не Speaker
fmt.Println(s.Speak()) // (2)
}()
go func(p Person) {
time.Sleep(10 * time.Millisecond)
fmt.Println(p.Speak()) // (3)
}(p)
p.name = "Charlie"
time.Sleep(20 * time.Millisecond)
}
💡Подсказки:
Что такое shadowing и как это влияет на s внутри анонимной функции?
Как работает передача аргументов в goroutine?
Как изменения структуры после передачи влияют на уже переданные значения?
✅ Ответ:
Hi, I'm Bob
Hi, I'm Bob
@golangtests
Готовитесь к собеседованию в IT-компанию? 👀
Скачайте курс-гайд «Алгоритмы: roadmap для работы и собеседований» бесплатно.
👉 Готовый план подготовки: алгоритмы, вопросы и советы от эксперта, практика и доп. литература.
Скачать курс-гайд бесплатно через бота ➡️ по ссылке
Скачайте курс-гайд «Алгоритмы: roadmap для работы и собеседований» бесплатно.
👉 Готовый план подготовки: алгоритмы, вопросы и советы от эксперта, практика и доп. литература.
Скачать курс-гайд бесплатно через бота ➡️ по ссылке