Advertisement

Top 24 des questions et réponses d’entrevue Hibernate en [2021]

106

advertissement

Si vous êtes à un entretien d’embauche, la dernière chose que vous voulez est de rester perplexe sur une question. C’est particulièrement frustrant si vous connaissez bien le sujet en question, mais vous auriez pu bénéficier d’un rappel au préalable.

C’est pourquoi il est judicieux de passer en revue certains anciens documents et de revoir les questions d’entretien les plus courantes. De cette façon, vous ne serez pas pris au dépourvu et ne ternirez pas cette première impression cruciale.

Si vous postulez pour un poste lié à Hibernate, vous êtes au bon endroit. Voici deux douzaines des questions d’entrevue les plus populaires, ventilées par niveau de difficulté. Vous trouverez des informations de base, des concepts intermédiaires et des questions d’entrevue Hibernate pour les candidats expérimentés.

Commençons par les questions d’entretien d’Hibernate en jetant un bref coup d’œil à Hibernate.

Qu’est-ce que Hibernate et pourquoi devrions-nous nous en soucier?

Hibernate ORM, également connu sous le nom de «Hibernate», est un outil de mappage relationnel objet léger et open source utilisé dans le langage de programmation Java, fournissant un cadre qui mappe les modèles de domaine orientés objet vers des bases de données relationnelles.

Hibernate facilite la création d’objets indépendants du logiciel de base de données et le développement d’une logique de persistance. En termes simples et non techniques, Hibernate est un outil gratuit qui facilite les interactions entre votre application et la base de données.

Vous pouvez en savoir plus sur Hibernate et d’autres applications Java populaires ici.

Commençons maintenant par les questions et réponses d’entrevue Hibernate de base ou d’entrée de gamme.

Questions d’entretiens Hibernate de niveau de base

Commençons par les principes de base de ces questions d’entretien d’hibernation. Ces huit premières questions liées à Hibernate couvrent des bases simples d’entrée de gamme.

1. Qu’est-ce qu’un outil ORM?

R: Un outil ORM (Object Relational Mapping) permet de simplifier la création, la manipulation et l’accès aux données en utilisant en interne l’API Java pour interagir avec les bases de données. C’est une technique qui mappe les objets stockés dans une base de données.

2. Que signifie «léger»?

R: Dans le contexte des ordinateurs, «léger» décrit une application, un programme informatique ou un appareil qui n’utilise pas beaucoup de ressources système en raison de son faible encombrement mémoire (RAM) et de sa faible utilisation du processeur.

3. Quels sont les avantages d’Hibernate?

R: Voici une liste des nombreux avantages d’Hibernate:

  • C’est rapide
  • C’est léger et open source
  • Il réduit la longueur du code, supprime le code standard et libère les développeurs pour d’autres tâches
  • Il renforce la relation au niveau de l’objet
  • Il facilite la génération de requêtes de base de données indépendantes
  • Il fournit des ressources pour créer automatiquement des tables
  • Il est facile à intégrer avec d’autres frameworks Java Enterprise Edition (EE).

4. Pourquoi Hibernate est meilleur que Java Database Connectivity (JDBC)?

R: Hibernate surclasse JDBC parce que:

  • Le code Hibernate est plus propre et plus lisible grâce à l’élimination du code chaudière, ce que l’on trouve dans JDBC
  • Contrairement à l’API JDBC, Hibernate prend en charge les associations, les collections et les héritages
  • HQL (Hibernate Query Language) est plus proche de Java et est plus orienté objet
  • Les développeurs n’ont pas besoin d’écrire du code pour stocker et charger des données dans la base de données
  • Hibernate permet un développement d’applications plus rapide

5. Qu’est-ce que la «persistance»?

R: Dans le contexte de Java, la persistance décrit les données et les objets qui durent au-delà du processus utilisé pour les créer.

6. Nommez certaines bases de données prises en charge par Hibernate.

R: Hibernate prend en charge les bases de données telles que:

  • DB2 / NT
  • FrontBase
  • Moteur de base de données HSQL
  • Serveur dynamique Informix
  • Base de données Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • serveur SQL
  • Sybase

7. Qu’est-ce que HQL?

R: HQL signifie Hibernate Query Language, un puissant langage orienté objet indépendant de la base de données. C’est comme SQL, sauf qu’il utilise des objets au lieu de noms de table. HQL est un langage de requête très simple, efficace et flexible utilisé pour effectuer diverses opérations sur une base de données relationnelle sans avoir besoin de requêtes de base de données complexes.

8. Nommez les quatre niveaux ORM dans Hibernate.

R: Les quatre niveaux ORM d’Hibernate sont:

  • Mappage d’objets complet
  • Cartographie des objets lumineux
  • Mappage d’objet moyen
  • Relationnel pur

Après avoir examiné certaines des questions de base de l’entrevue Hibernate, passons au niveau supérieur et examinons les questions de niveau intermédiaire.

Cours de développeur Java Full Stack

La passerelle pour maîtriser le développement WebExplorer le cours

Questions d’entrevue Hibernate de niveau intermédiaire

Augmentons le niveau de difficulté de quelques crans avec cet ensemble de huit questions et réponses d’entrevue Hibernate moyennement difficiles.

9. Nommez les cinq types de collection d’Hibernate utilisés dans les mappages de relations un-à-plusieurs.

R: Les cinq types de collection sont:

10. Qu’est-ce que le «contrôle sale»?

R: La fonction de vérification incorrecte aide les développeurs et les utilisateurs à éviter les opérations d’écriture fastidieuses, réduisant ainsi les temps d’écriture de la base de données. La vérification sale modifie ou met à jour uniquement les champs qui nécessitent une action, tout en gardant le reste des champs inchangé et inchangé.

11. Quel est le service de cache par défaut d’Hibernate?

R: Le service de cache par défaut d’Hibernate est EHCache, bien que le framework supporte également OSCache, SWARMCache et TreeCache.

12. Qu’est-ce que le Light Object Mapping?

R: La cartographie des objets légers est l’un des niveaux de qualité ORM les plus précieux. Cette approche utilise des modèles de conception spécifiques pour masquer la syntaxe de la logique métier. Toutes les entités sont représentées sous forme de classes et mappées manuellement. L’approche Light Object Mapping fonctionne bien avec les applications qui ont moins d’entités et les applications qui utilisent des modèles de données basés sur les métadonnées.

13. Répertoriez et décrivez les interfaces essentielles du framework Hibernate.

R: Les interfaces importantes d’Hibernate sont:

  • SessionFactory (org.hibernate.SessionFactory). SessionFactory est un cache thread-safe immuable de mappages compilés destinés à une seule base de données. Une fois que les utilisateurs ont initialisé SessionFactory une fois, ils peuvent la mettre en cache et la réutiliser. SessionFactory est conçu pour renvoyer les objets de session pour les opérations de base de données.
  • Session (org.hibernate.Session). Une session est un objet de courte durée à un seul thread qui représente un dialogue entre le magasin persistant et l’application. C’est l’interface qui existe entre le framework Hibernate et le code de l’application Java, fournissant des méthodes pour les opérations CRUD. Une session ne doit être ouverte que lorsque cela est nécessaire, puis fermée dès que l’utilisateur a terminé.
  • Transaction (org.hibernate.transaction). La transaction est un objet à un seul thread et de courte durée que l’application utilise pour spécifier des unités de travail atomiques.

14. Qu’est-ce que le chargement paresseux?

R: Le chargement différé est une technique dans laquelle les objets sont chargés selon les besoins, au lieu d’une page entière, par exemple. Cette technique est devenue par défaut depuis Hibernate version 3.

15. Quelles sont les stratégies de concurrence?

R: Les stratégies de concurrence sont des médiateurs chargés de stocker et de récupérer les éléments mis en cache. Lors de l’activation d’un cache de second niveau, le développeur doit décider de la concurrence de cache à implémenter pour chaque classe et collection persistantes.

Les stratégies de concurrence sont:

  • Non-strict-Read-Write: cette stratégie fonctionne avec des données qui peuvent être modifiées et peuvent tolérer une petite chance de données périmées. Cette stratégie n’offre aucune garantie de cohérence entre la base de données et le cache.
  • Lecture seule: cette stratégie fonctionne mieux avec des données qui ne peuvent pas être modifiées et, par conséquent, n’est utilisée que pour référencer des données.
  • Transactionnel: cette stratégie est principalement utilisée pour les données en lecture principale dans les cas où il est essentiel d’éviter les données périmées dans les transactions simultanées, dans ces rares cas de mise à jour.
  • Lecture-écriture: Cette stratégie est comme la stratégie transactionnelle.

16. Définissez le cadre de validation d’Hibernate.

R: La validation des données fait partie intégrante de toute application et est utilisée dans la couche de présentation lors de l’utilisation de JavaScript et du code côté serveur avant le traitement. La validation est une tâche transversale qui se produit avant de la rendre persistante afin qu’elle adhère au format correct.

Maintenant que nous avons appris certaines des questions d’entretien Hibernate de niveau intermédiaire, augmentons ensuite le niveau de difficulté et examinons certaines des questions et réponses d’entrevue Hibernate de niveau avancé.

Questions d’entretiens chez Advanced Level Hibernate

Nous complétons les questions d’entretien d’Hibernate par huit questions d’experts.

17. Quels modèles de conception le framework Hibernate utilise-t-il?

R: Certains modèles de conception comprennent:

  • Data Mapper, qui déplace les données entre les objets et une base de données, en les gardant indépendants les uns des autres et du mappeur
  • Domain Model Pattern, qui est un modèle d’objet de domaine qui incorpore à la fois le comportement et les données
  • Proxy Pattern, pour le chargement paresseux
  • Modèle d’usine dans SessionFactory

18. Qu’est-ce que le réglage Hibernate?

R: Le processus de réglage Hibernate est conçu pour optimiser les performances des applications Hibernate. Les trois stratégies sont:

  • Optimisation SQL
  • Gestion de session
  • Mise en cache des données

19. Nommez les états dans lesquels une entité persistante existe.

R: Les entités persistantes n’existent que dans trois états:

  • Transitoire
  • Persistant
  • Détaché

20. Comment afficher le SQL généré par Hibernate sur une console?

R: Pour activer l’affichage de SQL sur une console à des fins de débogage, vous devez ajouter ce qui suit dans le fichier de configuration Hibernate:

1 true

21. Quelle est la différence entre Session et SessionFactory?

R: Une session fournit le cache de premier niveau et est un objet à un seul thread et de courte durée. Une SessionFactory fournit le cache de deuxième niveau et est immuable et partagée par toutes les sessions. Il vit jusqu’à ce qu’Hibernate fonctionne.

22. De combien de manières un objet peut-il être extrait de la base de données d’Hibernate?

R: Il existe quatre façons d’extraire des objets de la base de données d’Hibernate:

  • API de critères
  • HQL
  • L’identifiant
  • SQL standard

23. De combien de façons pouvez-vous désactiver le cache de deuxième niveau d’Hibernate?

R: Il existe trois façons de désactiver le cache:

  • En définissant la mise en veille prolongée. cache. use_second_level_cache sur false
  • En utilisant CACHEMODE.IGNORE
  • Utilisation d’un fournisseur de cache tel que org.hibernate.cache.NoCacheProvider

24. Décrivez les différences entre les états transitoire, persistant et détaché d’Hibernate.

R: Voici comment les états diffèrent:

  • Transitoire. Cet état décrit les nouveaux objets créés en Java mais non associés à une session Hibernate.
  • Persistant. Cet état décrit les objets associés à une session Hibernate.
  • Détaché. Cet état décrit un objet qui était auparavant Persistant et associé à une session Hibernate. Les développeurs peuvent rattacher l’objet à une session Hibernate à l’aide de update () ou saveOrUpdate ().

Voulez-vous devenir développeur Java?

Il y a une forte demande pour les développeurs Java Full Stack, avec une multiplication par sept des emplois d’ici 2024. Les développeurs Full Stack possèdent un ensemble diversifié de compétences en codage et peuvent relever les défis du développement front-end et back-end avec un égal facilité. Les salaires du poste sont proportionnellement généreux. Selon Glassdoor, un développeur Java Full Stack coûte en moyenne 79 137 USD par an.

advertissement

Vous pourriez aussi aimer