Introducción
Este test está diseñado para ayudarte a medir tus conocimientos actuales de Kotlin. No importa si eres un principiante o si ya tienes experiencia; lo importante es que aproveches esta oportunidad para identificar tus puntos fuertes y las áreas donde puedes mejorar.
¿Te está gustando esta lección?
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Temas a evaluar
Introducción a Kotlin:
- Historia y filosofía de Kotlin
- Usos de Kotlin en la actualidad
- Kotlin vs Java
Instalación y primer programa de Kotlin:
- Estructura básica de un proyecto Kotlin
- Hola mundo en Kotlin
- Compilación y ejecución
- Paquetes e importaciones
Tipos de datos, variables y constantes:
- Declaración y asignación de variables
- Tipos de datos primitivos
- Uso de constantes
Operadores y expresiones:
- Operadores aritméticos, lógicos y relacionales
- Precedencia y asociatividad de operadores
- Conversión y casting de tipos
Cadenas de texto y manipulación:
- Operaciones básicas con cadenas
- Formateo de cadenas
Estructuras de control:
- Estructuras condicionales (
if
,else
,when
) - Bucles (
for
,while
,do-while
) - Expresiones de control (
break
,continue
,return
) - Expresiones de control con
try-catch
Funciones y llamada de funciones:
- Definición y sintaxis de funciones
- Parámetros y argumentos (por defecto, nombrados)
- Sobrecarga de funciones
- Funciones locales y anidadas
Clases y objetos:
- Definición de clases y creación de objetos
- Propiedades y métodos de las clases
- Inicialización de objetos y constructores
- Clases anidadas e internas
Herencia y polimorfismo:
- Concepto de herencia en Kotlin
- Uso de
open
yoverride
- Polimorfismo y clases derivadas
- Sobreescritura de métodos
Interfaces y clases abstractas:
- Definición y uso de interfaces
- Definición y uso de clases abstractas
- Diferencias entre interfaces y clases abstractas
- Implementación múltiple de interfaces
Data classes y destructuring:
- Definición y uso de
data class
- Métodos generados automáticamente (
toString
,equals
,hashCode
,copy
) - Uso de destructuring para extraer datos
- Comparación entre
data class
y clases regulares
Tipos genéricos y varianza:
- Definición y uso de tipos genéricos
- Variancia:
in
yout
- Restricciones en tipos genéricos
- Funciones y clases genéricas
Listas, Conjuntos y Mapas:
- Definición y uso de listas (
List
,MutableList
) - Definición y uso de conjuntos (
Set
,MutableSet
) - Definición y uso de mapas (
Map
,MutableMap
) - Operaciones comunes sobre colecciones (filtrar, mapear, agrupar)
Introducción a la programación funcional en Kotlin:
- Qué es la programación funcional
- Explicación de funciones puras y efectos secundarios
- Ventajas y limitaciones del paradigma funcional sobre el paradigma imperativo
- Evaluación perezosa (lazy)
Funciones de primera clase y de orden superior:
- Funciones de primera clase y de orden superior
- Expresiones Lambda
- Lambdas con funciones de orden superior
- Cláusulas inline y no-inline
- Uso de funciones anónimas
Inmutabilidad y datos inmutables:
- Qué es la inmutabilidad
- Ventajas de usar datos inmutables
val
ydata class
en Kotlin- Cómo aplicar inmutabilidad en estructuras de datos
- Colecciones inmutables vs mutables
- Evitar estados compartidos
Composición de funciones:
- Qué es la composición de funciones
- Composición con lambdas
- Aplicación de funciones como argumentos
- Creación de pipelines funcionales
Monads y manejo funcional de errores:
- Introducción a Monads en programación funcional
- Uso y diferencias de Either y Result para manejo de errores
- Uso y diferencias de Optional y Option para valores opcionales
- Manejo de errores con Monads anidados
Operaciones en colecciones:
- Operaciones
map
,filter
yreduce
en colecciones - Uso de
fold
en colecciones - Procesamiento perezoso con secuencias en colecciones
- Ejemplos prácticos de transformaciones en colecciones
Transformaciones en Monads y Functors:
- Introducción a Monads y Functors
- Uso de
map
yflatMap
en Monads (Option
,Result
) - Composición de Functors y Monads
- Ejemplos prácticos de transformaciones en estructuras encapsuladas
Funciones parciales y currificación:
- Definición de funciones parciales
- Currificación de funciones
- Aplicaciones prácticas de funciones parciales
- Currificación con funciones de orden superior
Introducción a las corutinas:
- Qué son las corutinas y qué ventajas tienen
- Creación y uso de corutinas
- Scopes y contextos de corutinas
Asincronía con suspend, async y await:
- Funciones suspendidas
suspend
- Uso de async
- Operador await
- Composición de funciones suspendidas
Concurrencia funcional:
- Manejo de concurrencia en corutinas
- Estructuras de sincronización en corutinas: Uso de
Mutex
,Channel
- Paralelismo con corutinas
Aprendizajes de esta lección
Completa Kotlin y certifícate
Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs