Entrevista Backend: 37 Preguntas y Respuestas

Las entrevistas técnicas pueden ser intimidantes, ¡pero también gratificantes!

Especialmente cuando se trata de una entrevista para una posición backend.

¬ŅPor qu√© es importante este art√≠culo?

  • Elegir al candidato adecuado para una posici√≥n backend es esencial para el √©xito de una compa√Ī√≠a, por lo que es crucial hacer las preguntas adecuadas.
  • Por otro lado, si est√°s prepar√°ndote para una entrevista backend, querr√°s asegurarte de responder adecuadamente a las preguntas.

Est√°s de buena suerte:

Puedes prepararte para tu próxima entrevista backend, revisando la siguiente lista de 37 preguntas y respuestas, que he recopilado para ti.

Comenzaremos con preguntas generales y luego pasaremos a preguntas más específicas, sobre frameworks, escalabilidad y seguridad, para que te sientas seguro al tener tu entrevista.

¬ŅQu√© es un desarrollador Backend?

Los desarrolladores backend son responsables de las tecnologías y aplicaciones de lado del servidor.

Trabajan estrechamente con los desarrolladores front-end para asegurar que los datos se transmitan adecuadamente entre cliente y servidor.

Para tener éxito en este rol, los desarrolladores backend deben tener un sólido conocimiento de lenguajes de programación y frameworks de lado del servidor, bases de datos y, almacenamiento en caché.

  • Los lenguajes de programaci√≥n backend m√°s populares son Node.js, Python y PHP.
  • Sin embargo, muchos otros lenguajes, como Ruby, Java y .NET, tambi√©n se utilizan para el desarrollo backend.

Al entrevistar a un desarrollador backend, lo principal es:

  • Asegurar que tiene un s√≥lido conocimiento de al menos una tecnolog√≠a de lado del servidor, y que puede comunicarse eficazmente con los desarrolladores front-end.
  • Evaluar su experiencia, respecto a qu√© lenguajes de programaci√≥n y bases de datos ha usado, y qu√© tanto conoce sobre buenas pr√°cticas de programaci√≥n.

A continuación te presento 37 preguntas importantes para una entrevista backend.

Est√°n organizadas por secciones. Empecemos por las m√°s generales.

37 Preguntas y respuestas para una Entrevista Backend

Preguntas generales

1. Explica el propósito del backend.

El backend, también conocido como el lado del servidor, es el software que impulsa un sitio web o aplicación, detrás de escenas.

Es responsable de almacenar y organizar datos, gestionar las solicitudes de los usuarios, y entregar contenido al frontend.

Debido a que el código frontend se ejecuta de lado del cliente, y puede modificarse fácilmente, la mayor responsabilidad en temas de seguridad depende del backend.

Por eso es importante conocer la diferencia entre frontend y backend.

2. ¬ŅCu√°l es el flujo de trabajo t√≠pico para implementar una nueva caracter√≠stica en el backend?

Los workflows para implementar características en el backend pueden variar dependiendo de la empresa y su stack tecnológico.

Sin embargo, un flujo de trabajo típico empieza por:

  • discutir la nueva feature con las partes interesadas (stakeholders),
  • dise√Īar y prototipar la nueva caracter√≠stica,
  • escribir el c√≥digo correspondiente, y
  • realizar pruebas de Control de Calidad (QA).

En la mayoría de los casos, el desarrollador backend trabajará con el desarrollador frontend para asegurar que los datos se transmitan correctamente entre cliente y servidor.

También es esencial asegurar que las nuevas características sean compatibles con versiones anteriores de la aplicación.

3. Explica la esencia de los principios DRY y DIE.

