Preguntas de entrevista para desarrolladores backend

A continuación vamos a mencionar algunas preguntas de entrevista para desarrolladores Backend

¿Que es un ORM?

Un object–relational mapping es un modelo de programación que permite mapear las estructuras de una base de datos relacional (SQL Server, Oracle, MySQL, etc.), sobre una estructura lógica de entidades con el objetivo de simplificar y acelerar el desarrollo de nuestras aplicacion. Algunos ejemplos de ORM son Entity Framework (.NET – C#), Hibernate (Java), SQLAlchemy (Python).

¿Que es una API?

Application Programming Interfaces, Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un conjunto de reglas. No confundir APIs con web Apis, librería, framework, servicios Web.

¿Que es el patron REST?

REST es una interfaz para conectar sistemas basados en el protocolo HTTP (uno de los protocolos más antiguos) y nos sirve para obtener y generar datos y operaciones, devolviendo esos datos en formatos muy específicos, como XML y JSON.

REST se apoya en HTTP, los verbos que utiliza son exactamente los mismos, con ellos se puede hacer GET, POST, PUT y DELETE. También devuelve respuesta http como 200 OK, 400 request y 500 internal error.

¿A que se refiere el concepto de serverless?

Serverless es una solución que permite crear y ejecutar aplicaciones con rapidez y menor costo total de propiedad, ya que no es necesario aprovisionar y administrar infraestructura. Usamos servidores para ejecutar las aplicaciones, pero el proveedor de nube se encarga de la administración, entonces dejamos de preocuparnos por administrar servidores, sistemas operativos, software y demás recursos. Algunos ejemplos de servicios Serverless son Azure Functions, Azure Logic apps, AWS Lambda Functions, Alibaba Cloud Functions.

¿Que es la arquitectura de Microservicios?

La arquitectura de microservicios se refiere a una técnica que brinda a los desarrolladores modernos una forma de diseñar aplicaciones flexibles y altamente escalables al descomponer la aplicación en servicios pequeños con una única responsabilidad específica. Estos servicios, a los que a menudo se hace referencia como “de estructura flexible”, se pueden construir, implementar y adaptar de forma independiente.

Reglas de los microservicios

  • Cada servicio debe ser independiente
  • Cada servicio debe tener su propia base de datos
  • Los servicios son agnósticos a la tecnología
  • Se debe automatizar lo más posible para minimizar el esfuerzo despliegues integración (Cultura DevOps)

¿Que es Swagger y que estándar utiliza?

Swagger es una herramienta especial que compone automáticamente el RESTful API documento de su aplicación. Su ventaja radica en que permite no sólo consultar todos los endpoints de la aplicación, sino también probarlos inmediatamente en acción enviando una petición y recibiendo una respuesta. Swagger utiliza el estándar OpenAPI.

¿Para qué sirve utilizar CORS en una API REST?

Cross-Origin Resource Sharing o en español Intercambio de recursos de origen cruzado, es un mecanismo que nos permite verificar el origen desde donde viene la petición de una aplicación cuando vienen de diferente dominio. Permite configurar: Métodos, Encabezados, Origen.

¿Que es JWT?

Un JSON Web Token es un token de acceso estandarizado en el RFC7519  que permite el intercambio seguro de datos entre componentes o aplicaciones. Contiene toda la información importante sobre una entidad, lo que implica que no hace falta consultar una base de datos ni que la sesión tenga que guardarse en el servidor (sesión sin estado).

Características importantes

  • Contiene una fecha de expiración que indica hasta qué momento el token es válido
  • Puede agregarse una audiencia lo que permite definir quien puede usar el Token
  • Es utilizado por muchos métodos de autenticación avanzados como Azure Active directory

¿Que es gitflow y como lo utilizas en tus proyectos?

Es un modelo de trabajo en Git basado en ramas (Branches) en donde creamos un branch por cada historia de usuario, error (bug) o arreglo rápido (Hotfix) que tengamos que trabajar para luego crear el requerimiento hacia el flujo de ramas principal (Develop, release, main).

¿Cual es la diferencia entre una función y un procedimiento almacenado en SQL?

Los procedimientos almacenados son un conjuntos de procedimientos o comandos almacenados en el servidor de base de datos con un nombre. Hasta este punto las funciones son iguales pero estás, siempre deben retornar un valor escalar. Las funciones se usan para cálculos puntuales, Los procedimientos para ejecutar tareas complejas que incluyan comandos DML.

Recuerda siempre seguir aprendiendo con mis cursos en mteheran.dev/cursos