JavaRush /Java блогу /Random-KY /33-деңгээл. Деңгээлдеги тема боюнча интервью суроолоруна ...
Afli
Деңгээл
Санкт-Петербург

33-деңгээл. Деңгээлдеги тема боюнча интервью суроолоруна жооптор

Группада жарыяланган
Суроолор/кошумчалар/сын кабыл алынат. 33-деңгээл. Деңгээлдин темасы боюнча интервью суроолоруна жооптор - 1
  1. JSON деген эмне?

    JSON (JavaScript Object Notation) JavaScript программалоо тorнин бир бөлүгүнө негизделген жөнөкөй маалымат алмашуу форматы.

  2. Java жана JavaScript ортосунда кандай айырмачылыктар бар?

    Булар аталыштарынын окшоштугуна карабастан, эки башка программалоо тor. Экөө тең С сыяктуу синтаксиске ээ. айырмачылыктар төмөнкүдөй:

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

    Шилтеме үчүн текстиңиз...

  3. JSON менен XML ортосунда кандай айырмачылыктар бар?

    JSON маалымат алмашуу форматы болуп саналат.

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

    Алардын экөө тең маалыматтарды өткөрүп берүү үчүн колдонулушу мүмкүн. Албетте, эки стандарт менен иштөө үчүн ар кандай алHowтар ​​колдонулат жана синтаксиси ар башка.

  4. JSON менен иштөө үчүн кандай алHowтарды билесиз?

    33-деңгээл бизди Джексон алHowтары менен тааныштырды. Мындан тышкары, мен дагы 3 берем, жана алар салыштырылган макалага шилтеме:

    1. Джексон FasterXML тарабынан
    2. JSON.simple by Yidong Fang
    3. Google'дан GSON
    4. Oracle'дан JSONP

    JSON менен иштөө үчүн Java китепканаларын салыштыруу: JSON.simple, GSON, Джексон жана JSONP

  5. XML менен иштөө үчүн кандай алHowтарды билесиз?

    XML маалыматтарды көрсөтүү форматы болгондуктан, аны менен иштөө үчүн дагы түрдүү технологиялар бар. Мен Java an objectтерин XMLге сериялаштыруу үчүн колдонулган технологияларды берем:

    1. JAXB (JDK ичинде J камтылган)
    2. Xstream

    xml менен иштөө үчүн ар кандай алHowтардын кыскача баяндамасы менен шилтеме: JAVA + XML

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

    Лекцияларда колдонулгандарды карап көрөлү:

    • @JsonAutoDetect - класстын алдына коюлган. Джексонго жазганда же окуганда ушул класстын талааларын колдонууну айтат. Кашанын ичинде сиз колдонула турган талаалардын көрүнүшүн конфигурациялоо үчүн параметрди (fieldVisibility = JsonAutoDetect.Visibility.ANY) орното аласыз (демейки боюнча, жалпы талаалар гана колдонулат).
    • @JsonIgnore - талаанын алдына коюлган. Джексонго окуу/жазууда бул талаага көңүл бурбоосун айтат.
    • @JsonProperty - Талаанын, алуучунун же сетердин алдында жайгаштырылган. Сериялаштыруу учурунда башка талаа атын көрсөтүүгө мүмкүндүк берет.
    • @JsonWriteNullProperties - Класстын алдына коюлган. Нөл болгон an object талаалары этибарга алынbyte.
    • @JsonPropertyOrder - Класстын алдына коюлган. java an objectинин талаалары JSONге сериялаштырылуучу тартипти аныктоого мүмкүндүк берет.
    • @JsonDeserialize - Талаанын алдына коюлган. JSON an objectиси сериядан ажыратылган классты аныктоого мүмкүндүк берет. Мисалы, javaда массивдер жана тизмелер массивдерге серияланат жана сериядан чыгаруу учурунда биз так эмнени алгыбыз келгенин тандай алабыз.

    Бул жерде кээ бир annotationлары бар сайтка шилтеме: Джексон Аннотациялары

  7. Сиз кайсы JAXB annotationларын билесиз?

    Мен ошондой эле лекцияда колдонулгандарды гана талдайм:

    • @XmlRootElement - класстын алдында жайгаштырылган. Бул an object жогорку деңгээлдеги элемент болушу мүмкүн экенин көрсөтөт, б.а. бардык башка элементтер анын ичинде жатат.
    • @XmlType - класстын алдында жайгаштырылган. XML схемасына кошумча маалымат кошот. Сиз кээ бир атрибуттарды көрсөтсөңүз болот, мисалы, элементтердин тартиби, аты ж.б.
    • @XmlElement - талаанын алдына коюлган. xml элементинин атын, демейки маанини ж.б. коюуга мүмкүндүк берет.
    • @XmlAttribute - талаанын алдында жайгаштырылган. Талаа XML атрибуту катары көрсөтүлөт.
    • @XmlElementWrapper - талаанын же алуучунун алдына коюлган. Элементтер тобу үчүн чек тегин түзүүгө мүмкүндүк берет.
    • @XmlJavaTypeAdapter - класстын алдында жайгаштырылган. Бул классты маршалдаштыруу/ажыратуу үчүн зарыл болгон көмөкчү адаптер классы кашаанын ичинде көрсөтүлгөн.
    • @XmlEnum - Enum алдында жайгаштырылган. кашаанын ичинде сиз энум маанилери көрсөтүлө турган түрүн көрсөтө аласыз.
    • @XmlEnumValue - Enum маанисинен мурун жайгаштырылган. Берилген энум мааниси үчүн өзгөчө маанини көрсөтүүгө мүмкүндүк берет.

    Бул жерде кээ бир annotationлары бар сайтка шилтеме (annotationларга туура котормо түзө албаганым үчүн кечирим сурайм, маалымат түшүнүктүү, бирок мен аны орусча кантип туура айтууну таптакыр билбейм): https: // jaxb.java.net/tutorial/index .html

  8. JSONде сериялаштыруу менен сериялаштыруу ортосунда кандай айырма бар?

    Мен суроонун маңызын түшүнгөн жокмун. Мен 2 өз ара процессти салыштыруунун эч кандай мааниси жок. Балким, бул JSON жана XML салыштыруу үчүн арналган; бул темага шилтеме кийинки суроодо берилген.

  9. JSON же XML кайсынысы жакшы? Неге?

    Бул жерде JSON менен XMLди салыштырган сонун макала: JSON жана XML. Эмне жакшыраак?

    Балким, бир нерсе жакшыраак деп айтуу мүмкүн эмес. Тандоодо, сиз тапшырманын өзүнө жана колдонууда кандай натыйжалуураак болорун карап чыгышыңыз керек. Мындан тышкары, тандоо иштеп чыгуучунун жеке каалоосуна жараша болушу мүмкүн.

  10. DTO деген эмне?

    DTO (Data Transfer Object) бул аны менен иштөө үчүн эч кандай логикасы жок маалыматтарды камтыган дизайн үлгүсү. DTOлар, адатта, ар кандай тиркемелер арасында же бир эле тиркеме ичиндеги катмарлардын ортосунда маалыматтарды өткөрүү үчүн колдонулат. Аларды маалыматтын репозиторийси катары кароого болот, алардын бирден-бир максаты ошол маалыматты алуучуга жеткирүү.

33-деңгээл. Деңгээлдин темасы боюнча интервью суроолоруна жооптор - 2
Жаңыланды 11/10/2016 15.50

№2, №3 суроолор оңдолуп, комментарийге ылайык

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION