JavaRush /Java блогы /Random-KK /Деңгей 33. Деңгейлік тақырып бойынша сұхбат сұрақтарына ж...
Afli
Деңгей
Санкт-Петербург

Деңгей 33. Деңгейлік тақырып бойынша сұхбат сұрақтарына жауаптар

Топта жарияланған
Сұрақтар/толықтырулар/сын пікірлер қабылданады. 33-деңгей. Деңгей – 1 тақырыбы бойынша сұхбат сұрақтарына жауаптар
  1. JSON дегеніміз не?

    JSON (JavaScript Object Notation) — JavaScript бағдарламалау тілінің ішкі жиынына негізделген қарапайым деректер алмасу пішімі.

  2. Java және JavaScript арасындағы айырмашылықтар қандай?

    Бұл атауларының ұқсастығына қарамастан, екі түрлі бағдарламалау тілі. Екеуінің де С тәрізді синтаксисі бар. Айырмашылықтары келесідей:

    • Java сыныптарға, JavaScript - прототиптерге негізделген OOP тәсілін жүзеге асырады;
    • Java-да статикалық теру, JavaScript-те динамикалық теру бар;
    • Java компиляцияланған byte codeтан жүктеледі; JavaScript тікелей файлдан түсіндіріледі.

    Сілтеме үшін мәтініңіз...

  3. JSON мен XML арасындағы айырмашылықтар қандай?

    JSON — деректер алмасу пішімі.

    XML - белгілеу тілі (онда синтаксисті, құрылымды, деректер түрлерін және жалпы олардың моделін көрсетуге болады).

    Олардың екеуі де деректерді тасымалдау үшін пайдаланылуы мүмкін. Әрине, екі стандартпен жұмыс істеу үшін әртүрлі фреймворктер қолданылады және синтаксис әртүрлі.

  4. JSON-мен жұмыс істеуге арналған қандай фреймворктарды білесіз?

    33-деңгей бізді Джексон құрылымымен таныстырды. Сонымен қатар, мен тағы 3 және олар салыстырылатын мақалаға сілтеме беремін:

    1. Джексон FasterXML арқылы
    2. JSON. Simple авторы Йидонг Фанг
    3. Google ұсынған GSON
    4. Oracle ұсынған JSONP

    JSON-мен жұмыс істеу үшін Java кітапханаларын салыстыру: JSON.simple, GSON, Джексон және JSONP

  5. XML-мен жұмыс істеуге арналған қандай фреймворктарды білесіз?

    XML мәліметтерді көрсету пішімі болғандықтан, онымен жұмыс істеудің алуан түрлі технологиялары бар. Мен Java нысандарын XML-ге сериялау үшін қолданылатын технологияларды беремін:

    1. JAXB (JDK ішіндегі J ішіне кіреді)
    2. Xstream

    xml-мен жұмыс істеуге арналған әртүрлі фреймворктарға қысқаша шолумен сілтеме: JAVA + XML

  6. Сіз Джексонның қандай annotationларын білесіз?

    Дәрістерде қолданылғандарды қарастырайық:

    • @JsonAutoDetect - сыныптың алдына орналастырылған. Джексонға жазу немесе оқу кезінде осы сыныптың өрістерін пайдалануды айтады. Жақша ішінде пайдаланылатын өрістердің көрінуін конфигурациялау үшін параметрді (fieldVisibility = JsonAutoDetect.Visibility.ANY) орнатуға болады (әдепкі бойынша, тек жалпы өрістер пайдаланылады).
    • @JsonIgnore - өрістің алдында орналастырылған. Джексонға оқу/жазу кезінде бұл өрісті елемеу керектігін айтады.
    • @JsonProperty - өрістің, алушының немесе орнатушының алдында орналастырылған. Серияландыру кезінде басқа өріс атауын көрсетуге мүмкіндік береді.
    • @JsonWriteNullProperties - сыныптың алдына орналастырылған. Нөл болатын нысан өрістері еленбейді.
    • @JsonPropertyOrder - сыныптың алдына орналастырылған. java нысанының өрістерінің JSON ішіне сериялану ретін анықтауға мүмкіндік береді.
    • @JsonDeserialize - өрістің алдында орналастырылған. JSON нысаны сериядан шығарылатын сыныпты анықтауға мүмкіндік береді. Мысалы, java тілінде массивтер мен тізімдер массивтерге серияланады және сериядан шығару кезінде біз нақты нені алғымыз келетінін таңдай аламыз.

    Міне, кейбір annotationлары бар сайтқа сілтеме: Джексон annotationлары

  7. Сіз қандай JAXB annotationларын білесіз?

    Сондай-ақ мен тек дәрісте қолданылғандарды талдаймын:

    • @XmlRootElement - сыныптың алдында орналастырылған. Бұл нысанның жоғарғы деңгейлі элемент болуы мүмкін екенін көрсетеді, яғни. барлық басқа элементтер оның ішінде жатыр.
    • @XmlType - сыныптың алдында орналастырылған. XML схемасына қосымша ақпаратты қосады. Кейбір атрибуттарды көрсетуге болады, мысалы, элементтердің реті, аты, т.б.
    • @XmlElement - өрістің алдында орналастырылған. xml элементінің атын, әдепкі мәнді және т.б. орнатуға мүмкіндік береді.
    • @XmlAttribute - өрістің алдында орналастырылған. Өріс XML төлсипаты ретінде көрсетіледі.
    • @XmlElementWrapper - өрістің немесе алушының алдында орналастырылған. Элементтер тобы үшін жиек тегін жасауға мүмкіндік береді.
    • @XmlJavaTypeAdapter - сыныптың алдында орналастырылған. Бұл сыныпты ретке келтіру/ажырату үшін қажетті көмекші адаптер класы жақшада көрсетілген.
    • @XmlEnum - enum алдында орналастырылған. Жақша ішінде нөмір мәндері ұсынылатын түрін көрсетуге болады.
    • @XmlEnumValue - нөмір мәнінің алдында орналастырылған. Берілген сандық мән үшін арнайы мәнді көрсетуге мүмкіндік береді.

    Міне, кейбір annotationлары бар сайтқа сілтеме (annotationларға дұрыс аударма жасай алмағаным үшін кешірім сұраймын, ақпарат түсінікті, бірақ мен оны орыс тілінде қалай дұрыс айту керектігін мүлдем білмеймін): https: // jaxb.java.net/tutorial/index .html

  8. JSON ішіндегі сериялау мен сериядан шығарудың айырмашылығы неде?

    Мен сұрақтың мәнін түсінбедім. Мен екі өзара процесті салыстырудың мағынасын көрмеймін. Мүмкін бұл JSON және XML салыстыруға арналған; осы тақырыпқа сілтеме келесі сұрақта берілген.

  9. JSON немесе XML қайсысы жақсы? Неліктен?

    Мұнда JSON және XML салыстыратын тамаша мақала: JSON және XML. Не жақсы?

    Бірдеңе жақсырақ деп айту мүмкін емес шығар. Таңдау кезінде сіз тапсырманың өзіне және пайдалануда не тиімдірек болатынына қарауыңыз керек. Сонымен қатар, таңдау әзірлеушінің жеке қалауына байланысты болуы мүмкін.

  10. DTO дегеніміз не?

    DTO (Data Transfer Object) - бұл онымен жұмыс істеу логикасы жоқ деректерді қамтитын дизайн үлгісі. DTO әдетте әртүрлі қолданбалар арасында немесе бір қолданбадағы қабаттар арасында деректерді тасымалдау үшін пайдаланылады. Оларды жалғыз мақсаты сол ақпаратты алушыға жеткізу болып табылатын ақпарат қоймасы ретінде қарастыруға болады.

33-деңгей. Деңгей – 2 тақырыбы бойынша сұхбат сұрақтарына жауаптар
10.11.2016 15.50 жаңартылды

No2, No3 сұрақтар түсініктеме бойынша түзетілді

Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION