JavaRush /Java Blog /Random-TW /第 33 級。有關該級別主題的面試問題的答案
Afli
等級 41
Санкт-Петербург

第 33 級。有關該級別主題的面試問題的答案

在 Random-TW 群組發布
歡迎提問/補充/批評。 第 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. 來自Google的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