Прохожу собеседование с ИИ помощником. На goland разработчика.
Пример вопроса:
Какие типы могут быть ключами в map в Go и какой критерий сравнимости
Golang разработчик
Встречался в компаниях:
Wildberries
Ozon
Т-Банк
ЦУМ
InDrive
Avito
Что хотят услышать интервьюеры:
Интервьюеры ожидают, что кандидат продемонстрирует понимание работы с коллекциями в Go, особенно с типом данных map. Важно указать, какие типы могут быть ключами, а также объяснить критерии их сравнения. Кандидат должен также упомянуть о том, что ключи должны быть сравнимыми и какие типы данных это подразумевает.
Структурированный ответ:
В Go ключами для map могут быть следующие типы:
Простые типы:
int, float, string — эти типы могут использоваться в качестве ключей, так как они имеют четко определенные правила сравнения.
Композитные типы:
Массивы: не могут использоваться как ключи, поскольку они не сравнимы.
Структуры: могут быть ключами, если все поля структуры являются сравнимыми типами.
Другие типы:
Указатели: могут использоваться, так как указатели могут быть сравниваемыми.
Критерий сравнимости ключей:
Ключи должны поддерживать операцию сравнения (== и !=). Это означает, что все элементы ключа должны быть сравнимыми. Например, структура может быть ключом, если все её поля поддерживают сравнение.
Пример кода, демонстрирующий использование map с разными типами ключей:
package main
import “fmt“
func main() {
// Map с целочисленными ключами
intMap := make(map[int]string)
intMap[1] = “one“
(intMap)
// Map с строковыми ключами
stringMap := make(map[string]int)
stringMap[“two“] = 2
(stringMap)
// Map со структурой в качестве ключа
type Point struct {
x, y int
}
pointMap := make(map[Point]string)
pointMap[Point{1, 2}] = “A“
(pointMap)
// Пример с невалидным ключом (массив)
// arrayMap := make(map[[2]int]string) // Это будет работать, так как массивы могут сравниваться
}
Скачать можно на
Telegram канал
Telegram поддержка
0 views
4117
1543
2 weeks ago 00:01:52 0
Клиника 9 сезон 7 серия «Наши белые халаты» (сериал, 2001-2010)
2 weeks ago 00:01:08 0
Прохожу собеседование с ИИ помощником. На goland разработчика.
2 weeks ago 00:05:02 8
7 глупых вопросов о ВЕБКАМ мире: ВСЕ ЧТО ВЫ ХОТИТЕ ЗНАТЬ
2 weeks ago 00:01:24 1
Как я прохожу любое собеседование на ура. Фарм офферов.
2 weeks ago 00:49:33 7
КАК РАЗВОД стал стартом новой жизни: С 0 в России до бизнеса в Австралий | Личный опыт
2 weeks ago 00:36:36 268
Как попасть в геймдев и стать Unity-разработчиком? Интервью с Захаром Талаевым
2 weeks ago 00:01:15 9
Квалификационный экзамен для присвоения статуса адвоката
2 weeks ago 01:32:45 368
Уволился с завода чтобы стать айтишником | Карьера в IT без опыта и образования