Sobes.tech

Java

¿Cómo hacer que una pila sea universal para trabajar no solo con Integer, sino también con String y objetos personalizados?

172

¿Qué se debe tener en cuenta al crear un índice en una tabla grande en producción?

170

Escribe tu propia clase que implemente una pila, con métodos push, pop y peekMax, que devuelva el elemento máximo en la pila en O(1).

159

¿Por qué ocurrirá un StackOverflowError si no hay variables locales? ¿En qué se llenará la memoria?

152

¿Por qué se necesita SELECT FOR UPDATE en lugar de synchronized? ¿Y por qué bloqueo pesimista en lugar de optimista?

152

¿Qué hacer si processFile no puede ejecutarse después de confirmar la transacción?

150

¿Por qué no se puede simplemente usar una variable max en lugar de la segunda pila?

147

Hay un sistema que permite a los usuarios trabajar con archivos en el navegador. La pila tecnológica es estándar: Java, Spring, React, Postgres. Los archivos se almacenan en el sistema de archivos en el backend, los metadatos de los archivos en la base de datos. El equipo implementó una función: @Transactional public void process(String oldName, String newName) { Long id = exec("select id from file where name='" + oldName + "'"); //ejecución de consulta a la base de datos processFile(oldName, newName); //renombrar archivo en disco exec("update file set name='" + newName + "' where id = " + id); //ejecución de consulta a la base de datos }

141

¿Se puede optimizar la pila en memoria para que no tenga un consumo x2?

135

Hay un backend, hay una interfaz de usuario. La pila tecnológica es estándar: Java, Spring, React, Postgres. Tarea: Diseñar un endpoint REST que debe obtener datos de 3 fuentes y entregarlos a la UI, asegurando la mayor capacidad de procesamiento posible y el menor tiempo de respuesta posible (criterios máximos/mínimos según nuestras condiciones específicas, ya que en realidad no hay una solución mágica y hay que encontrar un compromiso). Se sabe que el pico esperado de RPS en este endpoint será de 200. Detalles conocidos sobre las fuentes: 1. Fuente - nuestra base de datos, consulta aproximadamente 15 segundos. 2. Fuente - servicio REST relacionado, degrada hasta 2 minutos bajo 100 RPS, en modo normal responde en 5 segundos. No podemos cambiar su comportamiento. 3. Fuente - servicio REST relacionado, responde aleatoriamente (no se han identificado patrones específicos) con errores 503, en modo normal responde en 10 segundos. No podemos cambiar su comportamiento.

122

¿Qué tipo de índice usar para buscar en medio o al final de una cadena (LIKE '%texto%')?

120

Escriba un método muy simple que, al ejecutarse, lance un StackOverflowError.

120