GO Go  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

JSON, файлы и сериализация

Разбирает теги структур, кодирование и декодирование, потоковую обработку, работу с файлами и совместимость формата данных. В тесте 25 вопросов, из них 15 требуют чтения кода, команд или диагностических фрагментов. Задания опираются на устойчивые правила современного Go; если поведение зависит от версии, это оговорено в самом вопросе.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат и результаты по 5 тематическим шкалам с объяснениями и практическими рекомендациями.
Вопрос 1 из 25
В рабочем примере по теме «Теги struct» важно отделить гарантию от догадки. К какому результату приводит показанная конструкция?
GoТеги struct: результат выполнения
// Фрагмент для трассировки.
package main
import("encoding/json")
type Item struct{ Name string `json:"name"`; secret string `json:"secret"` }
func main(){ _,_=json.Marshal(Item{Name:"Go",secret:"x"}) }
Вопрос 2 из 25
Фрагмент относится к теме «Теги struct». Какую правку стоит предложить на ревью, сохранив назначение кода?
GoТеги struct: фрагмент на ревью
// Фрагмент из ревью: требуется выбрать безопасную правку.
package main
import("encoding/json")
type Item struct{ Name string `json:"name"`; secret string `json:"secret"` }
func main(){ _,_=json.Marshal(Item{Name:"Go",secret:"x"}) }
Вопрос 3 из 25
На ревью разбирают тему «Теги struct». На какой контракт языка или стандартной библиотеки здесь нужно опереться?
GoТеги struct: проверка контракта
// Определите правило Go, которое объясняет результат.
package main
import("encoding/json")
type Item struct{ Name string `json:"name"`; secret string `json:"secret"` }
func main(){ _,_=json.Marshal(Item{Name:"Go",secret:"x"}) }
Вопрос 4 из 25
В разделе «Теги struct» показан конкретный случай. Какое ограничение опаснее всего пропустить?
Вопрос 5 из 25
Команда проверяет решение по теме «Теги struct». Какой вывод о сопровождении решения наиболее взвешенный?
Вопрос 6 из 25
Фрагмент относится к теме «Кодирование JSON». Как завершится показанный фрагмент при указанных входных данных?
GoКодирование JSON: результат выполнения
// Фрагмент для трассировки.
package main
import "encoding/json"
func main(){ _,err:=json.Marshal(map[string]any{"f":func(){}}); _=err }
Вопрос 7 из 25
На ревью разбирают тему «Кодирование JSON». Что здесь следует изменить прежде всего?
GoКодирование JSON: фрагмент на ревью
// Фрагмент из ревью: требуется выбрать безопасную правку.
package main
import "encoding/json"
func main(){ _,err:=json.Marshal(map[string]any{"f":func(){}}); _=err }
Вопрос 8 из 25
В разделе «Кодирование JSON» показан конкретный случай. Какое правило отделяет верный разбор от правдоподобной догадки?
GoКодирование JSON: проверка контракта
// Определите правило Go, которое объясняет результат.
package main
import "encoding/json"
func main(){ _,err:=json.Marshal(map[string]any{"f":func(){}}); _=err }
Вопрос 9 из 25
Команда проверяет решение по теме «Кодирование JSON». Какой крайний случай обязан попасть в тесты?
Вопрос 10 из 25
Перед публикацией кода по теме «Кодирование JSON» нужно уточнить контракт. Какой выбор лучше отражает баланс простоты и контроля?
Вопрос 11 из 25
На ревью разбирают тему «Потоковый декодер». Как изменится состояние программы после этого фрагмента?
GoПотоковый декодер: результат выполнения
// Фрагмент для трассировки.
package main
import("encoding/json";"strings")
func main(){ dec:=json.NewDecoder(strings.NewReader(`{"n":1} {"n":2}`)); var a,b map[string]int; _=dec.Decode(&a); _=dec.Decode(&b) }
Вопрос 12 из 25
В разделе «Потоковый декодер» показан конкретный случай. Какое замечание на ревью будет наиболее точным?
GoПотоковый декодер: фрагмент на ревью
// Фрагмент из ревью: требуется выбрать безопасную правку.
package main
import("encoding/json";"strings")
func main(){ dec:=json.NewDecoder(strings.NewReader(`{"n":1} {"n":2}`)); var a,b map[string]int; _=dec.Decode(&a); _=dec.Decode(&b) }
Вопрос 13 из 25
Команда проверяет решение по теме «Потоковый декодер». Какое правило важнее случайных деталей конкретного запуска?
GoПотоковый декодер: проверка контракта
// Определите правило Go, которое объясняет результат.
package main
import("encoding/json";"strings")
func main(){ dec:=json.NewDecoder(strings.NewReader(`{"n":1} {"n":2}`)); var a,b map[string]int; _=dec.Decode(&a); _=dec.Decode(&b) }
Вопрос 14 из 25
Перед публикацией кода по теме «Потоковый декодер» нужно уточнить контракт. Где корректный фрагмент легко становится ошибочным?
Вопрос 15 из 25
В рабочем примере по теме «Потоковый декодер» важно отделить гарантию от догадки. Что учитывать при выборе этого приёма для публичного API?
Вопрос 16 из 25
В разделе «Версионирование данных» показан конкретный случай. Какой результат даст этот код на поддерживаемой реализации Go?
GoВерсионирование данных: результат выполнения
// Фрагмент для трассировки.
package main
type V2 struct{ Version int `json:"version"`; Name string `json:"name"`; Note string `json:"note,omitempty"` }
func main(){}
Вопрос 17 из 25
Команда проверяет решение по теме «Версионирование данных». Что нужно поменять, чтобы граничный случай не превратился в сбой?
GoВерсионирование данных: фрагмент на ревью
// Фрагмент из ревью: требуется выбрать безопасную правку.
package main
type V2 struct{ Version int `json:"version"`; Name string `json:"name"`; Note string `json:"note,omitempty"` }
func main(){}
Вопрос 18 из 25
Перед публикацией кода по теме «Версионирование данных» нужно уточнить контракт. Какое свойство конструкции определяет её поведение?
GoВерсионирование данных: проверка контракта
// Определите правило Go, которое объясняет результат.
package main
type V2 struct{ Version int `json:"version"`; Name string `json:"name"`; Note string `json:"note,omitempty"` }
func main(){}
Вопрос 19 из 25
В рабочем примере по теме «Версионирование данных» важно отделить гарантию от догадки. Что стоит проверить до переноса решения в общий компонент?
Вопрос 20 из 25
Фрагмент относится к теме «Версионирование данных». Как точнее всего описать пользу и цену этого решения?
Вопрос 21 из 25
Команда проверяет решение по теме «Тестирование и наблюдаемость». К какому результату приводит показанная конструкция?
GoТестирование и наблюдаемость: результат выполнения
// Фрагмент для трассировки.
package sample
import("os";"path/filepath";"testing")
func TestFile(t *testing.T){ p:=filepath.Join(t.TempDir(),"x.json"); if err:=os.WriteFile(p,[]byte(`{"n":1}`),0600);err!=nil{t.Fatal(err)} }
Вопрос 22 из 25
Перед публикацией кода по теме «Тестирование и наблюдаемость» нужно уточнить контракт. Какую правку стоит предложить на ревью, сохранив назначение кода?
GoТестирование и наблюдаемость: фрагмент на ревью
// Фрагмент из ревью: требуется выбрать безопасную правку.
package sample
import("os";"path/filepath";"testing")
func TestFile(t *testing.T){ p:=filepath.Join(t.TempDir(),"x.json"); if err:=os.WriteFile(p,[]byte(`{"n":1}`),0600);err!=nil{t.Fatal(err)} }
Вопрос 23 из 25
В рабочем примере по теме «Тестирование и наблюдаемость» важно отделить гарантию от догадки. На какой контракт языка или стандартной библиотеки здесь нужно опереться?
GoТестирование и наблюдаемость: проверка контракта
// Определите правило Go, которое объясняет результат.
package sample
import("os";"path/filepath";"testing")
func TestFile(t *testing.T){ p:=filepath.Join(t.TempDir(),"x.json"); if err:=os.WriteFile(p,[]byte(`{"n":1}`),0600);err!=nil{t.Fatal(err)} }
Вопрос 24 из 25
Фрагмент относится к теме «Тестирование и наблюдаемость». Какое ограничение опаснее всего пропустить?
Вопрос 25 из 25
На ревью разбирают тему «Тестирование и наблюдаемость». Какой вывод о сопровождении решения наиболее взвешенный?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу