Подборка объединяет вопросы, отмеченные на этапах интервью в Digital Spirit. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, theory, livecoding.
ORM для Go: основные варианты и преимущества к популярным ORM относятся GORM, Ent, SQLBoiler, XORM и Pop GORM: широкий набор возможностей, удобные миграции, работа со связями и большое сообщество Ent: создание…
Уровни изоляции транзакций: принцип работы область: базы данных, управление транзакциями цель: контроль конкурентного доступа и защита от аномалий уровни определены стандартом SQL ANSI: Read Uncommitted
Слайс в Go представляет собой динамический изменяемый участок массива. Создавать слайсы можно с помощью литералов, функции make или выделения части другого слайса. Читать и изменять элементы разрешается по индексу;…
Плюсы и минусы gRPC по сравнению с REST gRPC — это протокол RPC, а REST — архитектурный стиль HTTP gRPC работает поверх HTTP/2, тогда как REST обычно использует HTTP/1.1 gRPC применяет эффективную бинарную…
Сравнение микросервисной архитектуры и монолита: преимущества и недостатки Микросервисы представляют собой небольшие независимые сервисы, тогда как монолит является единым приложением. Отдельные микросервисы можно…
Типы баз данных по модели данных: реляционные, NoSQL реляционные используют таблицы, SQL и ACID NoSQL представлены колоночными, документными, графовыми моделями и хранилищами ключ-значение реляционные БД отличаются…
gRPC — фреймворк для удалённых процедурных вызовов Unary RPC: один запрос и один ответ Server streaming RPC: один запрос и поток ответов Client streaming RPC: поток запросов и один ответ Bidirectional streaming RPC:…
Каковы основные принципы SOLID? пять принципов объектно-ориентированного проектирования S — Single Responsibility Principle (SRP): у класса должна быть только одна ответственность O — Open/Closed Principle (OCP):…
В каком случае интерфейс равен nil? Интерфейс в Go включает две составляющие: тип и значение. Значение интерфейса считается nil только тогда, когда обе его части равны nil. Если тип определён, а значение равно nil,…
Когда проверяется интерфейс: compile-time или runtime? Контекст: типизация и объектно-ориентированное программирование В статически типизированных языках, включая Java и C#, интерфейсы проверяются на этапе…
разные подходы: композиция объектов и иерархия типов встраивание добавляет объект в структуру и использует делегирование наследование расширяет базовый класс и позволяет переопределять его поведение embedding не…
Отличие zero value слайса от zero value мапы Слайс и мапа как контейнеры в Go Zero value слайса — это nil-срез с длиной и ёмкостью 0, который указывает на nil Чтение разрешено, однако запись невозможна без…