La preparación de alta calidad es uno de los elementos clave necesarios para una entrevista exitosa, que, por cierto, a menudo se descuida.
A pesar de que este artículo no pretende ser objetivo, incluye todas las preguntas básicas que se pueden hacer sobre PHP, Java, Python, Golang, C#,.Asp, JavaScript, JQuery, CSS, HTML, SQL y OOP, así como respuestas detalladas a las mismas.
Al estudiar estos temas, mejorará notablemente su base teórica y aumentará significativamente sus posibilidades de obtener el codiciado trabajo.
1. Tipos de Datos en programación
En programación es indispensable determinar a qué tipo o categoría corresponden los datos con los que se trabaja. Cada conjunto de datos de un tipo específico se manipula de diferente manera para obtener los resultados deseados.
Numérico
- Entero. Tipo de dato formado por una variable numérica que no cuenta con parte decimal.
- Real. Tipo de dato formado por una variable numérica que puede contar con parte decimal.
Texto
- Carácter. Tipo de dato formado por una unidad o símbolo que puede ser una letra, un número, una mayúscula o un signo de puntuación.
- Cadena. Tipo de dato formado por un conjunto de caracteres dispuestos de forma consecutiva que se representa entre comillas.
Lógico
Booleano. Tipo de dato que puede representar dos valores: verdadero o falso.
2 ¿Qué es una función estática y en qué se diferencia de una función "regular" (no estática)?
Static pertenece a la clase, no a una instancia de la clase. Y se llama desde la clase, no desde el objeto, es decir directamente. Declarar propiedades y métodos de una clase como estáticos le permite acceder a ellos sin crear una instancia de la clase. No se puede acceder a un atributo de clase declarado estático a través de una instancia de la clase (pero se puede llamar a un método estático). Dado que los métodos estáticos se llaman sin crear una instancia de la clase, la pseudovariable $this no está disponible dentro de un método declarado estático. No se puede acceder a las propiedades estáticas de una clase a través de una declaración ->.
3.¿Que es una API?
Las APIs son interfaces que permiten la comunicación entre dos aplicaciones de software siguiendo cierto conjunto de reglas.
Permite que tú puedas consumir los servicios del sistema sin saber "que hay tras banbalinas". Ejemplo claro es el formulario de Login, en el cuál solo te interesa ingresar mas no saber qué pasa por detrás.
La arquitectura más usada es REST y el formato de envió de datos más usado es JSON.
4.¿Que es Rest?
REST es un conjunto de principios arquitectónicos que se ajusta a las necesidades de los servicios web y las aplicaciones móviles ligeros. Dado que se trata de un conjunto de pautas, la implementación de las recomendaciones depende de los desarrolladores.
Cuando se envía una solicitud de datos a una API de REST, se suele hacer a través de un protocolo de transferencia de hipertexto, comúnmente denominado HTTP. Una vez que reciben la solicitud, las API diseñadas para REST (conocidas como API o servicios web de RESTful) pueden devolver mensajes en distintos formatos: HTML, XML, texto sin formato y JSON. El formato preferido para los mensajes es la notación de objetos JavaScript (JSON), ya que, a pesar de su nombre, puede leerlo cualquier lenguaje de programación, es ligero y lo comprenden tanto las personas como las máquinas.
5.¿Que es Soap?
SOAP es un protocolo estándar que se creó originalmente para permitir la comunicación entre las aplicaciones que se diseñaban con diferentes lenguajes y en diferentes plataformas. Como es un protocolo, impone reglas integradas que aumentan la complejidad y la sobrecarga, lo cual puede retrasar el tiempo que tardan las páginas en cargarse. Sin embargo, estos estándares también ofrecen normas integradas que pueden ser ideales para el sector empresarial. Los estándares de cumplimiento integrados incluyen la seguridad, la atomicidad, la uniformidad, el aislamiento y la durabilidad (ACID), que forman un conjunto de propiedades que garantizan operaciones confiables de las bases de datos.
5.¿Tipo de API?
Locales: Cuando la aplicación se comunica con la API que se encuentran en el mismo ambiente o dispositivo.
Remotas: Cuando la aplicación necesita consumir una API en un punto diferente.
6.¿Que es el Front-end?
Es la parte de una aplicación que interactúa con los usuarios, es conocida como el lado del cliente. Básicamente es todo lo que vemos en la pantalla cuando accedemos a un sitio web o aplicación.
7.¿Que es el Back-end?
El back end del es la parte de servidor donde se ejecuta la aplicación y se alojan todos los datos que comunican al servidor con el usuario.
8.¿Que es un Desarrollador Full Stack?
Por otro lado, un desarrollador Full Stack es el encargado de manejar cada uno de los aspectos relacionados con la creación y el mantenimiento de una aplicación web. Para ello es fundamental que el desarrollador Full Stack tenga conocimientos en desarrollo Front-End y Back-End además de manejar diferentes sistemas operativos y lenguajes de programación.
9.¿Cuáles son las capas presentes en una página web?
Hay 3 tipos de capas en cualquier página web: la capa de contenido, la capa de presentación y la capa de interacción.
La capa de contenido es la información que contiene un sitio web determinado. La capa de presentación define cómo aparecerá el contenido para sus usuarios, o sea, la apariencia de la página web. La capa de interacción es la que lleva la interacción en tiempo real entre los usuarios y la página web.
10.¿Mencione algunas ventajas de usar CSS?
CSS:
- Ahorra tiempo.
- Ayuda en la carga rápida de páginas.
- Es fácil de mantener.
- Es superior al estilo HTL.
- Tiene compatibilidad con múltiples dispositivos.
- Es un estándar global para la web.
- Permite la navegación sin conexión.
- Es independiente de la plataforma donde funciona.
11.¿Háblame sobre la diferencia entre XHTML y HTML?
HTML y XHTML son lenguajes para escribir páginas web. La principal diferencia es que la sintaxis HTML está basada en SGML, mientras que la sintaxis XHTML está basada en XML.
12.¿Cuál es la diferencia entre cookies, almacenamiento de sesión y almacenamiento local?
Las cookies permiten que las aplicaciones almacenen datos en el navegador. La propiedad de almacenamiento de sesión permite almacenar datos hasta que se cierre la ventana. La propiedad de almacenamiento local permite que las aplicaciones almacenen datos sin que estos expiren.
13.¿Qué es la carga diferida? (lazy loading)
La carga diferida es un patrón de diseño que generalmente se usa para retrasar la inicialización de un objeto hasta el período en el que se requiere. Puede ayudar al rendimiento en la operación del programa si se usa correcta y adecuadamente.
Es un código que carga solo una vez que el usuario lo necesita, como un botón en la página que revela un diseño diferente una vez que el usuario lo presionó. Por lo tanto, no es necesario cargar el código para ese diseño en la carga inicial de la página.
14.¿Cómo manejas la incompatibilidad de estilo específica del navegador?
Hay varias formas de solucionar este problema. La forma más sencilla de hacerlo sería usar una declaración condicional en la etiqueta principal de nuestro HTML. De esta manera, podemos reconocer el navegador y cargar una hoja de estilo externa si es necesario.
15.Explica la diferencia entre diseño web adaptable y sensible.
Responsive Web Design se basa en una cuadrícula fluida que cambiará automáticamente con el navegador, sin importar cuál sea la resolución de la pantalla, el contenido puede separarse y realinearse si es necesario.
Por otro lado, el diseño web adaptativo no se establece necesariamente en una cuadrícula fluida. Apunta a resoluciones específicas del dispositivo y puede establecer anchos relativos con porcentajes, controlados por consulta de medios.
16.¿Cuáles son los componentes de un estilo CSS?
El estilo CSS se compone de tres cosas:
Selector: una etiqueta HTML donde se pueden aplicar estilos.
Propiedad: un atributo de la etiqueta HTML. Puede ser cualquier cosa como colores, bordes, sombras, etc. Los atributos HTML se convierten en propiedad CSS.
Valor: siempre se asigna a cualquier propiedad definida.
17.¿Que es el MVC?
Modelo-vista-controlador es un patrón de arquitectura de software, que separa los datos y principalmente lo que es la lógica de negocio de una aplicación de su representación y el módulo encargado de gestionar los eventos y las comunicaciones.
18.¿Que es la arquitectura MVP?
Es una derivación del patrón arquitectónico modelo–vista–controlador (MVC), y es utilizado mayoritariamente para construir interfaces de usuario.
MVP es un patrón arquitectónico de interfaz de usuario diseñada para facilitar pruebas de unidad automatizada y mejorar la separación de inquietudes en lógica de presentación:
- El modelo es una interfaz que define los datos que se mostrará o no actuado en la interfaz de usuario.
- El presentador actúa sobre el modelo y la vista. Recupera datos de los repositorios (el modelo), y los formatea para mostrarlos en la vista.
- La vista es una interfaz pasiva que exhibe datos (el modelo) y órdenes de usuario de las rutas (eventos) al presentador para actuar sobre los datos.
19. ¿Qué es Markdown en HTML?
Este método te permitirá añadir formatos tales como negritas, cursivas o enlaces, utilizando simplemente texto plano, lo que hará de tu escritura algo más simple y eficiente al evitar distracciones.
Markdown también se considera un lenguaje que tiene la finalidad de permitir crear contenido de una manera sencilla de escribir, y que en todo momento mantenga un diseño legible, así que para simplificar puedes considerar Markdown como un método de escritura.
Es un lenguaje de marcado está basado en un formato de texto plano.
Este tipo de formato siempre será compatible con todas las plataformas que utilices, así que utilizar Markdown es una manera de mantener todo tu contenido siempre accesible desde cualquier dispositivo (smartphones, ordenadores de escritorio, tablets, etc…), ya que en cualquiera de ellas siempre encontrarás las aplicaciones adecuadas para leer y editar este tipo de contenido.
20. ¿Qué es un Framework?
Es un entorno de trabajo, o marco de trabajo es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar
Comentarios