JavaRush /Java Blogu /Random-AZ /Səviyyə 33. Səviyyə mövzusu üzrə müsahibə suallarına cava...
Afli
Səviyyə
Санкт-Петербург

Səviyyə 33. Səviyyə mövzusu üzrə müsahibə suallarına cavablar

Qrupda dərc edilmişdir
Suallar/əlavələr/tənqidlər qəbul olunur. Səviyyə 33. Səviyyə - 1 mövzusu üzrə müsahibə suallarına cavablar
  1. JSON nədir?

    JSON (JavaScript Object Notation) JavaScript proqramlaşdırma dilinin alt dəstinə əsaslanan sadə məlumat mübadiləsi formatıdır.

  2. Java və JavaScript arasındakı fərqlər nələrdir?

    Bunlar adlarının oxşarlığına baxmayaraq, 2 fərqli proqramlaşdırma dilidir. Hər ikisinin C-yə bənzər sintaksisi var. Fərqlər aşağıdakılardır:

    • Java siniflərə, JavaScript prototiplərə əsaslanan OOP yanaşmasını həyata keçirir;
    • Java-da statik yazma, JavaScript-də dinamik yazma;
    • Java tərtib edilmiş bayt kodundan yüklənir; JavaScript birbaşa fayldan şərh olunur.

    Əlaqə üçün mətniniz...

  3. JSON və XML arasındakı fərqlər nələrdir?

    JSON məlumat mübadiləsi formatıdır.

    XML işarələmə dilidir (burada sintaksisi, strukturunu, məlumat növlərini və ümumilikdə onların modelini təyin edə bilərsiniz).

    Onların hər ikisi məlumat ötürmək üçün istifadə edilə bilər. Təbii ki, hər iki standartla işləmək üçün müxtəlif çərçivələrdən istifadə olunur və sintaksis fərqlidir.

  4. JSON ilə işləmək üçün hansı çərçivələri bilirsiniz?

    Səviyyə 33 bizi jackson çərçivəsi ilə tanış etdi. Bundan əlavə, daha 3 və onların müqayisə edildiyi bir məqaləyə keçid verəcəyəm:

    1. FasterXML tərəfindən Jackson
    2. Yidong Fang tərəfindən JSON.simple
    3. Google-dan GSON
    4. Oracle-dan JSONP

    JSON ilə işləmək üçün Java kitabxanalarının müqayisəsi: JSON.simple, GSON, Jackson və JSONP

  5. XML ilə işləmək üçün hansı çərçivələri bilirsiniz?

    XML məlumat təqdimetmə formatı olduğundan, onunla işləmək üçün daha müxtəlif texnologiyalar mövcuddur. Java obyektlərini XML-də seriallaşdırmaq üçün istifadə olunan texnologiyaları verəcəyəm:

    1. JAXB (JDK-da J-ə daxildir)
    2. Xstream

    Xml ilə işləmək üçün müxtəlif çərçivələrin qısa icmalı ilə əlaqə: JAVA + XML

  6. Ceksonun hansı annotasiyalarını bilirsiniz?

    Mühazirələrdə istifadə olunanlara nəzər salaq:

    • @JsonAutoDetect - sinfin qarşısında yerləşdirilir. Ceksona yazarkən və ya oxuyarkən bu sinfin sahələrindən istifadə etməsini söyləyir. Mötərizədə siz istifadə olunacaq sahələrin görünməsini konfiqurasiya etmək üçün parametr təyin edə bilərsiniz (fieldVisibility = JsonAutoDetect.Visibility.ANY) (standart olaraq yalnız ictimai sahələr istifadə olunur).
    • @JsonIgnore - sahədən əvvəl yerləşdirilir. Ceksona oxuyarkən/yazarkən bu sahəyə məhəl qoymamasını bildirir.
    • @JsonProperty - Sahədən, alıcıdan və ya təyindən əvvəl yerləşdirilir. Serializasiya zamanı başqa sahə adını göstərməyə imkan verir.
    • @JsonWriteNullProperties - Sinif qarşısında yerləşdirilir. Null olan obyekt sahələri nəzərə alınmayacaq.
    • @JsonPropertyOrder - Sinif qarşısında yerləşdirilir. java obyektinin sahələrinin JSON-da seriallaşdırılacağı sıranı müəyyən etməyə imkan verir.
    • @JsonDeserialize - Sahədən əvvəl yerləşdirilir. JSON obyektinin sıradan çıxarıldığı sinfi müəyyən etməyə imkan verir. Məsələn, java-da massivlər və siyahılar massivlərə seriallaşdırılır və seriyadan çıxarma zamanı biz tam olaraq nə almaq istədiyimizi seçə bilərik.

    Budur bəzi annotasiyaları olan sayta keçid: Jackson Annotations

  7. Hansı JAXB annotasiyalarını bilirsiniz?

    Mən də yalnız mühazirədə istifadə olunanları təhlil edəcəyəm:

    • @XmlRootElement - Sinifdən əvvəl yerləşdirilir. Bu obyektin yuxarı səviyyəli element ola biləcəyini göstərir, yəni. bütün digər elementlər onun daxilindədir.
    • @XmlType - Sinifdən əvvəl yerləşdirilir. XML sxeminə əlavə məlumat əlavə edir. Siz bəzi atributları təyin edə bilərsiniz, məsələn, elementlərin sırası, adı və s.
    • @XmlElement - Sahədən əvvəl yerləşdirilir. Xml elementinin adını, standart dəyərini və s. təyin etməyə imkan verir.
    • @XmlAttribute - Sahədən əvvəl yerləşdirilir. Sahə XML atributu kimi təqdim olunacaq.
    • @XmlElementWrapper - Sahədən və ya alıcıdan əvvəl yerləşdirilir. Elementlər qrupu üçün haşiyə etiketi yaratmağa imkan verir.
    • @XmlJavaTypeAdapter - Sinifdən əvvəl yerləşdirilir. Bu sinfi sıralamaq/açmaq üçün lazım olan köməkçi adapter sinfi mötərizədə göstərilmişdir.
    • @XmlEnum - nömrədən əvvəl yerləşdirilir. Mötərizədə sayma dəyərlərinin təmsil olunacağı növü təyin edə bilərsiniz.
    • @XmlEnumValue — Enum dəyərindən əvvəl yerləşdirilir. Verilmiş enum dəyəri üçün xüsusi bir dəyər təyin etməyə imkan verir.

    Budur bəzi annotasiyalar olan sayta keçid (annotasiyalar üçün düzgün tərcümə yarada bilmədiyim üçün üzr istəyirəm, məlumat başa düşüləndir, amma rus dilində bunu necə düzgün söyləmək barədə heç bir fikrim yoxdur): https: // jaxb.java.net/tutorial/index .html

  8. JSON-da seriallaşdırma və seriyadan çıxarma arasındakı fərq nədir?

    Sualın mahiyyətini başa düşmədim. Mən 2 qarşılıqlı prosesi müqayisə etməyin mənasını görmürəm. Ola bilsin ki, bu, JSON və XML-i müqayisə etmək üçün nəzərdə tutulub; bu mövzuya keçid növbəti sualda verilir.

  9. Hansı daha yaxşıdır JSON və ya XML? Niyə?

    JSON və XML-i müqayisə edən əla məqalə: JSON və XML. Hansı daha yaxşıdır?

    Bəlkə də bir şeyin daha yaxşı olduğunu söyləmək mümkün deyil. Seçərkən, tapşırığın özünə və istifadənin daha təsirli olacağına baxmalısınız. Üstəlik, seçim tərtibatçının şəxsi üstünlüklərindən asılı ola bilər.

  10. DTO nədir?

    DTO (Data Transfer Object) onunla işləmək üçün heç bir məntiqi olmayan məlumatları ehtiva edən dizayn nümunəsidir. DTO-lar adətən müxtəlif proqramlar arasında və ya eyni proqram daxilindəki təbəqələr arasında məlumat ötürmək üçün istifadə olunur. Onları yeganə məqsədi həmin məlumatı alıcıya çatdırmaq olan məlumat anbarı kimi düşünmək olar.

Səviyyə 33. Səviyyə - 2 mövzusu üzrə müsahibə suallarına cavablar
11/10/2016 15.50-də yeniləndi

2, 3 nömrəli suallar şərhə əsasən düzəldilib

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION