JavaRush /Java Blog /Random-TL /Antas 33. Mga sagot sa mga tanong sa panayam sa antas ng ...
Afli
Antas
Санкт-Петербург

Antas 33. Mga sagot sa mga tanong sa panayam sa antas ng paksa

Nai-publish sa grupo
Ang mga tanong/dagdag/pagpuna ay malugod na tinatanggap. Уровень 33. Ответы на вопросы к собеседованию по теме уровня - 1
  1. Ano ang JSON?

    Ang JSON (JavaScript Object Notation) ay isang simpleng format ng pagpapalitan ng data batay sa isang subset ng JavaScript programming language.

  2. Ano ang mga pagkakaiba sa pagitan ng Java at JavaScript?

    Ito ay 2 magkaibang programming language, sa kabila ng pagkakapareho ng kanilang mga pangalan. Pareho silang may C-like syntax. Ang mga pagkakaiba ay ang mga sumusunod:

    • Ang Java ay nagpapatupad ng isang OOP na diskarte batay sa mga klase, JavaScript - sa mga prototype;
    • Ang Java ay may static na pag-type, ang JavaScript ay may dynamic na pag-type;
    • Ang Java ay na-load mula sa pinagsama-samang bytecode; Ang JavaScript ay direktang binibigyang kahulugan mula sa file.

    Iyong text para i-link...

  3. Ano ang mga pagkakaiba sa pagitan ng JSON at XML?

    Ang JSON ay isang format ng palitan ng data.

    Ang XML ay isang markup language (kung saan maaari mong tukuyin ang syntax, istraktura, mga uri ng data, at ang kanilang modelo sa pangkalahatan).

    Pareho sa kanila ay maaaring gamitin upang maglipat ng data. Naturally, upang gumana sa parehong mga pamantayan, iba't ibang mga balangkas ang ginagamit at ang syntax ay iba.

  4. Anong mga balangkas para sa pagtatrabaho sa JSON ang alam mo?

    Ipinakilala sa amin ng Level 33 ang jackson framework. Bilang karagdagan, magbibigay ako ng 3 pa, at isang link sa isang artikulo kung saan inihahambing ang mga ito:

    1. Jackson ng FasterXML
    2. JSON.simple ni Yidong Fang
    3. GSON mula sa Google
    4. JSONP mula sa Oracle

    Paghahambing ng mga library ng Java para sa pagtatrabaho sa JSON: JSON.simple, GSON, Jackson at JSONP

  5. Anong mga balangkas para sa pagtatrabaho sa XML ang alam mo?

    Dahil ang XML ay isang format ng representasyon ng data, mayroong mas magkakaibang mga teknolohiya para sa pagtatrabaho dito. Ibibigay ko ang mga teknolohiyang ginamit sa pag-serialize ng mga bagay sa Java sa XML:

    1. JAXB (kasama sa J sa JDK)
    2. Xstream

    Mag-link sa isang maikling pangkalahatang-ideya ng iba't ibang mga framework para sa pagtatrabaho sa xml: JAVA + XML

  6. Anong mga anotasyon ni Jackson ang alam mo?

    Tingnan natin ang mga ginamit sa mga lektura:

    • @JsonAutoDetect - inilagay sa harap ng klase. Sinabihan si Jackson na gamitin ang mga field ng klase na ito kapag nagsusulat o nagbabasa. Sa panaklong, maaari kang magtakda ng parameter (fieldVisibility = JsonAutoDetect.Visibility.ANY) para i-configure ang visibility ng mga field na gagamitin (bilang default, mga pampublikong field lang ang ginagamit).
    • @JsonIgnore - inilagay bago ang field. Sinabihan si Jackson na huwag pansinin ang field na ito kapag nagbabasa/nagsusulat.
    • @JsonProperty - Inilagay bago ang field, getter o setter. Binibigyang-daan kang tumukoy ng ibang pangalan ng field sa panahon ng serialization.
    • @JsonWriteNullProperties - Inilagay sa harap ng klase. Ang mga field ng object na null ay hindi papansinin.
    • @JsonPropertyOrder - Inilagay sa harap ng klase. nagbibigay-daan sa iyo na tukuyin ang pagkakasunud-sunod kung saan ang mga field ng isang java object ay isa-serialize sa JSON.
    • @JsonDeserialize - Inilagay bago ang field. Binibigyang-daan kang tukuyin ang klase kung saan na-deserialize ang object ng JSON. Halimbawa, sa java, ang mga array at listahan ay naka-serialize sa mga array, at sa panahon ng deserialization, maaari nating piliin kung ano ang eksaktong gusto nating matanggap.

    Narito ang isang link sa isang site na may ilang anotasyon: Jackson Anotasyon

  7. Anong mga anotasyon ng JAXB ang alam mo?

    Так же разберу только те, которые использовались в лекции:

    • @XmlRootElement — Ставится перед классом. Указывает на то, что этот an object может быть, элементом самого верхнего уровня, т.е. все остальные элементы лежат в нем.
    • @XmlType — Ставится перед классом. Добавляет в XML-схему дополнительную информацию. Можно указать некоторые атрибуты, например порядок элементов Name и тд.
    • @XmlElement — Ставится перед полем. Позволяет задать Name xml-element, meaning по умолчанию и т.д.
    • @XmlAttribute — Ставится перед полем. Поле будет представлено How XML-атрибут.
    • @XmlElementWrapper — Ставится перед полем, либо геттером. Позволяет создать обрамляющий тэг для группы элементов.
    • @XmlJavaTypeAdapter — Ставится перед классом. В скобках указывается вспомогательный класс-адаптер, необходимый для маршorзации/демаршализации данного класса.
    • @XmlEnum — Ставится перед enum. В скобках можно указать тип, в котором будут представлены значения enum.
    • @XmlEnumValue — Ставится перед meaningм enum. Позволяет задать специальное meaning для данного значения enum.

    Вот link на сайт с некоторыми annotationми (извиняюсь, что не сумел составить корректный перевод для аннотаций, информация воспринимается для понимания, но совершенно не представляю, How это грамотно сказать на русском): https://jaxb.java.net/tutorial/index.html

  8. В чем отличие сериализации и десериализации в JSON?

    Не понял суть вопроса. Сравнивать 2 взаимообратных процесса смысла не вижу. Возможно имелось ввиду сравнение JSON и XML, на эту тему в следующем вопросе приведена link.

  9. What лучше JSON or XML? Почему?

    Вот отличная статья, в которой сравнивается JSON и XML: JSON и XML. What лучше?

    Пожалуй, нельзя говорить, что что-то лучше. При выборе стоит смотреть на саму задачу и то, что будет эффективнее в использовании. Плюс, выбор может зависеть от личных предпочтений разработчика.

  10. What такое DTO?

    DTO (Data Transfer Object) — паттерн проектирования содержащий данные без Howой-либо логики для работы с ними. DTO обычно используются для передачи данных между различными applicationsми, либо между слоями внутри одного applications. Их можно рассматривать How хранorще информации, единственная цель которого — передать эту информацию получателю.

Уровень 33. Ответы на вопросы к собеседованию по теме уровня - 2
Обновлено 10.11.2016 в 15.50

исправлены вопросы №2, №3, согласно замечанию

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION