Entrevistas - Data
45 flashcards · Other · by Germán Gutierrez
Describa la diferencia entre claves primarias y foráneas en una base de datos SQL.
Para que una tabla califique como tabla relacional debe tener una llave primaria. Las llaves primarias consisten de una o más columnas cuyos datos contenidos sean utilizados para identificar de manera única cada registro (fila) en la tabla. Cuando la llave primaria se compone de múltiples columnas, los datos de cada columna son utilizados para determinar si un registro es único. No puede haber duplicados en la columna(s) que compone(n) la llave primaria y no puede estar en blanco o ser NULL. Só…
Explique la diferencia entre la cláusula WHERE y la cláusula HAVING
Nombre los diferentes objetos de una base de datos (pista: 6 son permanentes y 1 temporal)
Objetos permanentes (6): Tablas: Almacenan los datos de forma organizada en filas (registros) y columnas (campos). Son la unidad básica de almacenamiento en una base de datos. Índices: Estructuras que aceleran la búsqueda de datos en las tablas. Vistas: Objetos virtuales que ofrecen una perspectiva diferente de los datos almacenados en las tablas. Procedimientos almacenados: Módulos de código que encapsulan tareas repetitivas o complejas. Funciones: Módulos de código que realizan cálculos o dev…
Explique que es una función de agregación y mencione al menos 5 de las más comunes. (Count, AVG, Max, Min, STDDEV, Variance)
Permiten realizar cálculos sobre grupos de filas y devolver un único valor que representa el resultado de la operación. Las funciones de agregación toman como entrada un conjunto de valores y, en lugar de devolver un valor para cada fila, realizan una operación matemática sobre ellos y devuelven un único valor que resume el resultado para todo el conjunto. COUNT(): Cuenta el número de filas en un conjunto de datos, incluso si contienen valores NULL. La sintaxis básica es COUNT(*) AVG(): Calcula…
¿Qué es una subconsulta? Explique de manera breve su sintaxis.
Una subconsulta en SQL es una consulta SQL anidada dentro de otra consulta, ya sea una sentencia SELECT, INSERT, UPDATE o DELETE, o incluso dentro de otra subconsulta. Las subconsultas se utilizan para obtener información de una o más tablas y utilizarla en la consulta principal. Se llama también subconsulta a una consulta o selección interna, mientras que la instrucción que contiene una subconsulta también es conocida como consulta o selección externa Tipos de subconsultas: Escalares: Devuelve…
Describa y explique los diferentes tipos de JOINS para SQL.
En SQL, los JOINs (uniones) son herramientas fundamentales para combinar datos de dos o más tablas basándose en relaciones entre ellas. Permiten obtener filas que contienen información de ambas tablas, ampliando así la información disponible para el análisis. Existen cinco tipos principales de JOINs en SQL: 1. INNER JOIN (Unión interna): Es el JOIN más común y por defecto. Devuelve solo las filas que tienen coincidencias en ambas tablas en los campos especificados en la condición JOIN. Se utili…
Escriba una función que permita calcular la raíz cuadrada de un número en PYTHON
Función para calcular la raíz cuadrada en Python: Existen dos métodos principales para calcular la raíz cuadrada de un número en Python: 1. Utilizando la función math.sqrt(): def raiz_cuadrada(numero): """ Función para calcular la raíz cuadrada de un número. Parámetro: numero: El número real cuya raíz cuadrada se desea calcular. Devuelve: La raíz cuadrada del número, o un mensaje de error si el número es negativo. """ if numero < 0: return "No se puede calcular la raíz cuadrada de un número neg…
Escriba una función que dada una lista de números devuelva los outliers en PYTHON
import numpy as np def detectar_outliers_IQR(lista_numeros): """ Función que detecta outliers en una lista de números utilizando el método del Rango Intercuartílico (IQR). Parámetros: lista_numeros: Lista de números a analizar. Devuelve: lista_outliers: Lista que contiene los valores identificados como outliers. """ # Cálculo de cuartiles Q1 = np.percentile(lista_numeros, 25) Q3 = np.percentile(lista_numeros, 75) # Cálculo del IQR IQR = Q3 - Q1 # Definición del límite inferior y superior limite…
Nombrar las diferencias entre una Tupla y una Lista en PYTHON
Diferencias entre Tuplas y Listas en Python: Mutabilidad: Tuplas: Son inmutables, lo que significa que no se pueden modificar una vez creadas. No se pueden agregar, eliminar o cambiar elementos. Listas: Son mutables, lo que significa que se pueden modificar después de su creación. Se pueden agregar, eliminar o cambiar elementos. Sintaxis: Tuplas: Se crean utilizando paréntesis (). Los elementos se separan por comas. Listas: Se crean utilizando corchetes []. Los elementos se separan por comas. C…
Especificar la diferencia entre variables locales y globales en PYTHON
En Python, las variables locales y globales se diferencian por su alcance y su lugar de definición dentro del código. Variables Locales: Definición: Son variables declaradas dentro de una función. Solo son accesibles dentro de la función donde fueron definidas. Alcance: Su alcance está limitado al bloque de código en el que fueron creadas (generalmente una función). Fuera de este bloque, la variable no es visible ni accesible. Variables Globales: Definición: Son variables declaradas fuera de cu…
¿Python distingue entre mayúsculas y minúsculas?
Sí, Python distingue entre mayúsculas y minúsculas. Esto significa que trata las letras mayúsculas y minúsculas como caracteres diferentes. Por lo tanto, las variables o nombres de funciones escritos con mayúsculas y minúsculas diferentes se consideran distintos.
¿Qué son los iteradores de Python? Ejemplifique.
Los iteradores en Python son objetos que permiten recorrer secuencialmente un conjunto de elementos. Se utilizan principalmente en estructuras de datos que contienen múltiples elementos, como listas, tuplas, diccionarios, conjuntos, entre otros. Un iterador en Python implementa dos métodos principales: __iter__() y __next__(). El método __iter__() devuelve el propio objeto iterador y el método __next__() devuelve el próximo elemento en la secuencia. Cuando no hay más elementos que devolver, el…
¿Que es un trigger en SQL?
Un trigger en SQL es un objeto similar a un procedimiento almacenado que se ejecuta automáticamente . Cuando se produce un evento específico en una base de datos. Estos eventos suelen estar relacionados con modificaciones en las tablas, como: INSERT: Cuando se inserta una nueva fila en una tabla. UPDATE: Cuando se modifican los datos de una fila existente en una tabla. DELETE: Cuando se elimina una fila de una tabla. Los triggers se definen a nivel de la base de datos y se asocian a una tabla e…
¿Qué es una variable categórica en Pandas? - PYTHON
Las variables categóricas en Pandas: Dominando datos cualitativos En el mundo del análisis de datos con Pandas, las variables categóricas (también conocidas como variables cualitativas) juegan un papel fundamental para comprender mejor los datos. A diferencia de las variables numéricas, que representan valores cuantitativos medibles, las variables categóricas capturan información cualitativa, es decir, características o atributos que se pueden clasificar en diferentes categorías. Imagine un con…
¿Qué tipos nativos de estructuras de datos de Python conocen? ¿Cuáles son inmutables? - PYTHON
¿Qué alcance tienen las variables en las funciones de Python? - PYTHON
¿A qué se refieren con el nivel en los lenguajes de programación? ¿A qué nivel pertenece Python y por que? - PYTHON
¿Qué es un index en Pandas? ¿Cómo podría acceder a él? ¿Puede haber más de uno? - PYTHON
¿Qué es la vectorización de operaciones en Pandas? - PYTHON
¿Qué librerías de visualización para Python conocen? ¿Y para graficar mapas geográficos? ¿Y para realizar Dashboards?
¿Qué es una serie en pandas? - PYTHON
¿Qué es NumPy? ¿Cuál es la estructura de datos que utiliza y en qué se diferencia de una lista? - PYTHON
¿Qué es NumPy? NumPy (abreviatura de Numerical Python) es una biblioteca fundamental para el lenguaje de programación Python, especializada en el cálculo numérico. Brinda una estructura de datos eficiente y versátil para trabajar con arreglos multidimensionales, junto con una amplia gama de funciones matemáticas y herramientas para manipularlos. Estructura de datos principal: el array de NumPy A diferencia de las listas de Python, que son estructuras de datos mutables que pueden almacenar difer…
¿Para qué se usan break, continue y pass en python? - PYTHON
En Python, break, continue y pass son palabras clave que se utilizan en estructuras de control de flujo para controlar el comportamiento de los bucles (for y while) y las declaraciones condicionales (if, elif, else). Aquí te explico su uso: break: Se utiliza para salir de un bucle de manera prematura. Cuando se encuentra la instrucción break dentro de un bucle (for o while), el bucle se detiene inmediatamente y el control del programa pasa a la siguiente línea de código después del bucle. Útil…
¿Cómo encontrar el modo de una lista sin usar ninguna función matemática o biblioteca incorporada - PYTHON
Puedes encontrar el modo de una lista sin utilizar funciones matemáticas o bibliotecas incorporadas de la siguiente manera en Python: Crear un diccionario de frecuencia: Itera sobre la lista y cuenta la frecuencia de cada elemento almacenando esta información en un diccionario. Encontrar el elemento con la frecuencia máxima: Itera sobre el diccionario creado y encuentra el elemento con la frecuencia máxima. Ese elemento será el modo de la lista.
¿Cuál es la mejor forma para determinar las características más importantes en un modelo? (Data Analysis) - PYTHON
La elección de la técnica adecuada depende del tipo de datos, del modelo utilizado y de los objetivos específicos del análisis. Es importante experimentar con varias técnicas y evaluar el rendimiento del modelo utilizando validación cruzada u otras métricas de evaluación para tomar decisiones informadas sobre las características más importantes. (se utiliza sklearn)
¿Cuál es la diferencia entre listas y sets? - PYTHON
Duplicados: Listas: Pueden contener elementos duplicados. Puedes tener el mismo elemento en una lista múltiples veces. Conjuntos: No pueden contener elementos duplicados. Cada elemento en un conjunto es único y no se puede repetir. Orden: Listas: Mantienen el orden de inserción de los elementos. Es decir, los elementos se mantienen en el mismo orden en el que fueron agregados a la lista. Conjuntos: No mantienen ningún orden específico. Los elementos en un conjunto pueden estar ordenados arbitra…
¿Cuál es la diferencia entre listas y tuplas? - PYTHON
En Python, tanto las listas como las tuplas son estructuras de datos utilizadas para almacenar colecciones de elementos. Sin embargo, tienen algunas diferencias clave: Mutabilidad: Listas: Son mutables, lo que significa que los elementos de una lista pueden ser modificados después de su creación. Puedes agregar, eliminar o modificar elementos de una lista. Tuplas: Son inmutables, lo que significa que una vez que se crea una tupla, no se pueden modificar sus elementos. No puedes agregar, elimina…
¿Cómo podría usar los datos de un GPS de un vehículo para determinar la calidad del conductor? - PYTHON
Recolección de datos: Utiliza un dispositivo GPS instalado en el vehículo para recopilar datos de seguimiento del vehículo, como la ubicación, la velocidad, la aceleración, la dirección, etc. Estos datos pueden ser almacenados en una base de datos o un archivo de registro. Preprocesamiento de datos: Procesa y limpia los datos recolectados para eliminar valores atípicos, errores de registro y cualquier otro ruido que pueda afectar la calidad de los datos. Además, puedes convertir los datos de co…
Explicar el modelo de tipo Copo de Nieve. (DATABASE)
El modelo de tipo Copo de Nieve (Snowflake Schema en inglés) es un modelo de diseño de base de datos utilizado en almacenes de datos (data warehouses) que es una extensión del modelo de tipo Estrella (Star Schema). Al igual que el esquema de Estrella, el modelo de Copo de Nieve también consta de una tabla central de hechos (fact table) rodeada de varias tablas de dimensiones (dimension tables). Sin embargo, a diferencia del esquema de Estrella, en el modelo de Copo de Nieve, las tablas de dimen…
Explicar el esquema de tipo Estrella. (DATABASE)
El esquema de tipo Estrella (Star Schema en inglés) es un modelo de diseño de base de datos utilizado en el diseño de almacenes de datos (data warehouses). Se caracteriza por tener una tabla central de hechos (fact table) rodeada de varias tablas de dimensiones (dimension tables). Este esquema recibe su nombre porque, visualmente, las tablas de dimensiones se asemejan a los "brazos" de una estrella que giran alrededor de la tabla central de hechos. Aquí hay una explicación más detallada de sus…
Supongamos que eres dueño de Netflix. ¿Cuáles serían las métricas que te interesa utilizar para definir en qué películas invertir? (DATA ANALYSIS)
Tasa de retención de suscriptores: Mide la proporción de suscriptores que renuevan su suscripción después de un período de tiempo determinado. Las películas populares y de alta calidad pueden aumentar la retención de suscriptores al proporcionar contenido atractivo que motive a los usuarios a seguir utilizando la plataforma. Índice de visualización por película: Mide la cantidad de veces que una película específica es vista por los suscriptores. Las películas con un alto índice de visualización…
¿Cuáles serían buenas métricas para productos que ofrecen ventas dentro de aplicaciones? (Ej: Aplicaciones de Juegos) (DATA ANALYSIS)
Ingresos totales: Mide el total de ingresos generados por las ventas dentro de la aplicación, incluyendo compras de productos virtuales, suscripciones, desbloqueo de características premium, etc. Este es un indicador clave del rendimiento financiero del producto. Ingresos promedio por usuario (ARPU): Calcula el ingreso promedio generado por cada usuario activo durante un período de tiempo determinado. Es útil para comprender el valor monetario que cada usuario aporta al producto. Tasa de conver…
¿Cuáles serían buenas métricas de éxito para un producto de consumo que depende en gran medida del compromiso y la interacción? (Snapchat, Pinterest, Facebook, etc.) ¿Un producto de mensajería? (GroupMe, Hangouts, Snapchat, etc.) - (DATA ANALYSIS)
Usuarios activos diarios (DAU, por sus siglas en inglés): Mide la cantidad de usuarios únicos que interactúan con la plataforma en un día determinado. Un aumento en los DAU indica un mayor compromiso y adopción del producto. Tiempo promedio de sesión: Representa la cantidad de tiempo que los usuarios pasan activamente utilizando la plataforma en cada sesión. Un aumento en el tiempo promedio de sesión sugiere un mayor compromiso y participación de los usuarios. Tasa de retención de usuarios: Mid…
¿Qué es la complejidad algorítmica? ¿Con qué símbolo o letra se representa la notación de la cota superior? (DATA ANALYSIS)
La complejidad algorítmica es una medida de la cantidad de recursos computacionales, como el tiempo y la memoria, que un algoritmo necesita para resolver un problema en función del tamaño de la entrada. Es una herramienta importante en el análisis de algoritmos que nos permite evaluar y comparar la eficiencia de diferentes soluciones al mismo problema. La complejidad algorítmica se divide en dos categorías principales: Complejidad temporal: Se refiere al tiempo que tarda un algoritmo en ejecuta…
¿Qué tipo de relaciones en el esquema debemos evitar? DATABASE
Relaciones muchos a muchos (N:N): Las relaciones muchos a muchos pueden complicar el diseño de la base de datos y dificultar las consultas. Es preferible evitar estas relaciones directas cuando sea posible. En su lugar, se pueden utilizar tablas de unión (tablas de asociación) para descomponer la relación N:N en dos relaciones uno a muchos. Relaciones recursivas profundas: Las relaciones recursivas pueden ser difíciles de gestionar, especialmente si permiten profundidades excesivas. Pueden cond…
¿Qué técnicas de machine learning has implementado? (MACHINE LEARNING)
Procesamiento de lenguaje natural (NLP): Incluye técnicas como modelado de temas, análisis de sentimientos, traducción automática y generación de texto utilizando modelos como Bag-of-Words, Word2Vec, LSTM y Transformer.
¿A partir de qué tipo de archivo o de dato se puede generar un DataFrame nativamente en pandas? Nombra algunos. DATABASE
Archivos CSV (Comma-Separated Values): Pandas proporciona la función pd.read_csv() para cargar datos desde archivos CSV y crear un DataFrame. Este es uno de los formatos de archivo más comunes y simples para almacenar datos tabulares. Archivos Excel: Pandas ofrece la función pd.read_excel() para cargar datos desde archivos Excel y crear un DataFrame. Esto permite trabajar con datos de hojas de cálculo directamente en Pandas. Archivos JSON (JavaScript Object Notation): Pandas puede leer datos de…
¿Qué es el sobreajuste? ¿De qué forma evitar el sobreajuste en los modelos? (MACHINE LEARNING)
El sobreajuste en el aprendizaje automático se produce cuando el modelo no está bien generalizado. El modelo se centra demasiado en el conjunto de entrenamiento. Capta muchos detalles o incluso ruido en el conjunto de entrenamiento. Por lo tanto, no logra captar la tendencia general o las relaciones en los datos. Si un modelo es demasiado complejo en comparación con los datos, probablemente estará sobreajustado. Un buen indicador de sobreajuste es la gran diferencia entre la precisión de los co…
¿Qué formatos de archivos para almacenar datos conoce? DATABASE
CSV, JSON, XML, Excel (XLSX, XLS), PARQUET, ORC (Optimized Row Columnar), HDF5 (Hierarchical Data Format version 5).
Cuáles serían buenas métricas para un producto e-commerce?(MercadoLibre - Amazon)¿Y para un producto de suscripción? (Netflix-Spotify-Etc) (DATA ANALYSIS)
Métricas para un producto de comercio electrónico (E-commerce): Tasa de conversión: Mide la proporción de visitantes de tu sitio web que realizan una compra. Se calcula dividiendo el número de conversiones (compras) entre el número total de visitantes. Valor promedio de pedido (AOV): Es el promedio del valor monetario de todas las transacciones realizadas en tu sitio. Se calcula dividiendo el total de ingresos entre el número total de pedidos. Tasa de abandono de carrito: Indica la proporción d…
¿Cómo has evitado que tus modelos arrojan sesgos en los datos? (MACHINE LEARNING)
Recopilación de datos representativos: Asegúrate de que tus datos de entrenamiento sean representativos de la población a la que se aplicará el modelo. Esto significa incluir muestras diversas que representen todas las posibles categorías y situaciones relevantes. Análisis de sesgo: Realiza un análisis exhaustivo de los datos para identificar posibles fuentes de sesgo, como desequilibrios de clase, errores sistemáticos o variables confusas. Comprender estas fuentes de sesgo te ayudará a tomar m…
¿Qué es un diccionario y cuáles son las características importantes de los diccionarios? (MACHINE LEARNING)
Asociación clave-valor: Cada elemento del diccionario consiste en una pareja clave-valor, donde la clave es única y se utiliza para acceder al valor asociado. Flexibilidad en el tipo de datos: Los valores almacenados en un diccionario pueden ser de cualquier tipo de datos, incluyendo números, cadenas de texto, listas, otros diccionarios e incluso funciones. Mutabilidad: Los diccionarios en la mayoría de los lenguajes de programación son estructuras de datos mutables, lo que significa que los el…
¿Qué es la normalización y la desnormalización en una base de datos? (MACHINE LEARNING)
Normalización y desnormalización en bases de datos Normalización La normalización es un proceso que busca organizar los datos en una base de datos de manera estructurada y eficiente, reduciendo la redundancia y mejorando la integridad de la información. Se basa en un conjunto de reglas que definen cómo deben estructurarse las tablas y las relaciones entre ellas. Los principales objetivos de la normalización son: Eliminar redundancia: Evitar que la misma información se almacene en múltiples luga…
¿Qué nuevas tecnologías te gustaría incorporar a corto plazo? ¿Por qué? (MACHINE LEARNING)
Computación en la nube
¿De qué manera determinan que un conjunto de datos es de buena calidad?
Determinar si un conjunto de datos es de buena calidad es fundamental para garantizar la fiabilidad y efectividad de cualquier análisis o modelo construido sobre ellos. Aquí hay algunas características que pueden indicar la calidad de un conjunto de datos: Completitud: El conjunto de datos debe contener todas las muestras necesarias para abordar el problema o la pregunta de investigación específica. La falta de datos puede introducir sesgos y limitar la capacidad del modelo para generalizar. Pr…