Перейти к содержимому

Стандартная библиотека и тулинг

Вопросов: 122 из 40 собеседований. Источник указан в заголовке группы.

  • Чем make отличается от new? — встречается 2×
  • стандартные вопросы про Go и БД. — встречается 2×
  • Какой у вас опыт коммерческой разработки на Go и над какими проектами работали?
  • Чем make отличается от new?
  • Какой линтер для Go вам нравится больше всего и за что?
  • Go is a relatively new language. How did you come to it?
  • Можно ли в Go функцию передать как параметр в другую функцию?
  • Есть ли в Go исключения?
  • Что в Go нравится и что не нравится?
  • Где в Go создаются объекты? Кто и как этим управляет?

Для реализации микросервиса можно пользоваться только стандартной библиотекой Go (последней версии) и библиотекой pgx для доступа к БД.

  • Как Go решает проблему фрагментации?
  • Что делает встроенная функция make и чем она отличается от new?
  • Какой встроенный тип в Go предназначен для хранения одного символа Unicode?
  • С какой целью в Go можно давать label циклам и как это влияет на управление потоком?
  • Какие инструменты синхронизации в Go ты знаешь?
  • Представьте, что нужно обработать текстовый файл с данными пользователей. При небольшом размере файла проблем нет. Но как вы будете читать, обрабатывать и формировать файл, если его размер достигает нескольких сотен мегабайт или даже гигабайт?
  • Писал ли что-то для кодогенерации?
  • What ’s the difference between LittleEndian and BigEndian, do you remember?
  • Does Go ’s scheduler work at the level of kernel threads?
  • Is Go an OOP language at all?
  • Как оцениваете свой уровень Go от джуна до сеньора?
  • Go - это ООП или нет?
  • Что в Go используется вместо наследования?
  • Чем в Go выражаются абстракции и детали?
  • Чем make отличается от new?
  • About projects and standard architecture and Go questions;
  • Standard Go and experience questions.
  • Какой механизм есть в Go - наследование или композиция?
  • Для чего нужны линтеры?
  • Инструменты для отладки?
  • Что из нижеперечисленного верно об использовании ключевого слова new в Go?
  • calloc;
  • realloc;
  • make;
  • alloc;
  • resize.
  • utils;
  • C.manager;
  • reflect;
  • unsafe.
  • Какие элементы в Go могут быть nil?
  • Что произойдет при попытке доступа к элементу карты в Go по ключу, которого нет в карте?
  • Go не поддерживает иммутабельность для срезов и карт;
  • Как в Go можно объявить пустой срез целых чисел?
  • Как в Go проводится объявление переменной?
  • Какая функция в Go используется для создания файла?
  • New;
  • Какую функцию используют в Go для получения текущей рабочей директории?
  • os.Pwd();
  • os.Getwd();
  • os.Cwd();
  • os.CurrentDir();
  • os.GetDir().
  • Какие функции пакета os в Go доступны для работы с пользовательскими правами на файлы?
  • os.GetPerms;
  • os.ChangePermissions;
  • os.SetUser;
  • os.SetPerms.
  • Какую функцию в Go используют для создания символической ссылки на файл или директорию?
  • os.Symbolic();
  • os.LinkRef();
  • os.Reference();
  • os.ReferenceFile();
  • os.Symlink().
  • os.Methods;
  • os.Process;
  • os.Routines;
  • os.File;
  • os.Variables.
  • sys;
  • os.sys.

Если у тебя нет опыта работы с Go - не беда, можешь воспринимать задание как некоторый псевдокод на Си-подобном языке. Будем говорить про то как в коде выделены абстракции и распределены зоны ответственности. Про то как можно улучшить код с точки зрения применения лучших практик проектирования и про то как сделать его надежным и расширяемым.

  • Как обеспечить низкую связанность модулей при сохранении высокой связности внутри модуля?
  • Что делает функция init() в пакете (Golang) и что не рекомендуется делать внутри нее.
  • Что такое func init и как использовать?
  • Можно ли в одном пакете сделать несколько func init?
  • Что такое iota?
  • Что такое graceful shutdown? Как его реализовать для HTTP-сервера?
  • Go - ООП или нет?
  • Расскажи про reflection.
  • С какими профилями нагрузки Go лучше всего стравляется?
  • Что можешь сказать про новые фитчи в версии 1.24?
  • Какая разница между ключевыми словами make и new?
  • Reflection в Golang. Что такое, минусы/плюсы;
  • Почему в Go нет цикла while?
  • Какие в Go есть утилиты для оптимизации?
  • За что отвечает рефлексия и как она работает? В чем недостаток?
  • Что в Go устраивает, а что не нравится?
  • Читал ли про новые фитчи Go 1.24 и если дa, то что понравилось?
  • Расскажи про функции new и make
  • стандартные вопросы про Go и БД.
  • стандартные вопросы про Go и БД.
  • Что может предложить Go в плане многопоточной обработки?
  • Зачем сделали отдельный шедулер в Go если уже есть менеджер в ОС?
  • Какие технологические преимущества экосистемы Go вы можете назвать?
  • Какие технологические недостатки языка Go вы можете назвать?
  • Почему на Go практически не пишут расширений для других языков и динамических библиотек?
  • Go - императивный или декларативный? А в чем разница?
  • Почему треды в Go - легковесные?
  • Почему иногда говорят, что в Go nil имеет тип?
  • Какой у вас любимый логгер?
  • Как вы применяете пакеты internal?
  • Какой у вас любимый линтер?
  • Что такое сериализация? Зачем она нужна?
  • У вас есть кривой json с плавающим типом полей. Как написать десериализатор?
  • Чем отличается работа с указателями в Go по сравнению с C++? Какие ограничения и почему введены?
  • Расскажите про cgo. Когда его использование оправдано, а когда лучше искать альтернативы? Был ли у вас опыт работы с cgo?
  • Какие минусы Go вы для себя отметили после перехода с C++? Чего не хватает или что вызывает дискомфорт?
  • В чем разница между make и new? Когда что использовать?
  • Как в Go работает конструкция oneof?
  • Что такое json.RawMessage и когда его использование оправдано?
  • Какие подводные камни нужно учесть?
  • Как избежать двойного парсинга JSON?
  • Как поступить с неизвестным kind?
  • Как организовать регистрацию новых типов через init() или карту конструкторов?

МВД РФ (Паспортно-визовый сервис) — 4 кв 2025

Заголовок раздела «МВД РФ (Паспортно-визовый сервис) — 4 кв 2025»
  • Назовите три самых главных преимущества Go на ваш взгляд.
  • Обобщенно расскажите про Go в ООП и как оно реализуется.
  • Как добавление публичных геттеров и сеттеров к полям класса влияет на связность между модулями: она повысится или понизится?
  • Как Go работает с IO-bound и CPU-bound задачами?
  • Какие веб-фреймворки в Go вы использовали?
  • Является ли Go императивным или декларативным языком?
  • Что такое new?
  • Какая разница между мэйк и new?