JavaRush /Blog Java /Random-FR /Niveau 33. Réponses aux questions d'entretien sur le suje...
Afli
Niveau 41
Санкт-Петербург

Niveau 33. Réponses aux questions d'entretien sur le sujet du niveau

Publié dans le groupe Random-FR
Les questions/ajouts/critiques sont les bienvenus. Niveau 33. Réponses aux questions d'entretien sur le thème du niveau - 1
  1. Qu’est-ce que JSON ?

    JSON (JavaScript Object Notation) est un format simple d'échange de données basé sur un sous-ensemble du langage de programmation JavaScript.

  2. Quelles sont les différences entre Java et JavaScript ?

    Ce sont 2 langages de programmation différents, malgré la similitude de leurs noms. Les deux ont une syntaxe de type C. Les différences sont les suivantes :

    • Java implémente une approche POO basée sur des classes, JavaScript - sur des prototypes ;
    • Java a un typage statique, JavaScript a un typage dynamique ;
    • Java est chargé à partir du bytecode compilé ; JavaScript est interprété directement à partir du fichier.

    Votre texte à lier...

  3. Quelles sont les différences entre JSON et XML ?

    JSON est un format d'échange de données.

    XML est un langage de balisage (dans lequel vous pouvez spécifier la syntaxe, la structure, les types de données et leur modèle en général).

    Les deux peuvent être utilisés pour transférer des données. Naturellement, pour travailler avec les deux standards, différents frameworks sont utilisés et la syntaxe est différente.

  4. Quels frameworks pour travailler avec JSON connaissez-vous ?

    Le niveau 33 nous a présenté le framework Jackson. De plus, j'en donnerai 3 autres, et un lien vers un article dans lequel ils sont comparés :

    1. Jackson par FasterXML
    2. JSON.simple par Yidong Fang
    3. GSON de Google
    4. JSONP d'Oracle

    Comparaison des bibliothèques Java pour travailler avec JSON : JSON.simple, GSON, Jackson et JSONP

  5. Quels frameworks pour travailler avec XML connaissez-vous ?

    XML étant un format de représentation de données, il existe des technologies plus diverses pour l'utiliser. Je donnerai les technologies utilisées pour sérialiser les objets Java en XML :

    1. JAXB (inclus dans J dans le JDK)
    2. Xstream

    Lien avec un bref aperçu des différents frameworks pour travailler avec XML : JAVA + XML

  6. Quelles annotations de Jackson connaissez-vous ?

    Regardons ceux qui ont été utilisés dans les cours :

    • @JsonAutoDetect - placé devant la classe. Indique à Jackson d'utiliser les champs de cette classe lors de l'écriture ou de la lecture. Entre parenthèses, vous pouvez définir un paramètre (fieldVisibility = JsonAutoDetect.Visibility.ANY) pour configurer la visibilité des champs qui seront utilisés (par défaut, seuls les champs publics sont utilisés).
    • @JsonIgnore - placé avant le champ. Dit à Jackson d'ignorer ce champ lors de la lecture/écriture.
    • @JsonProperty - Placé avant le champ, getter ou setter. Vous permet de spécifier un nom de champ différent lors de la sérialisation.
    • @JsonWriteNullProperties - Placé devant la classe. Les champs d'objet nuls ne seront pas ignorés.
    • @JsonPropertyOrder - Placé devant la classe. permet de définir l'ordre dans lequel les champs d'un objet java seront sérialisés en JSON.
    • @JsonDeserialize - Placé avant le champ. Permet de définir la classe dans laquelle l'objet JSON est désérialisé. Par exemple, en Java, les tableaux et les listes sont sérialisés en tableaux, et lors de la désérialisation, nous pouvons choisir exactement ce que nous voulons recevoir.

    Voici un lien vers un site avec quelques annotations : Jackson Annotations

  7. Quelles annotations JAXB connaissez-vous ?

    J'analyserai également uniquement ceux qui ont été utilisés dans le cours :

    • @XmlRootElement - Placé avant la classe. Indique que cet objet peut être un élément de niveau supérieur, c'est-à-dire tous les autres éléments s’y trouvent.
    • @XmlType - Placé avant la classe. Ajoute des informations supplémentaires au schéma XML. Vous pouvez spécifier certains attributs, tels que l'ordre des éléments, le nom, etc.
    • @XmlElement - Placé avant le champ. Vous permet de définir le nom de l'élément XML, la valeur par défaut, etc.
    • @XmlAttribute - Placé avant le champ. Le champ sera représenté comme un attribut XML.
    • @XmlElementWrapper - Placé avant le champ ou le getter. Vous permet de créer une balise de bordure pour un groupe d'éléments.
    • @XmlJavaTypeAdapter - Placé avant la classe. La classe d'adaptateur auxiliaire requise pour le marshaling/unmarshalling de cette classe est indiquée entre parenthèses.
    • @XmlEnum - Placé avant l'énumération. Entre parenthèses, vous pouvez spécifier le type dans lequel les valeurs d'énumération seront représentées.
    • @XmlEnumValue — Placé avant la valeur enum. Vous permet de spécifier une valeur spéciale pour une valeur d'énumération donnée.

    Voici un lien vers un site avec quelques annotations (je m'excuse de ne pas pouvoir créer une traduction correcte pour les annotations, l'information est compréhensible, mais je n'ai absolument aucune idée de comment le dire correctement en russe) : https:// jaxb.java.net/tutorial/index .html

  8. Quelle est la différence entre la sérialisation et la désérialisation en JSON ?

    Je n'ai pas compris l'essence de la question. Je ne vois pas l’intérêt de comparer 2 processus réciproques. Peut-être que cela visait à comparer JSON et XML ; un lien vers ce sujet est fourni dans la question suivante.

  9. Quel est le meilleur JSON ou XML ? Pourquoi?

    Voici un excellent article qui compare JSON et XML : JSON et XML. Ce qui est mieux?

    Il est peut-être impossible de dire que quelque chose va mieux. Lors du choix, vous devez examiner la tâche elle-même et ce qui sera le plus efficace à utiliser. De plus, le choix peut dépendre des préférences personnelles du développeur.

  10. Qu’est-ce que le DTO ?

    DTO (Data Transfer Object) est un modèle de conception contenant des données sans aucune logique pour les utiliser. Les DTO sont généralement utilisés pour transférer des données entre différentes applications ou entre couches au sein d'une même application. Ils peuvent être considérés comme un référentiel d'informations dont le seul objectif est de transmettre ces informations au destinataire.

Niveau 33. Réponses aux questions d'entretien sur le thème du niveau - 2
Mis à jour le 10/11/2016 à 15h50

questions n°2, n°3 corrigées, selon le commentaire

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION