50% OFF Plus
--:--:--
¡Ver!

Evaluación

Experto
Kotlin
Kotlin
Actualizado: 01/11/2024

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.

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
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Kotlin es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de Kotlin

Explora más contenido relacionado con Kotlin y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección