Cos'è SQL e a cosa serve?
SQL (Structured Query Language) è un linguaggio di programmazione usato per gestire e manipolare database relazionali. Serve per creare, modificare, interrogare e gestire i dati all'interno di un database.
Qual è la differenza tra "==" e "equals()" in Java?
Cos'è il Decorator Pattern e a cosa serve?
Il Decorator Pattern aggiunge dinamicamente nuove funzionalità a un oggetto senza modificare la sua classe.
Cos'è Spring Framework e quali sono i suoi vantaggi?
Spring è un framework Java open-source che facilita lo sviluppo di applicazioni aziendali. I suoi principali vantaggi sono:
Cosa sono i Microservizi e quali vantaggi offrono?
I Microservizi sono un'architettura software in cui un'applicazione è suddivisa in più servizi indipendenti, ognuno con una funzionalità specifica.
Vantaggi:
✅ Scalabilità indipendente dei servizi
✅ Maggiore manutenibilità e riusabilità
✅ Facilità di deploy e aggiornamenti senza impatti globali
✅ Resilienza: il fallimento di un servizio non blocca l’intera applicazione
Quali sono i principali comandi SQL per la gestione dei dati?
Cos'è il polimorfismo in Java?
Il polimorfismo permette di usare lo stesso metodo in modi diversi. Esistono due tipi:
Cos'è l'Adapter Pattern e quando si usa?
L'Adapter Pattern converte l'interfaccia di una classe in un'altra aspettata dal client, permettendo la compatibilità tra classi che altrimenti non potrebbero lavorare insieme.
Esempio: una presa di corrente USA adattata per l'Europa.
Cos'è la Dependency Injection (DI) in Spring?
La Dependency Injection (DI) è un principio in cui le dipendenze di un oggetto vengono fornite dall'esterno invece di essere create all'interno della classe stessa. In Spring, questo permette di scrivere codice più modulare e testabile.
Qual è la differenza tra Monolite e Microservizi?
Esempio:
🔹 Monolite: un'app di e-commerce ha un solo codice sorgente per ordini, pagamenti e utenti.
🔹 Microservizi: ogni funzionalità è un servizio separato (es. Order Service, Payment Service, User Service).
Cosa fa il comando SQL "JOIN" e quali tipi esistono?
Cos'è l'ereditarietà in Java?
L'ereditarietà permette a una classe di ereditare i metodi e gli attributi di un'altra classe. In Java si usa la parola chiave extends.
Cos'è il Singleton Pattern e quando viene usato?
Il Singleton garantisce che una classe abbia una sola istanza e fornisce un punto di accesso globale a
Cos'è Spring Boot e perché viene usato?
Cos'è un API Gateway e a cosa serve?
L'API Gateway è un punto centrale che gestisce le richieste tra client e microservizi.
✅ Bilanciamento del carico
✅ Autenticazione e sicurezza
✅ Rate limiting (limitare il numero di richieste)
Esempio con Spring Cloud Gateway:
javaCopiaModifica
Qual è la differenza tra DELETE e TRUNCATE?
Cos'è un'interfaccia in Java e come si usa?
Un'interfaccia è un contratto che definisce metodi senza implementazione. Le classi che la implementano devono fornire un'implementazione per tutti i metodi.
Qual è la differenza tra Design Pattern e architettura software?
Qual è la differenza tra @RestController e @Controller?
Come si gestisce la configurazione nei Microservizi?
Si usa Spring Cloud Config per centralizzare le configurazioni.
🔹 I file di configurazione vengono salvati in Git o un server centrale.
🔹 I microservizi recuperano le configurazioni dinamicamente.
Esempio di configurazione centralizzata:
propertiesCopiaModifica
Cosa fa la clausola GROUP BY?
GROUP BY raggruppa le righe con gli stessi valori in una o più colonne e permette di applicare funzioni di aggregazione come COUNT, SUM, AVG, MIN e MAX.
Che cos' é una stream e come viene usata
La Stream é una operazione su una Collection essa può eseguire diverse operazioni, queste sono Terminali o intermedie
Qual è la differenza tra Factory Pattern e Abstract Factory Pattern?
Cosa sono i profili in Spring e come si usano?
I profili (@Profile) permettono di attivare configurazioni diverse in base all’ambiente (sviluppo, produzione, test).
Quali strumenti si usano per gestire i Microservizi?
DINNE ALMENO 3
Alcuni strumenti comuni:
✅ Spring Boot + Spring Cloud (per creare microservizi)
✅ Docker + Kubernetes (per il deploy e l'orchestrazione)
✅ Eureka, Consul (per il Service Discovery)
✅ Kafka, RabbitMQ (per la comunicazione asincrona)
✅ Grafana + Prometheus (per il monitoring)
Esempio di deploy di un microservizio con Docker:
dockerfileCopiaModifica