¿Cuál es la diferencia entre RANK() y DENSE_RANK()?
Data Engineer
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Obtener los 10 conductores principales por número de pedidos en cada ciudad
¿Dónde funciona mejor la compresión de datos: en almacenamiento columnar o en almacenamiento por filas, y por qué?
Cuéntame, ¿qué sabes sobre el almacenamiento de datos en columnas y en filas? ¿Cuándo y cuál deberías elegir y por qué?
-- Tabla original stretch -- Es necesario rellenar con el valor anterior (no NULL) en función del id - realizar relleno hacia abajo id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- La tabla original a la izquierda y la que se desea obtener a la derecha SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
¿Cuánta memoria adicional requiere una solución con diccionario, sin contar los datos devueltos?
¿Cuánto tiempo tomará la solución que utiliza sorted incorporado? ¿Se puede idear una solución más rápida?
Evalúe la solución final en términos de tiempo y memoria.
¿Cómo resolver un problema en tiempo lineal O(n) usando un diccionario? ¿Qué hay que guardar en el diccionario para luego construir una cadena ordenada? ¿Cómo manejar los caracteres que no están en el orden?
-- Encontrar a todos los pasajeros que realizaron viajes de dos o más días consecutivos
Dado una cadena order que especifica el orden deseado de los caracteres. Se requiere reordenar los caracteres en la cadena unsorted_str para que el orden sea coherente con la cadena order. Ambas cadenas consisten en caracteres del alfabeto inglés en minúscula, todos los caracteres en order son diferentes. El orden de los caracteres en unsorted_str se llama coherente con la cadena order, si de que el carácter x aparece antes que el carácter y en order, se deduce que cualquier aparición de x en unsorted_str debe estar antes que cualquier aparición de y. Es posible que en order no haya caracteres de unsorted_str y viceversa. Devuelve cualquiera de las permutaciones permitidas. unsorted_str = "abcd" order = "cba" respuesta = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # código aquí
¿Cómo hacer una extensión hacia arriba (rellenar NULL con el valor no nulo anterior en dirección inversa)?