Sobes.tech

Golang

Modelar un sistema bancario simple: - Tabla `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabla `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Requisitos:** 1. Escribir SQL para crear el esquema con las restricciones necesarias (NOT NULL, FK, CHECK en `amount` no nulo). 2. Escribir una consulta: - obtener el saldo actual de la cuenta por `account_id` (suma de `amount`). 3. Dificultad adicional: soportar débito/crédito (registro doble). Limpieza

Middle+
213

¿Cómo funciona el recolector de basura en Go? Describe las fases y el algoritmo.

Middle+
180

Impresión general de la entrevista, nivel del candidato, recomendaciones

Middle+
172

¿Qué primitivas de sincronización existen en Go? ¿Cuál es la diferencia entre Mutex y RWMutex? ¿Cuándo usar atomics?

Middle+
166

¿Cómo funciona un mapa en Go? Cuente sobre la estructura interna, buckets, colisiones.

Middle+
157

¿Cuáles son las ventajas de las goroutines sobre los hilos del sistema operativo?

Middle+
154

¿Cómo se puede optimizar la búsqueda en una base de datos? ¿Qué son los índices y cuál es su complejidad?

Middle+
152

Cuéntenos sobre el planificador de Go (scheduler). ¿Cómo funciona? ¿Qué es el hand-off?

Middle+
146

3. Complejidad: soportar débito/crédito (doble entrada). Limpieza CREATE TABLE cuentas ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE transacciones ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES cuentas(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_transacciones_account_id ON transacciones(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM transacciones WHERE account_id = :account_id; ALTER TABLE transacciones ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE transacciones DROP CONSTRAINT transacciones_amount_check, ADD CONSTRAINT transacciones_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM transacciones WHERE account_id = :account_id;

Middle+
123

Modelar un sistema bancario simple: - Tabla `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabla `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Requisitos:** 1. Escribir SQL para crear el esquema con las restricciones necesarias (NOT NULL, FK, CHECK en `amount` no nulo). 2. Escribir una consulta: - obtener el saldo actual de la cuenta por `account_id` (suma de `amount`). 3. Dificultad adicional: soportar débito/crédito (registro doble). Limpieza.

Middle+
118