Las 25 Mejores Preguntas de Entrevista para Desarrollador Solana (2026)

Las 25 Mejores Preguntas de Entrevista para Desarrollador Solana (2026) - Key Takeaways

Los roles de desarrollador Solana estan entre los mejor pagados en blockchain, con salarios que van desde $115,000 hasta mas de $200,000. Esta guia cubre las preguntas de entrevista mas comunes que encontraras.

Fundamentos de Solana

1. Que es Solana y como se diferencia de Ethereum?

Respuesta: Solana es una blockchain Layer 1 de alto rendimiento disenada para velocidad y escalabilidad. Diferencias clave:

  • Consenso: Solana usa Proof of History (PoH) + Proof of Stake vs Proof of Stake de Ethereum
  • Velocidad: ~400ms tiempo de bloque vs ~12 segundos
  • Rendimiento: 65,000+ TPS teorico vs ~30 TPS
  • Comisiones: Fracciones de centavo vs variable (a menudo dolares)
  • Contratos inteligentes: Llamados "Programs", escritos en Rust vs Solidity

2. Explica Proof of History (PoH)

Respuesta: Proof of History es un reloj criptografico que crea un registro historico demostrando que los eventos ocurrieron en momentos especificos en el tiempo. Funciona asi:

  1. Ejecutando una funcion hash SHA-256 continuamente
  2. Cada hash incluye el hash anterior como entrada
  3. La salida sirve como marca de tiempo verificable
  4. Los validadores pueden verificar la secuencia sin comunicacion

Esto permite a Solana ordenar transacciones sin esperar consenso de toda la red sobre el tiempo.

3. Cual es la diferencia entre un Program y una Account?

Respuesta:

  • Programs son codigo ejecutable desplegado en la blockchain (como contratos inteligentes). Son sin estado y no pueden almacenar datos por si mismos.
  • Accounts son contenedores de datos que almacenan estado y SOL. Los Programs leen y escriben en accounts sobre las que tienen autoridad.

Esta separacion permite el procesamiento paralelo de transacciones - diferentes transacciones pueden ejecutarse simultaneamente si tocan diferentes accounts.

4. Que es una PDA (Program Derived Address)?

Respuesta: Una PDA es una clave publica derivada deterministicamente de un program ID y semillas. Caracteristicas clave:

const [pda, bump] = PublicKey.findProgramAddressSync(
  [Buffer.from("seed"), userPubkey.toBuffer()],
  programId
);
  • No existe clave privada correspondiente
  • Solo el program puede firmar por ella
  • Usada para accounts propiedad del program
  • Deterministica - las mismas semillas siempre producen la misma direccion

5. Como funcionan las transacciones en Solana?

Respuesta: Una transaccion de Solana contiene:

  • Instructions: Operaciones a ejecutar (puede tener multiples)
  • Signatures: De todos los firmantes requeridos
  • Recent blockhash: Para deduplicacion (expira ~2 minutos)
  • Fee payer: Account que paga las comisiones de transaccion
const transaction = new Transaction()
  .add(instruction1)
  .add(instruction2);
transaction.recentBlockhash = blockhash;
transaction.feePayer = payer;

Preguntas sobre @solana/web3.js

6. Que es @solana/web3.js?

Respuesta: El SDK oficial de JavaScript/TypeScript para interactuar con Solana. La version 2.0 (lanzada en noviembre 2024) introdujo:

  • Soporte para tree-shaking
  • Cero dependencias
  • Operaciones criptograficas 10x mas rapidas
  • Patrones modernos de JavaScript (API funcional)

7. Como te conectas a un cluster de Solana?

Respuesta:

// Legacy v1
import { Connection } from "@solana/web3.js";
const connection = new Connection("https://api.mainnet-beta.solana.com");

// v2
import { createSolanaRpc } from "@solana/web3.js";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");

8. Como creas y firmas una transaccion?

Respuesta:

import { Transaction, SystemProgram, Keypair } from "@solana/web3.js";

const transaction = new Transaction().add(
  SystemProgram.transfer({
    fromPubkey: sender.publicKey,
    toPubkey: recipient,
    lamports: 1000000000, // 1 SOL
  })
);

transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
transaction.feePayer = sender.publicKey;
transaction.sign(sender);

const signature = await connection.sendRawTransaction(transaction.serialize());

9. Que son los lamports?

Respuesta: Los lamports son la unidad mas pequena de SOL (como wei para ETH o satoshis para BTC). 1 SOL = 1,000,000,000 lamports (10^9).

10. Como manejas la confirmacion de transacciones?

Respuesta:

const signature = await connection.sendTransaction(transaction);

// Esperar confirmacion
await connection.confirmTransaction({
  signature,
  blockhash,
  lastValidBlockHeight,
}, "confirmed"); // o "finalized" para maxima certeza

Niveles de confirmacion:

  • processed: Visto por el nodo conectado
  • confirmed: Votado por supermayoria
  • finalized: 31+ bloques de profundidad, irreversible

Desarrollo de Programs

11. Que lenguajes puedes usar para escribir Solana Programs?

Respuesta:

  • Rust (mas comun, mejor rendimiento)
  • C/C++ (soportado pero raro)
  • Python via Seahorse (compila a Rust)

El framework Anchor es la opcion mas popular para desarrollo en Rust.

12. Que es el framework Anchor?

Respuesta: Anchor es un framework para desarrollo de Solana Programs que proporciona:

  • Macros declarativos para reducir codigo repetitivo
  • Validacion automatica de accounts
  • Generacion de IDL para interaccion con el cliente
  • Utilidades de prueba
#[program]
pub mod my_program {
    use super::*;

    pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
        // Logica del program
        Ok(())
    }
}

13. Como funciona la validacion de accounts en Anchor?

Respuesta: Anchor usa macros derive para validar accounts:

#[derive(Accounts)]
pub struct Initialize<'info> {
    #[account(init, payer = user, space = 8 + 32)]
    pub my_account: Account<'info, MyData>,
    #[account(mut)]
    pub user: Signer<'info>,
    pub system_program: Program<'info, System>,
}

14. Que es la Solana Program Library (SPL)?

Respuesta: SPL es una coleccion de programs on-chain para funcionalidad comun:

  • Token Program: Tokens fungibles (como ERC-20)
  • Associated Token Account: Derivacion estandar de token account
  • Token-2022: Caracteristicas extendidas de tokens
  • Name Service: Nombramiento on-chain
  • Memo: Adjuntar datos a transacciones

Arquitectura y Rendimiento

15. Por que Solana es tan rapida?

Respuesta: Multiples optimizaciones:

  1. Proof of History: Pre-ordena transacciones sin demora de consenso
  2. Tower BFT: Consenso optimizado para PoH
  3. Turbine: Protocolo de propagacion de bloques
  4. Gulf Stream: Reenvio de transacciones sin mempool
  5. Sealevel: Runtime paralelo de contratos inteligentes
  6. Pipelining: Procesamiento de transacciones acelerado por GPU

16. Que es Sealevel?

Respuesta: El runtime paralelo de Solana que ejecuta transacciones simultaneamente. Las transacciones se ordenan segun las accounts a las que acceden - las que tocan diferentes accounts se ejecutan en paralelo.

17. Como funcionan los validadores en Solana?

Respuesta: Los validadores:

  • Ejecutan el software de Solana
  • Validan y votan sobre transacciones
  • Producen bloques cuando son seleccionados como lider
  • Ganan recompensas por inflacion y comisiones
  • Requieren SOL en stake (propio o delegado)

Seguridad y Mejores Practicas

18. Cuales son las vulnerabilidades de seguridad comunes en Solana?

Respuesta:

  • Falta de verificacion de firmantes: No verificar los firmantes de transacciones
  • Falta de verificacion de propietario: No verificar la propiedad de accounts
  • Desbordamiento de enteros: Aritmetica sin operaciones verificadas
  • Colisiones de semillas PDA: Semillas no unicas
  • Ataques de reinicializacion: Permitir re-inicializacion de accounts

19. Como previenes la reentrancia en Solana?

Respuesta: La arquitectura de Solana previene la reentrancia en gran medida por diseno - los programs no pueden llamarse a si mismos recursivamente. Sin embargo, la invocacion entre programs (CPI) requiere manejo cuidadoso del estado de las accounts.

20. Que es Cross-Program Invocation (CPI)?

Respuesta: CPI permite a los programs llamar a otros programs:

let cpi_accounts = Transfer {
    from: ctx.accounts.from.to_account_info(),
    to: ctx.accounts.to.to_account_info(),
    authority: ctx.accounts.authority.to_account_info(),
};
let cpi_program = ctx.accounts.token_program.to_account_info();
let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
token::transfer(cpi_ctx, amount)?;

Temas Avanzados

21. Que son las comisiones de prioridad y como funcionan?

Respuesta: Las comisiones de prioridad aumentan la prioridad de la transaccion durante congestion:

const modifyComputeUnits = ComputeBudgetProgram.setComputeUnitLimit({
  units: 200000
});

const addPriorityFee = ComputeBudgetProgram.setComputeUnitPrice({
  microLamports: 1000
});

transaction.add(modifyComputeUnits, addPriorityFee);

22. Que es Jito y MEV en Solana?

Respuesta: Jito es un cliente de Solana que habilita MEV (Valor Extraible Maximo) a traves de:

  • Bundles: Paquetes de transacciones atomicas
  • Tips: Incentivos para validadores
  • Block engine: Infraestructura de extraccion de MEV

23. Como manejas los limites de tasa de RPC?

Respuesta:

  • Usar proveedores de RPC dedicados (Helius, QuickNode)
  • Implementar backoff exponencial
  • Cachear respuestas donde sea posible
  • Usar websockets para suscripciones en vez de polling
  • Agrupar llamadas RPC cuando sea posible

24. Que es la compresion de accounts?

Respuesta: La compresion de accounts usa arboles de Merkle para almacenar datos off-chain mientras mantiene verificacion on-chain. Usado para:

  • NFTs comprimidos (cNFTs)
  • Airdrops a gran escala
  • Assets de gaming

25. Como depuras transacciones de Solana?

Respuesta:

  • Solana Explorer: Ver detalles de transacciones
  • solana logs: Streaming de logs por CLI
  • anchor test: Pruebas locales
  • msg!() macro: Logging de programs
  • Simulacion antes de enviar: connection.simulateTransaction()

Recursos Relacionados

Aprende a construir con Solana en nuestra Guia de Desarrollo Solana con JavaScript con ejemplos de codigo practicos.

Para aplicaciones de trading, consulta nuestra Guia de Bot de Trading en Solana cubriendo estrategias DeFi.

Conclusion

El desarrollo en Solana requiere entender su arquitectura unica - Proof of History, el modelo de Accounts y la ejecucion paralela. Domina estos conceptos junto con @solana/web3.js, y estaras bien preparado para entrevistas tecnicas.