📕
Golang
  • Собеседование по golang
  • Вопросы собеседования
    • Список вопросов МТС
    • Список вопросов
    • Базовые вопросы по Golang
    • Go. Прорабатываем 25 основных вопросов собеседования
    • Функции
    • Структуры данных
    • Конкурентность и Параллелизм
    • Горутины
    • Примитивы синхронизации
    • Планировщик
    • Go: конкурентность и привязки к потокам в планировщике
    • Каналы
    • GC
  • спецификация
    • Спецификация Go: преобразования в и из строкового типа
    • переключатель типов (type switch)
    • for утверждения (for statements)
    • for утверждения с range условием
    • go утверждения (go statements)
    • select утверждения (select statements)
    • return утверждения (return statements)
    • continue утверждения (continue statements)
    • goto утверждения (goto statements)
    • fallthrough утверждения (fallthrough statements, утверждения "провала")
    • defer утверждения (defer statements)
    • встроенные функции, функция close
    • длина и емкость
    • аллокация, создание срезов (slice), карт (map) и каналов
    • добавление в срезы и копирование срезов
    • удаление элементов карты
    • обработка паники
    • начальная загрузка (bootstrapping)
    • пакеты
    • инициализация и выполнение программы, нулевое значение
    • инициализация пакета
    • выполнение программы
    • ошибки
    • паника во время выполнения (run-time panic)
  • Эффективный go
    • эффективный go
    • 50 оттенков go
    • Go: распространенные антипаттерны
    • Визуализация concurrency в Go с WebGL
  • требования для работы
    • Список навыков
  • habr
    • Изучаем многопоточное программирование в Go по картинкам
    • Go: конкурентность и привязки к потокам в планировщике
  • NP
    • Полиморфизм с интерфейсами в Golang
    • Объектно-ориентированное программирование в Golang
    • Владеешь merge  -  освой и rebase
  • ProgLib
    • Горутины
  • Untitled
  • Оптимизация
    • Go: Должен ли я использовать указатель вместо копии моей структуры?
  • Полезняшки
    • Using PostgreSQL JSONB with Go
Powered by GitBook
On this page

Was this helpful?

  1. Вопросы собеседования

Список вопросов

PreviousСписок вопросов МТСNextБазовые вопросы по Golang

Last updated 4 years ago

Was this helpful?

    1. Характеристики golang

    2. Какие технологические преимущества экосистемы Go вы можете назвать?

    3. Чем вам нравится golang

    4. Статическая или динамическая типизация? строготипизирован или нет

    5. Что вас огорчает в системе типов Go?

    6. Почему на Go практически не пишут расширений для других языков и динамических библиотек?

    7. Go - императивный или декларативный? А в чем разница?

    8. Что значит "A little copying is better than a little dependency"? Какие заповеди Роба Пайка вам известны?

    9. Что такое type-switch?

    10. Как сообщить компилятору, что наш тип реализует интерфейс?

    11. Как вы применяете пакеты internal?

    12. можно ли использовать один и тот же буфер []byte в нескольких горутинах?

    13. Почему иногда говорят, что в Go nil имеет тип?

    14. Как получить переменную, которая не-nil, но nil?

  1. ООП

    1. Какого типа?

    2. Что такое интерфейс

    3. Какие средства обобщенного программирования есть в Go?

    4. Как соблюдать SOLID при программировании на Go?

    5. Почему встраивание - не наследование?

    6. Где следует поместить описание интерфейса и почему?

    7. Ваш любимый способ делать dependency injection?

  2. Структуры данных

    1. Массив

      1. Как устроен

      2. Как работает append?

      3. как сделать из слайса массив?

    2. slice

      1. Внутреннее устройство

      2. Основные ошибки использования

      3. какое у slice zero value? какие операции над ним возможны?

    3. Map

      1. Как устроен

      2. Каков порядок перебора map?

      3. какая функция используется для хеширования в map?

      4. Что может быть ключем в map?

    4. Канал

      1. Назначение

      2. Внутреннее устройство

      3. Буферизация

      4. Закрытие

        1. Что будет, если писать в закрытый канал?

        2. Что будет, если читать из закрытого канала?

        3. Как закрывать канал со стороны читателя?

        4. Зачем может потребоваться схема “много писателей - один читатель”?

    1. Как вы отсортируете массив структур по алфавиту по полю Name?

    2. Удалить дубликаты из массива без переаллокации - можно ли?

    3. что лучше - список или массив?

    4. как вы реализуете разреженный массив на go?

  3. Горутины.

    1. Почему легковесны

    2. Как устроены

    3. Могут ли прерываться при длительной обработке

    4. Что такое thread pool, какого он размера и зачем он нужен?

    5. Что происходит, когда вы отправляете данные из горутины в сетевое соединение?

  4. Примитивы синхронизации

  5. Планировщик

    1. Какого типа многозадачность

    2. Как устроен планировщик

    3. Какие функции выполняет

  6. GC

    1. как устроен

  7. Алгоритмы

    1. Concurrency

      1. Mutex и RWMutex

        1. В чем разница?

        2. Что будет, если попытаться взять RLock и следом WLock?

    2. Сериализация/десериализация

    3. Коммуникация

    4. Что такое lock-free структуры данных, и есть ли в go такие?

    5. Как вы реализуете LRU cache на go?

  8. Паттерны проектирования на golang

Базовые вопросы по golang