JavaRush /Blogue Java /Random-PT /Nível 33. Respostas às perguntas da entrevista sobre o tó...
Afli
Nível 41
Санкт-Петербург

Nível 33. Respostas às perguntas da entrevista sobre o tópico do nível

Publicado no grupo Random-PT
Perguntas/acréscimos/críticas são bem-vindas. Nível 33. Respostas às perguntas da entrevista sobre o tema do nível - 1
  1. O que é JSON?

    JSON (JavaScript Object Notation) é um formato simples de intercâmbio de dados baseado em um subconjunto da linguagem de programação JavaScript.

  2. Quais são as diferenças entre Java e JavaScript?

    São duas linguagens de programação diferentes, apesar da semelhança de seus nomes. Ambos têm sintaxe semelhante a C. As diferenças são as seguintes:

    • Java implementa uma abordagem OOP baseada em classes, JavaScript - em protótipos;
    • Java possui digitação estática, JavaScript possui digitação dinâmica;
    • Java é carregado a partir do bytecode compilado; JavaScript é interpretado diretamente do arquivo.

    Seu texto para linkar...

  3. Quais são as diferenças entre JSON e XML?

    JSON é um formato de troca de dados.

    XML é uma linguagem de marcação (na qual você pode especificar sintaxe, estrutura, tipos de dados e seu modelo em geral).

    Ambos podem ser usados ​​para transferir dados. Naturalmente, para trabalhar com ambos os padrões, são utilizados frameworks diferentes e a sintaxe é diferente.

  4. Quais frameworks para trabalhar com JSON você conhece?

    O nível 33 nos apresentou a estrutura jackson. Além disso, darei mais 3 e um link para um artigo no qual são comparados:

    1. Jackson por FasterXML
    2. JSON.simple por Yidong Fang
    3. GSON do Google
    4. JSONP da Oracle

    Comparando bibliotecas Java para trabalhar com JSON: JSON.simple, GSON, Jackson e JSONP

  5. Quais frameworks para trabalhar com XML você conhece?

    Como o XML é um formato de representação de dados, existem tecnologias mais diversas para trabalhar com ele. Darei as tecnologias usadas para serializar objetos Java em XML:

    1. JAXB (incluído em J no JDK)
    2. Stream X

    Link com uma breve visão geral de vários frameworks para trabalhar com xml: JAVA + XML

  6. Que anotações de Jackson você conhece?

    Vejamos aqueles que foram usados ​​nas palestras:

    • @JsonAutoDetect - colocado na frente da turma. Diz a Jackson para usar os campos desta classe ao escrever ou ler. Entre parênteses, você pode definir um parâmetro (fieldVisibility = JsonAutoDetect.Visibility.ANY) para configurar a visibilidade dos campos que serão utilizados (por padrão, apenas campos públicos são utilizados).
    • @JsonIgnore – colocado antes do campo. Diz a Jackson para ignorar este campo ao ler/escrever.
    • @JsonProperty – Colocado antes do campo, getter ou setter. Permite especificar um nome de campo diferente durante a serialização.
    • @JsonWriteNullProperties – Colocado na frente da classe. Os campos de objeto nulos não serão ignorados.
    • @JsonPropertyOrder – Colocado na frente da classe. permite definir a ordem em que os campos de um objeto java serão serializados para JSON.
    • @JsonDeserialize – Colocado antes do campo. Permite definir a classe na qual o objeto JSON será desserializado. Por exemplo, em java, arrays e listas são serializados em arrays e, durante a desserialização, podemos escolher exatamente o que queremos receber.

    Aqui está um link para um site com algumas anotações: Jackson Annotations

  7. Quais anotações JAXB você conhece?

    Também analisarei apenas aqueles que foram utilizados na palestra:

    • @XmlRootElement – ​​Colocado antes da classe. Indica que este objeto pode ser um elemento de nível superior, ou seja, todos os outros elementos estão dentro dele.
    • @XmlType – Colocado antes da classe. Adiciona informações adicionais ao esquema XML. Você pode especificar alguns atributos, como ordem dos elementos, nome, etc.
    • @XmlElement – ​​Colocado antes do campo. Permite definir o nome do elemento xml, valor padrão, etc.
    • @XmlAttribute – Colocado antes do campo. O campo será representado como um atributo XML.
    • @XmlElementWrapper – Colocado antes do campo ou getter. Permite criar uma marca de borda para um grupo de elementos.
    • @XmlJavaTypeAdapter – Colocado antes da classe. A classe do adaptador auxiliar necessária para empacotar/desempacotar esta classe é indicada entre parênteses.
    • @XmlEnum – colocado antes de enum. Entre parênteses você pode especificar o tipo em que os valores enum serão representados.
    • @XmlEnumValue — colocado antes do valor enum. Permite especificar um valor especial para um determinado valor enum.

    Aqui está um link para um site com algumas anotações (peço desculpas por não ter conseguido criar uma tradução correta para as anotações, a informação é compreensível, mas não tenho a menor ideia de como dizê-la corretamente em russo): https: // jaxb.java.net/tutorial/index.html

  8. Qual é a diferença entre serialização e desserialização em JSON?

    Não entendi a essência da pergunta. Não vejo sentido em comparar 2 processos recíprocos. Talvez o objetivo seja comparar JSON e XML; um link para esse tópico é fornecido na próxima pergunta.

  9. Qual é melhor JSON ou XML? Por que?

    Aqui está um ótimo artigo que compara JSON e XML: JSON e XML. O que é melhor?

    Talvez seja impossível dizer que algo é melhor. Ao escolher, você deve observar a tarefa em si e o que será mais eficaz no uso. Além disso, a escolha pode depender das preferências pessoais do desenvolvedor.

  10. O que é DTO?

    DTO (Data Transfer Object) é um padrão de design que contém dados sem qualquer lógica para trabalhar com eles. DTOs são normalmente usados ​​para transferir dados entre diferentes aplicativos ou entre camadas dentro do mesmo aplicativo. Eles podem ser vistos como um repositório de informações cujo único propósito é transmitir essas informações ao destinatário.

Nível 33. Respostas às perguntas da entrevista sobre o tema do nível - 2
Atualizado em 10/11/2016 às 15h50

questões nº 2, nº 3 corrigidas, conforme comentário

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION