Golang
O que é o contexto em Go e como é utilizado?
Fale sobre Kafka: tópicos, partições, grupos de consumidores, garantias de entrega.
O que achas do Linux?
Qual é a diferença entre Atomic e uma atribuição normal a uma variável?
Como você construiu o padrão de caixa de entrada?
O que acontece com o mapa quando falta memória alocada? O que é um balde de overflow e sob que condição ele é criado?
Para onde queres evoluir — na vertente técnica ou mais na gestão?
O que acontece se iniciar um contêiner com --network=host?
3. Complexidade: suportar débito/crédito (dupla entrada). Limpeza CREATE TABLE contas ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE transações ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES contas(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_transações_account_id ON transações(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM transações WHERE account_id = :account_id; ALTER TABLE transações ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE transações DROP CONSTRAINT transações_amount_check, ADD CONSTRAINT transações_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM transações WHERE account_id = :account_id;
Estás atualmente a trabalhar na [empresa] — quão relevante é isto e o que te levou a considerar uma nova oferta?
Conte uma história interessante no trabalho
Alterando apenas a sexta linha de código (sem alterar a assinatura da função), é possível acessar os elementos adicionados dentro da função (tripla e quadrupla)?
Qual é a diferença entre o tipo de dado TEXT e VARCHAR no PostgreSQL, e também em que difere VARCHAR de CHAR?
O que gostarias de fazer no futuro? Tens planos de programar em Go? Quais são os teus planos de carreira?
Recorde uma situação da sua experiência anterior em que viu que uma solução arquitetónica proposta pelo líder da equipa ou arquiteto não era ótima. O que fez nessa situação? Defendia de alguma forma o seu ponto de vista?
O que é um pânico em Go e quando não pode ser capturado?
O que acontece com a memória ao remover elementos de um mapa? Os buckets são liberados ao limpar o mapa?
Para que é que este código foi escrito? Que problema técnico de negócio resolve?
Você já fez arquitetura do zero, trabalhou com design de sistemas?
Por que decidiram dividir o monólito em 3 serviços independentes? Em que se baseou essa decisão?