Existe um esquema de base de dados que inclui: -- Tabela de clientes CREATE TABLE customers ( id BIGSERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL ); -- Tabela de produtos CREATE TABLE products ( id BIGSERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, category VARCHAR(100) ); -- Tabela de itens de pedido CREATE TABLE order_items ( order_id BIGINT NOT NULL, product_id BIGINT NOT NULL, qty DECIMAL(10, 3) NOT NULL CHECK (qty > 0), -- 10 dígitos, 3 casas decimais price NUMERIC(10, 2) NOT NULL CHECK (price >= 0), PRIMARY KEY (order_id, product_id) ); -- Tabela de pedidos CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, customer_id BIGINT, order_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, status VARCHAR(50) NOT NULL CHECK (status IN ('pending', 'paid', 'shipped', 'delivered', 'cancelled')) ); 1. Mostre os 10 principais por soma de pedidos de usuários que fizeram mais de 2 pedidos nos últimos 30 dias 2. Mostre as 3 principais categorias por receita nos últimos 6 meses
Golang
É possível descrever os componentes principais que constituem a estrutura do erro?
Como corrigir um código com condição de corrida para que funcione de forma determinística?
O que acontece se o dispositivo não receber uma resposta durante a conexão TCP?
Existem restrições quanto ao número de goroutines que podem ser executadas simultaneamente na aplicação?
Construir um índice ótimo para SELECT * FROM employee WHERE sex = 'm' AND salary > 300000 AND age = 20 ORDER BY created_at
Agora queremos ir ao HeadHunter e procurar candidatos por filtros — como arquitetar isso?
O que acontecerá ao criar um índice numa grande tabela quente usando CREATE INDEX normal? Como criar índices corretamente em produção?
O que definitivamente não deve estar na equipa?
Que histórias técnicas existem — não sobre arquitetura de cima, mas sobre aprofundar nos detalhes, um caso problemático real?
O ClickHouse conseguiu lidar com a carga sem falhar?
Está aberta uma transação SQL e, nesse momento, é enviado um pedido HTTP — que problemas podem surgir?
É necessário implementar a função uniqRandn, que gera uma fatia de comprimento n de números únicos e aleatórios. func main() { fmt.Println(uniqRandn(10)) } func uniqRandn(n int) []int { //... }
Há quantos anos estás no Go?
O que te dá a sensação de crescimento, por que é preciso crescer?
Estás pronto para o formato de trabalho híbrido (escritório + remoto)?
Ao rehashing, a hash permanece o mesmo ou é calculado um novo para a chave?
Como podemos sincronizar vários trabalhadores de leitura a partir da tabela outbox para que não peguem os mesmos dados?
Pode dar um exemplo de uma situação em que resolveu com sucesso uma tarefa muito difícil?
Como vais perceber que te tornaste mais valioso graças a novos conhecimentos?