biantris / biantris/braintris

bookmack tt study

Open
#950 1 comment 0 reactions 0 assignees View on GitHub
content study
Dominant language
JavaScript
Stars
70
Forks
2
PR merge metrics
No merged PRs in 30d

Description

# Entrevistas Backend — por @samsantosb

> “Quase todas as respostas eram muito distantes do esperado.”
> — Sam, após acompanhar entrevistas técnicas de backend como ouvinte.
[Tweet original – 15/05/2025](https://twitter.com/samsantosb/status/1923123093595197530)

---

## Part. 1 – Perguntas frequentes nas entrevistas

**1. Como evitar que duas transações idênticas aconteçam em sequência?**
- Estratégias:
- Locks (pessimistas ou otimistas)
- Idempotência com tokens
- Hash das entradas + tempo
- Deduplicação com filas

**2. Como trabalhar com multi-câmbio em uma aplicação?**
- Estratégias:
- API de câmbio (ex: Fixer.io, OpenExchange)
- Tabelas de câmbio com cache
- Normalização de moedas
- Taxas dinâmicas por contexto

**3. Quais tecnologias usar para monitoramento de uma aplicação?**
- Ferramentas comuns:
- Prometheus + Grafana
- ELK Stack
- Datadog, New Relic, Sentry
- OpenTelemetry para tracing

[Tweet original](https://twitter.com/samsantosb/status/1923718523026595965)

---

## Part. 2 – Perguntas que já foram feitas ao Sam

**1. Como lidar com operações concorrentes em uma aplicação financeira?**
- Soluções possíveis:
- Transações ACID
- Versionamento de registros (ETag, RowVersion)
- Filas de mensagens
- Locking (optimistic/pessimistic)

**2. Quais opções nativas do Node.js para jobs/processamento assíncrono?**
- Nativas:
- `setImmediate`
- `process.nextTick`
- `worker_threads`

- Com bibliotecas:
- Bull / BullMQ
- Agenda
- Kue
- Bree
- Temporal (orquestração)
- Redis Streams

[Tweet original](https://twitter.com/samsantosb/status/1924099167325982810)

---

## Part. 3 – Como aumentar a resiliência da API Node.js sem escalar

**Pergunta:**
*Como tornar sua API Node.js mais resiliente sem escalar horizontalmente?*

**Técnicas e Ferramentas mágicas:**

- `Node Cluster`: múltiplos processos com balanceamento de carga interno
- `Graceful Shutdown`: finalização segura de processos
- `Rate Limiting`: limita requisições abusivas
- `Circuit Breaker`: isola falhas externas (ex: lib `opossum`)

[Tweet original](https://twitter.com/samsantosb/status/1924992627004350899)

---

## Part. 4 –

**Contexto:**
Código publicado pelo Sam é parte de uma *issue* real no GitHub.

**Objetivo:**
Melhorar a resiliência e controle de execuções em aplicações Node.js com lógica baseada em verificação de *flags* e controle de concorrência.

[Tweet original](https://x.com/samsantosb/status/1925179176849461700)

Contributor guide

No contributing guide indexed for this repository

Research direction

No target file, entry point, or test is named. First identify whether Part 4 refers to an existing Node.js implementation and locate the repository material connected to the cited code; clarify the intended scope for resilience and execution control. Done should be a clearly scoped, reviewed documentation or implementation change that matches that objective.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
backend, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.