Java/Spring - Questions/Réponses Techniques

38 carte

38 carte

Ripassa
La ripetizione spaziata ti mostra ogni carta al momento ottimale per memorizzare a lungo termine, con revisioni sempre più distanziate.
Domanda
Qu'est-ce qu'un stéréotype en Spring ?
Risposta
Une annotation qui marque une classe comme un composant spécifique pour la détection et la gestion par le conteneur Spring.
Domanda
Citez 3 stéréotypes Spring courants.
Risposta
  • @Component (générique)
  • @Service (couche service)
  • @Repository (couche d'accès aux données)
  • @Controller (contrôleur web)
  • @RestController (contrôleur REST)
Domanda
Qu'est-ce qu'un scope en Spring ?
Risposta
Le scope d'un bean définit le nombre et la durée de vie de ses instances dans le conteneur Spring.
Domanda
Quel est le scope par défaut d'un bean Spring ?
Risposta
Singleton.
Domanda
Expliquez le scope Prototype.
Risposta
Une nouvelle instance du bean est créée à chaque injection.
Domanda
Citez les 3 principaux types d'injection en Spring.
Risposta
Injection par attribut (field-based), injection par constructeur, injection par setter.
Domanda
Quelle injection est recommandée et compatible avec final ?
Risposta
L'injection par constructeur.
Domanda
Quel est le rôle du conteneur Spring ?
Risposta
Il gère les objets (beans) de l'application : création, configuration, injection de dépendances.
Domanda
Quelle méthode HTTP est utilisée pour créer une ressource ?
Risposta
POST.
Domanda
Quelle méthode HTTP est utilisée pour modifier partiellement une ressource ?
Risposta
PATCH.
Domanda
Quel code de statut HTTP indique un succès sans contenu à retourner ?
Risposta
204 No Content.
Domanda
Quel code de statut HTTP indique que la ressource n'a pas été trouvée ?
Risposta
404 Not Found.
Domanda
Donnez la différence clé entre une API REST et une API SOAP.
Risposta
API REST est stateless et utilise HTTP/JSON (souvent), tandis que SOAP est базирована sur XML, protocole strict et souvent stateful.
Domanda
Qu'est-ce qu'une API stateless ?
Risposta
Une API dont le serveur ne conserve aucune information entre deux requêtes. Chaque requête est indépendante.
Domanda
Citez deux architectures logicielles principales.
Risposta
Architecture Monolithique, Architecture en Couches, Architecture Microservices, Architecture Hexagonale, etc.
Domanda
Dans MVC, quel est le rôle du Contrôleur ?
Risposta
Il reçoit les requêtes utilisateur et coordonne le Modèle et la Vue.
Domanda
Qu'est-ce que le Design Pattern Singleton ?
Risposta
Un pattern de création qui garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global à celle-ci.
Domanda
Citez une version LTS de Java postérieure à Java 8.
Risposta
Java 11, Java 17 ou Java 21.
Domanda
Expliquez ce qu'est une fonction 'citoyen de premier ordre' en programmation fonctionnelle.
Risposta
Une fonction qui peut être passée en paramètre, retournée par une autre fonction, ou stockée dans une variable.
Domanda
Donnez un exemple d'opération intermédiaire sur un Stream Java.
Risposta
filter(), map(), sorted().
Domanda
Donnez un exemple d'opération finale sur un Stream Java.
Risposta
collect(), forEach(), count().
Domanda
Quelle est la principale différence entre Heap et Stack en gestion mémoire Java ?
Risposta
Le Stack stocke les variables locales et appels de méthodes (rapide, LIFO), le Heap stocke les objets créés dynamiquement (géré par le GC).
Domanda
Qu'est-ce qu'un Garbage Collector ?
Risposta
Un mécanisme automatique qui libère la mémoire des objets non référencés en Java.
Domanda
Quelle est la différence fondamentale entre List et Set en Java ?
Risposta
List est ordonnée et autorise les doublons ; Set n'autorise pas les doublons et n'est pas forcément ordonné.
Domanda
Qu'est-ce qu'une Checked Exception ?
Risposta
Une exception que le compilateur oblige à gérer (ex: IOException, SQLException).
Domanda
Quel est l'effet du mot-clé final sur une classe ?
Risposta
La classe ne peut pas être héritée (elle ne peut pas avoir de sous-classes).
Domanda
À quoi sert un record en Java (16+) ?
Risposta
C'est une classe simplifiée pour les DTOs ou les conteneurs de données immuables. Il génère auto constructeur, getters, toString, equals, hashCode.
Domanda
Quelle est la différence entre JPA et Hibernate ?
Risposta
JPA est une spécification (interface) pour la persistance Java, tandis qu'Hibernate est une implémentation concrète de cette spécification.
Domanda
Quel est le problème N+1 en JPA et comment peut-on le solutionner ?
Risposta
Une requête principale déclenche 'N' requêtes supplémentaires pour charger des entités liées. Solution : utiliser JOIN FETCH.
Domanda
Quelle jointure SQL retourne toutes les lignes de la table de gauche et seulement les correspondances de la table de droite ?
Risposta
LEFT JOIN.
Domanda
Quel est l'acronyme de NoSQL et sa caractéristique principale ?
Risposta
NotOnlySQL. Caractéristiques : bases non relationnelles, flexibles, performantes, sans schéma rigide.
Domanda
Citez une différence majeure entre React et Angular.
Risposta
React est une librairie (Facebook), Angular est un framework complet (Google). React utilise JS/TS avec one-way data binding, Angular utilise TS et two-way data binding.
Domanda
À quoi sert le hook useContext() dans React ?
Risposta
Il permet d'accéder à une donnée partagée via un contexte React et d'éviter le 'prop drilling'.
Domanda
Pourquoi utilise-t-on className au lieu de class en JSX (React) ?
Risposta
Car class est un mot réservé en JavaScript.
Domanda
Donnez la différence entre Merge et Rebase avec Git.
Risposta
Merge fusionne et crée un 'merge commit'. Rebase 'rejoue' les commits d'une branche après ceux d'une autre, sans merge commit, pour une histoire linéaire.
Domanda
Citez deux des principes SOLID.
Risposta
  • S : Single Responsibility Principle
  • O : Open/Closed Principle
  • L : Liskov Substitution Principle
  • I : Interface Segregation Principle
  • D : Dependency Inversion Principle
Domanda
Comment peut-on versionner une API REST Spring Boot ?
Risposta
En utilisant @RequestMapping("/api/v2/...") sur les endpoints pour indiquer la version.
Domanda
Quel mécanisme Spring permet de centraliser la gestion des exceptions pour les contrôleurs REST ?
Risposta
L'utilisation de @RestControllerAdvice et @ExceptionHandler.

Inizia un quiz

Testa le tue conoscenze con domande interattive