Подборка объединяет вопросы, отмеченные на этапах интервью в Digital Spirit. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, theory, live coding.
В объектно-ориентированном программировании (и в Go, в частности) наследование и встраивание — это два способа повторного использования кода, но они отличаются по механике и семантике.
В Go автоматическое выделение памяти из динамической области (heap) происходит во время выполнения программы, когда компилятор или рантайм определяют, что переменная должна жить дольше текущей функции или горутины.
В Go нулевое значение (zero value) для интерфейса — это nil. Интерфейс в Go — это тип, который содержит два поля: указатель на тип конкретного значения и указатель на само значение.
Режим взаимодействия транзакций в системе определяется уровнем изоляции транзакций, который задаёт, как и когда изменения, сделанные одной транзакцией, становятся видимыми другим.
В моем опыте работы с высоконагруженными системами ключевым аспектом была организация эффективного распределения и балансировки трафика для обеспечения стабильности и масштабируемости.
Индексы в базе данных создаются для ускорения поиска и выборки данных. Они работают как указатели на строки в таблице, позволяя СУБД быстро находить нужные записи без полного перебора всех данных (full table scan).