JavaRush /Java Blog /Random-IT /Livello 33. Risposte alle domande dell'intervista sull'ar...
Afli
Livello 41
Санкт-Петербург

Livello 33. Risposte alle domande dell'intervista sull'argomento del livello

Pubblicato nel gruppo Random-IT
Domande/integrazioni/critiche sono benvenute. Livello 33. Risposte alle domande dell'intervista sull'argomento del livello - 1
  1. Cos'è JSON?

    JSON (JavaScript Object Notation) è un semplice formato di scambio dati basato su un sottoinsieme del linguaggio di programmazione JavaScript.

  2. Quali sono le differenze tra Java e JavaScript?

    Si tratta di 2 linguaggi di programmazione diversi, nonostante la somiglianza dei loro nomi. Entrambi hanno una sintassi simile a C. Le differenze sono le seguenti:

    • Java implementa un approccio OOP basato su classi, JavaScript - su prototipi;
    • Java ha una digitazione statica, JavaScript ha una digitazione dinamica;
    • Java viene caricato dal bytecode compilato; JavaScript viene interpretato direttamente dal file.

    Il tuo testo da collegare...

  3. Quali sono le differenze tra JSON e XML?

    JSON è un formato di scambio dati.

    XML è un linguaggio di markup (in cui è possibile specificare la sintassi, la struttura, i tipi di dati e il loro modello in generale).

    Entrambi possono essere utilizzati per trasferire dati. Naturalmente, per lavorare con entrambi gli standard, vengono utilizzati framework diversi e la sintassi è diversa.

  4. Quali framework per lavorare con JSON conosci?

    Il livello 33 ci ha introdotto al framework Jackson. Inoltre, ne fornirò altri 3 e un collegamento a un articolo in cui vengono confrontati:

    1. Jackson di FasterXML
    2. JSON.simple di Yidong Fang
    3. GSON di Google
    4. JSONP di Oracle

    Confronto delle librerie Java per lavorare con JSON: JSON.simple, GSON, Jackson e JSONP

  5. Quali framework per lavorare con XML conosci?

    Poiché XML è un formato di rappresentazione dei dati, esistono tecnologie più diverse per lavorarci. Fornirò le tecnologie utilizzate per serializzare gli oggetti Java in XML:

    1. JAXB (incluso in J nel JDK)
    2. Xstream

    Link con una breve panoramica dei vari framework per lavorare con xml: JAVA + XML

  6. Quali annotazioni Jackson conosci?

    Diamo un'occhiata a quelli che sono stati utilizzati nelle lezioni:

    • @JsonAutoDetect : posizionato di fronte alla classe. Dice a Jackson di utilizzare i campi di questa classe durante la scrittura o la lettura. Tra parentesi è possibile impostare un parametro (fieldVisibility = JsonAutoDetect.Visibility.ANY) per configurare la visibilità dei campi che verranno utilizzati (per impostazione predefinita, vengono utilizzati solo i campi pubblici).
    • @JsonIgnore : posizionato prima del campo. Dice a Jackson di ignorare questo campo durante la lettura/scrittura.
    • @JsonProperty : posizionato prima del campo, getter o setter. Consente di specificare un nome di campo diverso durante la serializzazione.
    • @JsonWriteNullProperties : posizionato di fronte alla classe. I campi oggetto nulli non verranno ignorati.
    • @JsonPropertyOrder : posizionato di fronte alla classe. consente di definire l'ordine in cui i campi di un oggetto Java verranno serializzati su JSON.
    • @JsonDeserialize - Posizionato prima del campo. Consente di definire la classe in cui viene deserializzato l'oggetto JSON. Ad esempio, in Java, gli array e gli elenchi vengono serializzati in array e durante la deserializzazione possiamo scegliere esattamente cosa vogliamo ricevere.

    Ecco un collegamento a un sito con alcune annotazioni: Jackson Annotations

  7. Quali annotazioni JAXB conosci?

    Inoltre analizzerò solo quelli utilizzati nella lezione:

    • @XmlRootElement : posizionato prima della classe. Indica che questo oggetto può essere un elemento di primo livello, ad es. tutti gli altri elementi si trovano al suo interno.
    • @XmlType : posizionato prima della classe. Aggiunge ulteriori informazioni allo schema XML. Puoi specificare alcuni attributi, come l'ordine degli elementi, il nome, ecc.
    • @XmlElement : posizionato prima del campo. Consente di impostare il nome dell'elemento xml, il valore predefinito, ecc.
    • @XmlAttribute : posizionato prima del campo. Il campo verrà rappresentato come un attributo XML.
    • @XmlElementWrapper : posizionato prima del campo o getter. Consente di creare un tag di bordo per un gruppo di elementi.
    • @XmlJavaTypeAdapter : posizionato prima della classe. La classe dell'adattatore ausiliario richiesta per il marshalling/unmarshalling di questa classe è indicata tra parentesi.
    • @XmlEnum : posizionato prima dell'enumerazione. Tra parentesi è possibile specificare il tipo in cui verranno rappresentati i valori enum.
    • @XmlEnumValue : posizionato prima del valore enum. Consente di specificare un valore speciale per un determinato valore enum.

    Ecco un collegamento a un sito con alcune annotazioni (mi scuso per non essere riuscito a creare una traduzione corretta per le annotazioni, le informazioni sono comprensibili, ma non ho assolutamente idea di come dirlo correttamente in russo): https: // jaxb.java.net/tutorial/index.html

  8. Qual è la differenza tra serializzazione e deserializzazione in JSON?

    Non ho capito l'essenza della domanda. Non vedo alcun motivo nel confrontare 2 processi reciproci. Forse questo aveva lo scopo di confrontare JSON e XML; un collegamento a questo argomento è fornito nella domanda successiva.

  9. Qual è il migliore JSON o XML? Perché?

    Ecco un ottimo articolo che mette a confronto JSON e XML: JSON e XML. Cosa c'è di meglio?

    Forse è impossibile dire che qualcosa sia migliore. Quando scegli, dovresti considerare l'attività stessa e cosa sarà più efficace nell'uso. Inoltre, la scelta può dipendere dalle preferenze personali dello sviluppatore.

  10. Cos'è il DTO?

    DTO (Data Transfer Object) è un modello di progettazione contenente dati senza alcuna logica per lavorarci. I DTO vengono generalmente utilizzati per trasferire dati tra diverse applicazioni o tra livelli all'interno della stessa applicazione. Possono essere visti come un archivio di informazioni il cui unico scopo è trasmettere tali informazioni al destinatario.

Livello 33. Risposte alle domande dell'intervista sull'argomento del livello - 2
Aggiornato il 10/11/2016 alle 15.50

domande n. 2, n. 3 corrette, secondo il commento

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