Algoritmos de rate limiting
Pergunta
Compare token bucket e sliding window como algoritmos de rate limiting de uma API.
Resposta esperada
Token bucket mantém um 'balde' que enche a uma taxa fixa; cada requisição consome um token, e o balde permite rajadas até sua capacidade máxima antes de começar a bloquear. Sliding window log/counter conta requisições dentro de uma janela de tempo móvel, sendo mais preciso na distribuição real do tráfego mas mais caro em memória (especialmente a versão log, que guarda timestamps). Token bucket é mais simples e barato e tolera rajadas curtas de propósito; sliding window é melhor quando você precisa de um limite estrito e previsível por janela.
Por que perguntam isso
Pergunta de nível sênior porque exige comparar trade-offs de precisão vs. custo de memória, não só descrever um algoritmo.