Sobes.tech

Java

Esempio di creazione di un ordine. C'è una richiesta al servizio e una risposta, tra queste due azioni ci sono uno scambio di prodotti tra i servizi e esterni che sono descritti (ad esempio, per contare la popolarità dei prodotti). Il servizio viene eseguito più volte, funziona lentamente o addirittura si blocca a causa del timeout e non riusciamo a rispondere, perdiamo l'ordine. Cosa fare per smettere di perdere ordini e di conseguenza soldi?

201

Scrivi una query SQL: seleziona i nomi dei tre autori più letti in questo momento (che hanno più libri in mano).

188

Valuta la complessità algoritmica della soluzione al problema del palindromo. In termini di tempo e memoria. Se l'alfabeto è fisso (lettere inglesi, 26 caratteri), qual è la complessità in memoria?

178

Per un array di numeri arr e un numero k È necessario restituire un nuovo array, il cui numero di elementi ripetuti non sia > k Esempio: Input: arr=[1,1,1,2,3,3,3,4,4], k=3 Output: res=[1,3,4]

167

Deve essere descritto il modello della biblioteca. Ci sono 3 entità: "Autore", "Libro", "Lettore". Fisicamente, c'è solo un libro e può essere associato a un solo lettore. È necessario creare tabelle per la biblioteca che tengano conto di questo.

158

/** * Implementare il trasferimento di denaro tra due conti. Si consideri che questa è una soluzione di produzione * Parametri di input: * @param fromAccountId identificatore univoco dell'utente che trasferisce i fondi * @param toAccountId identificatore univoco dell'utente a cui vengono trasferiti i fondi * @param amount importo del trasferimento. Numero positivo */ public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { }

152

Scrivi una query SQL: seleziona i titoli di tutti i libri con più di tre autori.

146

/** * chars = ['a', 'a', 'a', 'b', 'b', 'c', 'a'] * return: a3b2ca2 */ class JavaTask3Solution { public String compress(char[] chars) { } }

145

Come scalare un servizio con una crescita lineare del carico? Cosa fare quando la scalabilità orizzontale raggiunge i limiti del database?

140

Pattern Outbox: come garantire l'atomicità della scrittura nel database e l'invio dell'evento alla coda?

134

Scrivi una query SQL: seleziona i titoli di tutti i libri attualmente in mano ai lettori.

129

Come implementare il rate limiting per un'API esterna con restrizione RPS? In cosa differiscono i thread virtuali/coroutine dai thread di sistema?

129

Condizioni Ci sono 3 entità - utente, chat, messaggio - L'utente ha un nome e una data di registrazione - La chat ha un nome e una data di creazione - Il messaggio ha testo, autore e data di creazione - L'utente può essere in più chat contemporaneamente - Il messaggio deve appartenere a una chat, e non può appartenere a più di una chat contemporaneamente - È necessario descrivere il dominio sotto forma di tabelle

128

Quali tipi di sharding esistono? Raccontaci gli approcci principali.

127

Qual è la differenza tra Cassandra e PostgreSQL? Racconta le principali differenze.

125

Per una stringa data, è necessario determinare la lunghezza del più grande palindromo che può essere formato con i suoi caratteri. Un palindromo è una parola che si legge ugualmente da sinistra a destra e da destra a sinistra, ad esempio "radar" o "otto". Esempio: Input: aaabbbcccddd Output: 11 (palindromo dccbbaaabbccd)

119

Ci sono 3 entità: utente, chat, messaggio - L'utente ha un nome e una data di registrazione - La chat ha un nome e una data di creazione - Il messaggio ha testo, autore e data di creazione - L'utente può essere in più chat contemporaneamente - Il messaggio deve appartenere a una chat, e non può appartenere a più di una chat contemporaneamente - È necessario descrivere il dominio sotto forma di tabelle

118

È necessario avvolgere il metodo transferMoney in @Transactional e perché?

116
/2