Logo
TGCATALOG
Catálogo Selecciones Blog
Golang | Вопросы собесов

Golang | Вопросы собесов

Вопросы собеседований по Golang с ответами и объяснениями.

Sin valoraciones
44
10.09.2026
44
10.09.2026
Sin valoraciones
44
10.09.2026
Redirección segura vía bot
О канале

Вопросы собеседований по Golang с ответами и объяснениями.

Подписчиков 4,710
Тематика Tecnología
Язык Español
Ссылка t.me/easy_golang

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

Сборник вопросов, которые задают на собеседованиях Go-разработчикам. Покрыты темы горутин, каналов, интерфейсов, concurrency и стандартной библиотеки. Каждый вопрос сопровождается подробным разбором и примерами кода для глубокого понимания.

Últimas publicaciones

Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Зачем нужен foreign key? Foreign key (внешний ключ) — это ограничение в базе данных, обеспечивающее связь между таблицами и целостность данных. Он: - Предотвращает вставку «висячих» записей (без связанных данных). - Позволяет БД контролировать каскадное удаление/обновление. - Делает структуру БД более безопасной и логичной. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как использовать линтеры (linters)? Линтеры интегрируются в IDE или CI/CD пайплайны. Например, golangci-lint используется для анализа Go-кода. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что такое пустой интерфейс? Это интерфейс, который не содержит методов. Поскольку интерфейсы в Go определяют поведение, которое тип должен реализовать, пустой интерфейс, не имеющий методов, автоматически реализуется всеми типами. Это делает пустой интерфейс универсальным контейнером для значений любого типа. 🚩Основные характеристики 🟠Универсальность Пустой интерфейс может содержать значение любого типа, потому что все типы в Go автоматически реализуют пустой интерфейс. 🟠Использование Пустой интерфейс широко используется для создания обобщенных (generic) структур данных, функций и методов, которые могут работать с данными любых типов. 🚩Примеры использования 🟠Присваивание значений разного типа Пустой интерфейс может использоваться для хранения значений различных типов в одной переменной. package main import "fmt" func main() { var i interface{} i = 42 fmt.Println(i) // Output: 42 i = "hello" fmt.Println(i) // Output: hello i = true fmt.Println(i) // Output: true } 🟠Обобщенные функции Пустой интерфейс позволяет создавать функции, которые могут принимать параметры любого типа. package main import "fmt" func printValue(v interface{}) { fmt.Println(v) } func main() { printValue(42) printValue("hello") printValue(true) } 🟠Универсальные структуры данных Пустой интерфейс используется для создания структур данных, которые могут хранить значения различных типов. package main import "fmt" func main() { var values []interface{} values = append(values, 42, "hello", true) for _, v := range values { fmt.Println(v) } } 🟠Обработка разнородных данных Пустой интерфейс используется для обработки данных различных типов, например, при парсинге JSON. package main import ( "encoding/json" "fmt" ) func main() { jsonData := `{"name": "Alice", "age": 30}` var result map[string]interface{} json.Unmarshal([]byte(jsonData), &result) fmt.Println(result) } 🟠Проверка типа и приведение типа При работе с пустым интерфейсом часто возникает необходимость проверить тип хранимого значения и привести его к конкретному типу. Это можно сделать с помощью утверждения типа (type assertion) или конструкции switch. 🟠Утверждение типа Утверждение типа позволяет проверить и преобразовать значение пустого интерфейса к конкретному типу. package main import "fmt" func main() { var i interface{} = "hello" s, ok := i.(string) if ok { fmt.Println("String:", s) // Output: String: hello } else { fmt.Println("Not a string") } n, ok := i.(int) if ok { fmt.Println("Integer:", n) } else { fmt.Println("Not an integer") } } 🟠Использование `switch` для проверки типа Конструкция switch позволяет обрабатывать значения различных типов, хранящиеся в пустом интерфейсе. package main import "fmt" func printType(i interface{}) { switch v := i.(type) { case string: fmt.Println("String:", v) case int: fmt.Println("Integer:", v) case bool: fmt.Println("Boolean:", v) default: fmt.Printf("Unknown type: %T\n", v) } } func main() { printType("hello") // Output: String: hello printType(42) // Output: Integer: 42 printType(true) // Output: Boolean: true printType(3.14) // Output: Unknown type: float64 } Ставь 👍 и забирай 📚 Базу знаний
Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как устроен runtime в Go? Go runtime — это встроенная среда выполнения, которая управляет памятью, потоками, сборкой мусора и планировщиком горутин. Он делает Go удобным для многопоточного и высоконагруженного программирования без необходимости вручную управлять потоками. 🚩Основные компоненты Go `runtime` Горутины (goroutines) — лёгкие потоки, управляемые Go. Планировщик (scheduler) — распределяет горутины по потокам ОС. Модель памяти — управление стеком и кучей. Сборщик мусора (GC) — автоматически очищает неиспользуемую память. Syscalls — взаимодействие с ОС. 🚩Горутины и планировщик (scheduler) Горутины легче, чем потоки ОС: Go может запускать миллионы горутин, а планировщик (M:N) распределяет их по потокам ОС. Go использует M:N-модель, где: - M — системные потоки (OS threads). - N — горутины (goroutines). - P — процессоры (logical processors) — управляют выполнением горутин. P привязан к M, а G (горутины) распределяются между `P` динамически. Это позволяет Go эффективно использовать CPU без ручного управления потоками. Goroutine (G1, G2, G3, ...) ↓ Scheduler → P (Processor) → M (OS Thread) → CPU 🚩Управление памятью и стеком Стек (stack) в Go динамический — он начинается с 2 KB и увеличивается при необходимости. Если стек заполнен, Go автоматически расширяет его. В отличие от C, Go не требует malloc/free, так как есть GC (garbage collector). 🚩Сборщик мусора (Garbage Collector) Go использует автоматический сборщик мусора, который: Работает параллельно с программой Минимизирует паузы (low-latency GC) Очищает неиспользуемые объекты из кучи import "runtime" runtime.GC() // Принудительный запуск сборщика мусора (обычно не нужно) Ставь 👍 и забирай 📚 Базу знаний
Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как можно слить два слайса? Слияние двух слайсов выполняется с помощью append: 1. Оператор ... разворачивает элементы второго слайса, добавляя их к первому. 2. Новый слайс может использовать новую память, если ёмкость исходного недостаточна. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как расшифровывается аббревиатура ACID? ACID – это принципы целостности транзакций в базах данных: - A (Atomicity) – транзакция либо выполняется полностью, либо не выполняется вовсе. - C (Consistency) – после транзакции БД остается в согласованном состоянии. - I (Isolation) – параллельные транзакции не влияют друг на друга. - D (Durability) – данные сохраняются даже в случае сбоя системы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Golang | Вопросы собесов
Golang | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Через какой канал возможна проверка работы горутины? В Go для проверки работы горутины часто используют каналы. Они позволяют передавать данные между горутинами и могут использоваться для сигнализации о состоянии выполнения горутины. 🚩Основные способы проверки работы горутины через каналы 🟠Односторонний канал для завершения горутины Горутина может отправлять сигнал (например, true) в канал, чтобы уведомить о своем завершении. func worker(done chan bool) { fmt.Println("Работа началась...") time.Sleep(2 * time.Second) // Имитация работы fmt.Println("Работа завершена!") done
Golang | Вопросы собесов
Evolución de suscriptores
+0.0% últimos 30 días
Actuales
4,710
Hace un mes
4,711
Crecimiento medio
+0 / día
Actualizado
hace 16 horas

Reseñas de canal Golang | Вопросы собесов

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Un canal con señales de criptograma, gotas de aire y proyectos. No hay garantías en cripto, ser escéptico y cauteloso.

Canal

Personalización de teléfonos: temas, lanzadores, iconos y widgets para Android.

Canal

El canal oficial con recomendaciones, descuentos y promociones. Más información en vídeos de YouTube para compras rentables.

Canal
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar