Evaluación

Experto
Kotlin
Kotlin
Actualizado: 01/11/2024

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

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.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

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 y override
  • 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 y out
  • 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 y data 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 y reduce 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 y flatMap 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

⭐⭐⭐⭐⭐
4.9/5 valoración