Что такое gRPC и чем он отличается от обычного HTTP?
Что предложить разработчику для улучшения тестируемости?
Что такое MVCC в PostgreSQL и как это влияет на производительность SELECT после большого количества UPDATE/INSERT/DELETE?
Что такое async/await, зачем нужно, во что разворачивается?
Какой из механизмов есть в Go: наследование или композиция?
Дана таблица: create table bank_users ( id bigint generated by default as identity primary key, status int, employee_number varchar(8) unique, first_name varchar(100) not null, last_name varchar(100) not null, middle_name varchar(100) default null, email varchar(100) not null unique, created_at_date_time timestamptz ); create index ix_created_at_date_time_status on bank_users (created_at_date_time, status); Есть запрос: explain (costs off, verbose) select employee_number, first_name, last_name from bank_users where status = 2 order by created_at_date_time; Возвращает: Sort Output: employee_number, first_name, last_name, created_at_date_time Sort Key: bank_users.created_at_date_time -> Seq Scan on bank_users Output: employee_number, first_name, last_name, created_at_date_time Filter: (bank_users.status = 2) Что можно сказать об оптимальности плана запроса?
С точки зрения отображения метрик — самописное или стандартное решение?
Как можно изменять переменную из нескольких потоков без примитивов синхронизации? Что такое атомарные операции и как они связаны с многопоточностью?
Можно ли обеспечить ACID с помощью Redis?
Когда вычисляются аргументы отложенной функции defer? В момент определения или в момент вызова функции?
Что такое индексы в БД? Типы индексов (B-tree, Hash, Full-text). Кластерный vs некластерный индекс. Покрывающие индексы.
Базовые HTTP методы GET, POST, PUT, PATCH, DELETE — чем отличаются?
Канал в Go — как организован под капотом, какие бывают, особенности?
Когда происходит замыкание (closure)?
В чём особенность методов async void по сравнению с async Task?
Расскажите разницу между Action-фильтрами и Middleware в ASP.NET Core.
Требуется написать запрос, возвращающий артистов и самые ранние их альбомы в формате <Имя артиста> <Название первого альбома> <Дата выпуска первого альбома>. create table Artists ( id serial primary key, name varchar(255) not null ); create table Albums ( id serial primary key, artistId int not null references Artists(id), name varchar(255) not null, release_date timestamp not null ); insert into Artists(name) values ('2Pac'), ('Wu-Tang Clan'), ('Eminem'); insert into Albums(name, artist_id, release_date) values ('The Slim Shady LP', 3, '[phone]'), ('Me Against The World', 1, '[phone]'), ('The Eminem Show', 3, '[phone]'), ('Enter The Wu-Tang Clan', 2, '[phone]'), ('Recovery', 3, '[phone]'), ('The W', 2, '[phone]'), ('2Pacalypse Now', 1, '[phone]'); select a.name, al.name, al.release_date from Artists as a join Albums as al on a.Id = al.artistId where al.release_date = ( select min(release_date) from Albums where artist_id = a.id ); with cte as ( select artist_id, min(release_date) as first_album_date from albums group by artist_id ) select a.Id, a.Name, fa.first_album_date from Artists a join cte as fa on a.Id = fa.artist_id;
Расскажите про подходы к concurrency при одновременном изменении данных в БД двумя потоками (оптимистичный и пессимистичный).
Как работает конструкция async/await? В каком потоке выполняется код после await?
Как транзакции работают с версиями в MVCC?