El principio DRY (Don't Repeat Yourself) es un principio de desarrollo de software que establece que los desarrolladores no deben duplicar código.

El código duplicado puede provocar problemas de mantenimiento porque los cambios deben realizarse en varios lugares.

El principio DIE (Duplication Is Evil) es muy similar al principio DRY, pero va un paso m√°s all√° al afirmar que incluso peque√Īas cantidades de duplicaci√≥n son inadecuadas y deben evitarse.

4. ¬ŅQu√© es un servidor web?

Un servidor web es una computadora que almacena y entrega p√°ginas web.

  • Cuando escribes una URL en tu navegador, el navegador contacta al servidor web y solicita la p√°gina.
  • El servidor web resuelve la petici√≥n y env√≠a la p√°gina de vuelta al navegador.
  • El navegador muestra la p√°gina en tu pantalla, realizando peticiones adicionales seg√ļn sea necesario.

Apache y NGINX son los servidores web m√°s populares, utilizados en conjunto con aplicaciones backend.

Los servidores web también pueden alojar y devolver recursos estáticos, como imágenes y videos, o documentos para descargar.

5. ¬ŅCu√°l es la diferencia entre una solicitud GET y una POST?

Una solicitud GET recupera datos de un servidor, mientras que una solicitud POST envía datos a un servidor, para que sean registrados o ejecuten alguna acción.

Decimos entonces que GET es idempotente porque sólo lee, sin causar cambios. POST, por otro lado, no lo es.

Usualmente:

  • En una solicitud GET, los par√°metros se pasan en la URL (esto se conoce como query parameters).
  • En una solicitud POST, los par√°metros se pasan en el cuerpo de la solicitud.

Nota: es posible enviar un body en un GET request, o usar query parameters para solicitudes POST, pero no es recomendable, sobretodo si est√°s siguiendo est√°ndares REST.

6. ¬ŅCu√°ndo usar√≠as el almacenamiento en cach√©?

El almacenamiento en caché se usa frecuentemente para mejorar el rendimiento de una aplicación.

Por ejemplo, la información accedida con frecuencia desde una base de datos puede ser almacenada en caché para evitar consultas innecesarias.

7. ¬ŅC√≥mo seleccionar√≠as una estrategia de cach√© (por ejemplo, LRU, FIFO)?

Seleccionar una estrategia de caché depende de las necesidades específicas de la aplicación.

Por ejemplo:

  • LRU, Least Recently Used (Menos Usado Recientemente), es una buena opci√≥n para aplicaciones donde los datos accedidos con frecuencia son propensos a ser consultados nuevamente.

  • FIFO, First In, First Out (Primero en Entrar, Primero en Salir), es una buena opci√≥n para una aplicaci√≥n donde los datos caducan despu√©s de un tiempo determinado.

8. ¬ŅCu√°les son algunos problemas comunes con los ORM?

Las siglas ORM significan Object‚Äďrelational mapping.

Y algunos problemas que pueden ocurrir con los ORM (cuando no son usados correctamente) son:

  • degradaci√≥n del rendimiento,
  • mapeo incorrecto de datos y,
  • dificultad para manejar consultas complejas.

9. ¬ŅCu√°ndo deber√≠as usar la programaci√≥n as√≠ncrona?

La programaci√≥n as√≠ncrona se usa frecuentemente para mejorar el rendimiento de una aplicaci√≥n que realiza m√ļltiples operaciones.

Por ejemplo, si una aplicación necesita realizar muchas consultas a su base de datos, ya sea de lectura o escritura, es conveniente usar programación asíncrona para no bloquear el hilo principal (main thread).

10. ¬ŅCu√°l es la diferencia entre promesas y callbacks?

  • Una promesa es un objeto que representa el resultado de una operaci√≥n as√≠ncrona.
  • Un callback es una funci√≥n que se invoca cuando una operaci√≥n as√≠ncrona se completa.

11. ¬ŅQu√© es un closure?

Un closure es una función que accede a variables "externas", es decir que están ubicadas en otro ámbito, incluso después que la función principal se haya cerrado.

Si un callback depende de variables que est√°n fuera de su √°mbito, es adem√°s un closure.

12. ¬ŅCu√°l es la diferencia entre una Clase y una Interfaz en Java?

  • Una clase es un plano o molde para crear instancias (objetos),
  • mientras que una interfaz es un contrato que define los m√©todos que una clase debe implementar.

13. ¬ŅQu√© es la integraci√≥n continua?

Continuous Integration (CI) es una práctica de desarrollo de software en la que los desarrolladores hacen merge continuamente de sus cambios de código sobre un repositorio principal.

La CI ayuda a garantizar que la base de código siempre esté al día y no haya conflictos entre las diferentes ramas.

Idealmente, como parte de esta práctica, se realizarán las validaciones adecuadas para asegurar que el código que se está integrando sea consistente, estable y seguro.

14. ¬ŅQu√© es un kit de desarrollo de software (SDK)?

Un software development kit (SDK) es un conjunto de herramientas que ayuda a los desarrolladores a construir aplicaciones de software.

Típicamente incluye un compilador, depurador y otras utilidades.

Como ejemplos, tenemos:

  • el Java Development Kit (JDK), y el
  • Python Software Development Kit (SDK).

15. ¬ŅCu√°les son las diferencias entre client-side rendering vs. server-side rendering?

Existen ventajas y desventajas al decidir entre renderizar del lado del cliente y renderizar del lado del servidor.

La renderización del lado del cliente hoy en día no es tan compleja de configurar si se usan frameworks frontend como Vue, React, Angular, o Svelte para crear single page applications.

Sol√≠a ser una tarea tediosa a√Īos atr√°s al usar s√≥lo JavaScript nativo, o bibliotecas como jQuery.

Básicamente, el código JavaScript se ejecuta en el dispositivo cliente y genera el HTML que finalmente termina mostrándose al usuario, en su navegador web.

La renderización del lado del cliente suele ser más lenta porque la aplicación necesita descargar todos los recursos necesarios antes de comenzar a renderizar.

La renderización del lado del servidor es importante por temas de SEO cuando se está desarrollando una SPA (single page application).

Si se trata de multi-page applications, la renderización del lado del servidor es típicamente más fácil de configurar, porque la gran mayoría de lenguajes de programación generan HTML sin complicaciones.

La renderización del lado del servidor suele ser más rápida porque el HTML se genera en el servidor (usualmente se guarda en caché) y se envía lista al cliente.

Si desarrollamos una SPA con SSR, entonces tenemos lo mejor de ambos enfoques:

  • Una p√°gina interactiva que se actualiza de lado del cliente r√°pidamente.
  • Y con una carga inicial r√°pida, ya que el servidor entrega un primer HTML renderizado.

Por favor, ten en cuenta que estas compensaciones dependen de los requerimientos de cada aplicación web.

16. ¬ŅQu√© son las high-order functions? ¬ŅPor qu√© son √ļtiles?

Las high-order functions son funciones que reciben otras funciones como argumentos.

Estas funciones ayudan a abstraer patrones comunes de código, y hacen posible lo que conoces como programación funcional.

Por ejemplo, en JavaScript tenemos map, filter, sort, que son funciones que aceptan a otras funciones como argumento.

17. ¬ŅQu√© es un microservicio?

Un microservicio es un componente independiente (y peque√Īo) de una aplicaci√≥n m√°s extensa.

Cada microservicio se enfoca en una funcionalidad y puede ser desplegado independientemente.

Uno de los beneficios de usar microservicios es que pueden estar escritos en diferentes lenguajes de programación y desplegados en diferentes servidores.

Ejemplos comunes de microservicios incluyen:

  • autenticaci√≥n de usuario,
  • procesamiento de pagos, y
  • manipulaci√≥n de im√°genes.

Preguntas sobre APIs

18. ¬ŅC√≥mo dise√Īar√≠as una API?

Al dise√Īar una API, es importante empezar analizando las necesidades de los desarrolladores que la requieren y van a utilizar.

La API debe ser f√°cil de usar y estar bien documentada.

Es fundamental considerar la seguridad de la API y asegurar que solo los usuarios autorizados puedan acceder a los recursos correspondientes.

Adem√°s, la API debe poder manejar un gran n√ļmero de solicitudes sin sobrecargar el servidor.

19. ¬ŅCu√°l es la diferencia entre una API RESTful y una API SOAP?

  • Las API RESTful est√°n dise√Īadas para ser f√°ciles de usar y estar bien documentadas. Utilizan un conjunto est√°ndar de reglas, que permiten familiarizarse con ellas r√°pidamente.
  • Por otro lado, las API SOAP definen un protoc√≥lo de comunicaci√≥n m√°s r√≠gido y por tanto se considera que esto agrega un nivel adicional de seguridad. Sin embargo, son m√°s complejas de aprender y usar.

SOAP siempre devuelve XML como respuesta. REST es m√°s flexible y soporta m√ļltiples formatos (usualmente se usa JSON, pero no est√° limitado a ello).

Si quieres extenderte un poco m√°s, vemos que tienen cosas en com√ļn:

  • Ambos utilizan HTTP, el protocolo estandarizado de Internet, para intercambiar informaci√≥n.
  • Ambos son compatibles con SSL/TLS para una comunicaci√≥n segura y cifrada.

20. ¬ŅC√≥mo manejas los errores al realizar llamadas a una API?

Al consultar una API, es importante atender los errores de manera consistente, seg√ļn los c√≥digos de respuesta.

Por ejemplo, si una API devuelve un error 404, lo recomendable es mostrar un mensaje al usuario diciendo que los datos no se pudieron encontrar.

Sin embargo, debemos tener en cuenta que un usuario podría estar usando una conexión a internet lenta, o quedarse desconectado. Si la solicitud no consigue realizarse, de igual forma debemos informar al usuario.

Preguntas sobre Bases de datos

21. ¬ŅQu√© es una base de datos?

Una base de datos es un lugar donde se almacena información.

Las aplicaciones backend utilizan bases de datos para almacenar y recuperar datos, como información de usuario o datos de una aplicación.

Existen muchos tipos de bases de datos, pero las m√°s utilizadas por las aplicaciones backend son las bases de datos relacionales, como MySQL, PostgreSQL y Oracle.

Las bases de datos suelen ser gestionadas por un sistema de gestión de bases de datos (DBMS), que proporciona una interfaz para que los administradores gestionen los datos.

Algunas aplicaciones backend también utilizan bases de datos NoSQL, que son no relacionales y a menudo más escalables que las bases de datos relacionales.

22. ¬ŅC√≥mo optimizar√≠as una base de datos existente?

Para mantener una base de datos optimizada, es importante realizar periódicamente tareas de mantenimiento, como indexar nuevos datos, o eliminar datos antiguos que ya no se necesitan.

Es crucial monitorear el rendimiento de la base de datos, y asegurar que pueda manejar la carga de trabajo de la aplicación.

23. ¬ŅCu√°l es la diferencia entre una base de datos relacional y una no relacional?

  • Las bases de datos relacionales almacenan datos en tablas y utilizan claves primarias para identificar cada fila. Mantienen los datos consistentes en funci√≥n a las relaciones establecidas.
  • Las bases de datos no relacionales almacenan datos en documentos y utilizan object IDs para identificar cada registro. Son m√°s flexibles y generalmente m√°s r√°pidas debido a que realizan menos validaciones.

24. ¬ŅC√≥mo consultar datos de una base de datos MongoDB?

MongoDB utiliza un lenguaje de consulta llamado MongoDB Query Language (MQL).

Podemos utilizar el método find() para consultar datos de una base de datos MongoDB.

Este método toma un conjunto de parámetros que especifican los criterios de la consulta.

Por ejemplo, para encontrar todos los documentos en la colección users que tengan como name el valor "Juan", usaríamos la siguiente query:

db.users.find({"name": "Juan"})

25. ¬ŅCu√°les son algunos beneficios de usar una base de datos NoSQL?

Las bases de datos NoSQL tienen algunas ventajas sobre las bases de datos relacionales:

  • Generalmente son m√°s escalables y m√°s f√°ciles de gestionar.
  • Son m√°s flexibles porque no exigen un esquema estricto para los datos.

Sin embargo, las bases de datos NoSQL pueden ser más difíciles de consultar, y a menudo no proporcionan el mismo nivel de consistencia que las bases de datos relacionales.

26. ¬ŅC√≥mo normalizar√≠as datos en una base de datos relacional?

Para normalizar datos en una base de datos relacional, crearía tablas separadas para cada tipo de entidad y usaría claves foráneas para relacionar las tablas.

Por ejemplo, si tuviera una tabla "usuarios" y una tabla "órdenes", usaría una clave foránea para vincular cada orden con el usuario que la creó, modificó, eliminó, etcétera.

Preguntas sobre Escalabilidad

27.1. ¬ŅC√≥mo dise√Īar√≠as un sistema de software para que sea escalable?

Para conseguir escalabilidad en un software, es importante considerar las necesidades de la aplicación.

Por ejemplo, si la aplicación necesita manejar muchos usuarios concurrentes, y se cuenta con muchas funcionalidades, podemos usar una arquitectura basada en microservicios.

Esta arquitectura permite que cada componente del sistema se escale de forma independiente.

También podemos usar un message queue, o cola de mensajes, para desacoplar los componentes del sistema. Esto permitirá que cada componente se escale de forma independiente sin afectar el rendimiento de los otros componentes.

27.2. ¬ŅCu√°les son algunos problemas comunes de escalabilidad? ¬ŅC√≥mo pueden abordarse?

Algunos problemas comunes incluyen bajo performance, pérdida de datos y tiempo de inactividad.

Podemos abordar estos problemas utilizando diversas técnicas, como almacenamiento en caché, fragmentación (sharding) y replicación.

Es crucial tener una arquitectura bien dise√Īada que pueda atender adecuadamente aumentos repentinos en el nivel de tr√°fico / carga de trabajo.

28. Escalar hacia afuera vs. escalar hacia arriba: ¬Ņen qu√© se diferencian? ¬ŅCu√°ndo aplicar uno u otro?

Scale out y scale up son 2 enfoques diferentes para aumentar la capacidad o el rendimiento de un sistema.

Escalar hacia afuera implica agregar componentes adicionales al sistema, mientras que escalar hacia arriba implica hacer que las características existentes sean más potentes.

¬ŅCu√°ndo usar uno y cu√°ndo el otro?

  • Escalar hacia afuera (o de manera horizontal) suele ser el enfoque preferido cuando se trata de aplicaciones web u otros sistemas altamente paralelizables, ya que permite aumentos casi lineales en la capacidad.

  • Escalar hacia arriba (o de manera vertical) puede ser m√°s apropiado al trabajar con sistemas obsoletos o aquellos que no son eficientemente paralelizables.

Preguntas sobre Seguridad

29. ¬ŅCu√°les son algunos riesgos de seguridad comunes al construir una aplicaci√≥n web?

Algunos riesgos incluyen:

  • inyecci√≥n SQL,
  • cross-site scripting (XSS), y
  • cross-site request forgery (CSRF).

La inyección SQL es un tipo de ataque donde se inyecta código malicioso en una declaración SQL, lo que resulta en la ejecución de acciones no deseadas.

Los ataques XSS ocurren cuando se inserta código malicioso en una página web, lo que resulta en la ejecución de acciones no intencionadas.

Los ataques CSRF ocurren cuando un usuario malintencionado enga√Īa a una v√≠ctima para que env√≠e una solicitud que realiza una actividad no deseada, como cambiar su contrase√Īa o transferir fondos.

30. ¬ŅC√≥mo implementar√≠as autenticaci√≥n y autorizaci√≥n en un nuevo proyecto?

Hay muchas formas de implementar autenticación y autorización en un nuevo proyecto.

Una forma sería usar un servicio de terceros existente, como Auth0 u Okta.

Otra forma sería implementar una solución propia, utilizando tokens de seguridad como JSON Web Tokens (JWTs) o una tecnología similar.

  • Necesitamos una p√°gina de inicio de sesi√≥n donde los usuarios puedan ingresar sus credenciales.
  • Una vez verificadas las credenciales del usuario, generamos un JWT y lo enviamos de vuelta al usuario.
  • El usuario luego enviar√° el JWT con cada solicitud que requiera de autenticaci√≥n.

La autorización consiste en verificar si el usuario tiene los permisos correctos para acceder a un recurso en particular.

Una forma de hacerlo es crear roles y asignar roles a cada usuario. Así podemos verificar los permisos del usuario al atender cada solicitud.

31. ¬ŅCu√°l es la diferencia entre una cookie y una sesi√≥n?

  • Una cookie es un peque√Īo fragmento de datos almacenado en el navegador del usuario.
  • Una sesi√≥n es una estructura de datos en el servidor que contiene informaci√≥n sobre la sesi√≥n actual del usuario.

Las cookies almacenan información como el ID del usuario, la preferencia de idioma u otras preferencias a nivel de dispositivo.

Las sesiones almacenan información de una serie de solicitudes, como el carrito de compras del usuario u otra información que debe persistir mientras exista la sesión del usuario.

Aquí puedes aprender más sobre qué son las cookies y sesiones, con ejemplos.

Preguntas sobre Testing

32. ¬ŅC√≥mo realizar√≠as pruebas unitarias para una nueva feature?

Para esto necesitamos escribir una prueba que cubra la funcionalidad de la nueva feature.

Como se trata de una prueba unitaria, debemos probar sólo una unidad de código:

  • Para esto es importante mantener nuestro c√≥digo bien organizado.
  • Debemos aislar esta nueva prueba unitaria de cualquier otro c√≥digo en el sistema.

Una vez escrita la prueba, debemos ejecutarla y verificar que pase.

  • Si la prueba falla, procedemos a depurar el c√≥digo y encontrar la causa del fallo.
  • Una vez encontrada la causa, debemos corregir el c√≥digo y volver a ejecutar la prueba.

Si la prueba pasa, hemos confirmado que la nueva feature funciona como se espera.

Nota: podemos escribir tantas pruebas unitarias como sea necesario, para probar una feature.

33. ¬ŅC√≥mo integrar√≠as pruebas en tu flujo de trabajo?

Para esto necesitamos crear un testing environment (entorno de prueba) que refleje el entorno de producción lo más fielmente posible.

Necesitamos configurar este entorno con todas las dependencias y datos necesarios, para que se encuentre operativo.

Luego ya podemos empezar a escribir pruebas que cubran la funcionalidad del sistema.

  • Estas pruebas deben ejecutarse autom√°ticamente cada vez que se env√≠e nuevo c√≥digo al repositorio.
  • Si alguna de las pruebas falla, la compilaci√≥n debe marcarse como fallida y los desarrolladores deben ser notificados.

También debemoss ejecutar estas pruebas antes de cada lanzamiento. Esto garantizará que toda la funcionalidad esté trabajando como se espera y que no haya regresiones.

34. ¬ŅCu√°les son algunos pasos para performance testing?

  1. Identificar las áreas críticas de la aplicación que necesitan ser probadas.
  2. Crear casos de prueba que ejerciten esas áreas de la aplicación.
  3. Ejecutar los casos de prueba y recopilar datos sobre el rendimiento de la aplicación.
  4. Analizar los datos e identificar cualquier √°rea de mejora.

35. ¬ŅPor qu√© se escriben las pruebas de TDD antes del c√≥digo?

Test-Driven Development (Desarrollo Guiado por Pruebas), es una metodología de desarrollo en la que se escriben pruebas antes del código.

La idea detrás de TDD es que al escribir pruebas primero, los desarrolladores pueden asegurarse de que su código cumpla con los requisitos.

Además, TDD puede ayudar a encontrar errores temprano y evitar que se introduzcan en el código.

Sin embargo, TDD puede consumir tiempo, y requiere una buena comprensión de los principios de testing.

Preguntas sobre Deployment

36. ¬ŅC√≥mo desplegar√≠as una nueva versi√≥n de una aplicaci√≥n?

Hay muchas formas de desplegar una nueva versión de una aplicación.

  • Una forma ser√≠a usar una herramienta (como Ansible o Chef) para automatizar el proceso.
  • Otra forma ser√≠a ejecutar los scripts necesarios en cada servidor manualmente.

Al utilizar herramientas, es importante actualizar los archivos de configuración y ejecutar la herramienta. Este proceso despliega el nuevo código en todos los servidores del entorno.

Si se hace el despliegue manualmente, debemos iniciar sesión en cada servidor y ejecutar los scripts necesarios para actualizar el código en cada uno de ellos.

Una vez que se despliega el nuevo código, podemos probar la aplicación para asegurar que todo funcione como se espera.

37. ¬ŅC√≥mo revertir√≠as un despliegue fallido?

  • Si un despliegue falla, podemos revertir los cambios y solucionar el problema.
  • Una vez que se soluciona el problema, podemos volver a desplegar el c√≥digo.

Para revertir un despliegue fallido, necesitamos deshacer cualquier cambio realizado durante el despliegue.

Este proceso puede incluir revertir cambios de código, reiniciar servicios, o revertir cambios en la base de datos.

√Čxitos en tu Pr√≥xima Entrevista

Estas son excelentes preguntas y respuestas, que debes repasar si te est√°s preparando para llevar a cabo una entrevista backend.

Para estar completamente preparado, estudia tambi√©n algoritmos, estructuras de datos y patrones de dise√Īo de software.

Referencias

# agile # testing # node.js # php # python

Logo de Programación y más

Comparte este post si te fue de ayuda ūüôā.

Regístrate

Accede a todos los cursos, y resuelve todas tus dudas.

Cursos Recomendados

Imagen para el curso Aprende Laravel

Aprende Laravel

Aprende Laravel desde cero y desarrolla aplicaciones web reales, en tiempo récord, de la mano de Laravel.

Iniciar curso
Imagen para el curso Laravel Upgrade

Laravel Upgrade

Actualiza tus proyectos desde cualquier versi√≥n hasta la √ļltima versi√≥n estable de Laravel.

Iniciar curso
Imagen para el curso Laravel y Vue

Laravel y Vue

Desarrollemos un Messenger! Aprende sobre Channels, Queues, Vuex, JWT, Sesiones, BootstrapVue y mucho m√°s.

Iniciar curso

Espera un momento ...

¬ŅTe gustar√≠a llevar mi curso de Laravel, gratis?

Sólo debes ingresar tus datos: