JavaRush /Java 博客 /Random-ZH /第 33 级。有关该级别主题的面试问题的答案
Afli
第 41 级
Санкт-Петербург

第 33 级。有关该级别主题的面试问题的答案

已在 Random-ZH 群组中发布
欢迎提问/补充/批评。 第 33 级。有关第 1 级主题的面试问题的答案
  1. 什么是 JSON?

    JSON(JavaScript 对象表示法)是一种基于 JavaScript 编程语言子集的简单数据交换格式。

  2. Java 和 JavaScript 有什么区别?

    尽管名称相似,但它们是两种不同的编程语言。它们都具有类似 C 的语法。差异如下:

    • Java 实现了基于类的 OOP 方法,JavaScript 则基于原型;
    • Java 有静态类型,JavaScript 有动态类型;
    • Java是从编译后的字节码加载的;JavaScript 直接从文件解释。

    您要链接的文字...

  3. JSON 和 XML 有什么区别?

    JSON 是一种数据交换格式。

    XML 是一种标记语言(您可以在其中指定语法、结构、数据类型及其一般模型)。

    两者都可以用来传输数据。当然,为了使用这两种标准,需要使用不同的框架并且语法也不同。

  4. 您知道哪些使用 JSON 的框架?

    第33级向我们介绍了jackson框架。此外,我将给出另外 3 个,以及对它们进行比较的文章的链接:

    1. 杰克逊(FasterXML)
    2. JSON.simple 作者:Yidong Fang
    3. 来自谷歌的GSON
    4. 来自 Oracle 的 JSONP

    比较用于处理 JSON 的 Java 库:JSON.simple、GSON、Jackson 和 JSONP

  5. 您知道哪些使用 XML 的框架?

    由于 XML 是一种数据表示格式,因此有更多不同的技术可以使用它。我将给出用于将 Java 对象序列化为 XML 的技术:

    1. JAXB(包含在JDK中的J中)
    2. 流媒体

    链接与使用 xml 的各种框架的简要概述:JAVA + XML

  6. 你知道哪些杰克逊注释?

    让我们看看讲座中使用的那些:

    • @JsonAutoDetect - 放置在类的前面。告诉 Jackson 在写作或阅读时使用此类的字段。在括号中,您可以设置一个参数(fieldVisibility = JsonAutoDetect.Visibility.ANY)来配置将使用的字段的可见性(默认情况下,仅使用公共字段)。
    • @JsonIgnore - 放置在字段之前。告诉杰克逊在读/写时忽略该字段。
    • @JsonProperty - 放置在字段、getter 或 setter 之前。允许您在序列化期间指定不同的字段名称。
    • @JsonWriteNullProperties - 放置在类的前面。为空的对象字段不会被忽略。
    • @JsonPropertyOrder - 放置在班级前面。允许您定义 java 对象的字段序列化为 JSON 的顺序。
    • @JsonDeserialize - 放置在字段之前。允许您定义 JSON 对象反序列化到的类。例如,在java中,数组和列表被序列化为数组,在反序列化过程中,我们可以选择我们到底想要接收什么。

    以下是带有一些注释的网站的链接:Jackson Annotations

  7. 您了解哪些 JAXB 注释?

    我还将仅分析讲座中使用的那些:

    • @XmlRootElement - 放置在类之前。表示该对象可以是顶级元素,即 所有其他元素都在其中。
    • @XmlType - 放置在类之前。向 XML 架构添加附加信息。您可以指定一些属性,例如元素的顺序、名称等。
    • @XmlElement - 放置在字段之前。允许您设置 xml 元素名称、默认值等。
    • @XmlAttribute - 放置在字段之前。该字段将表示为 XML 属性。
    • @XmlElementWrapper - 放置在字段或 getter 之前。允许您为一组元素创建边框标签。
    • @XmlJavaTypeAdapter - 放置在类之前。编组/解组此类所需的辅助适配器类在括号中指示。
    • @XmlEnum - 放置在枚举之前。在括号中,您可以指定表示枚举值的类型。
    • @XmlEnumValue — 放置在枚举值之前。允许您为给定的枚举值指定特殊值。

    这是一个带有一些注释的网站的链接(我很抱歉无法为注释创建正确的翻译,这些信息是可以理解的,但我完全不知道如何用俄语正确地说出它):https: // jaxb.java.net/tutorial/index .html

  8. JSON中的序列化和反序列化有什么区别?

    我不明白问题的本质。我认为比较两个相互过程没有任何意义。也许这是为了比较 JSON 和 XML;下一个问题提供了指向该主题的链接。

  9. JSON 和 XML 哪个更好?为什么?

    这是一篇比较 JSON 和 XML 的精彩文章:JSON 和 XML。什么更好?

    也许不可能说某件事更好。在选择的时候,你应该看看任务本身,以及什么在使用上会更有效。另外,选择可能取决于开发人员的个人喜好。

  10. 什么是 DTO?

    DTO(数据传输对象)是一种包含数据但没有任何处理数据的逻辑的设计模式。DTO 通常用于在不同应用程序之间或同一应用程序内的层之间传输数据。它们可以被视为信息存储库,其唯一目的是将信息传达给接收者。

第 33 级。关于第 2 级主题的面试问题的答案
更新于 2016 年 11 月 10 日 15:50

根据评论纠正了第2、3号问题

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