JavaRush /Blog Java /Random-VI /Cấp độ 33. Trả lời các câu hỏi phỏng vấn về chủ đề cấp độ...
Afli
Mức độ
Санкт-Петербург

Cấp độ 33. Trả lời các câu hỏi phỏng vấn về chủ đề cấp độ

Xuất bản trong nhóm
Câu hỏi/bổ sung/phê bình đều được chào đón. Cấp độ 33. Trả lời câu hỏi phỏng vấn về chủ đề cấp độ - 1
  1. JSON là gì?

    JSON (Ký hiệu đối tượng JavaScript) là một định dạng trao đổi dữ liệu đơn giản dựa trên một tập hợp con của ngôn ngữ lập trình JavaScript.

  2. Sự khác biệt giữa Java và JavaScript là gì?

    Đây là 2 ngôn ngữ lập trình khác nhau dù có tên giống nhau. Cả hai đều có cú pháp giống C. Sự khác biệt như sau:

    • Java triển khai cách tiếp cận OOP dựa trên các lớp, JavaScript - trên các nguyên mẫu;
    • Java có kiểu gõ tĩnh, JavaScript có kiểu gõ động;
    • Java được tải từ mã byte đã biên dịch; JavaScript được diễn giải trực tiếp từ tệp.

    Văn bản của bạn cần liên kết...

  3. Sự khác biệt giữa JSON và XML là gì?

    JSON là một định dạng trao đổi dữ liệu.

    XML là ngôn ngữ đánh dấu (trong đó bạn có thể chỉ định cú pháp, cấu trúc, kiểu dữ liệu và mô hình của chúng nói chung).

    Cả hai đều có thể được sử dụng để truyền dữ liệu. Đương nhiên, để làm việc với cả hai tiêu chuẩn, các khung công tác khác nhau được sử dụng và cú pháp cũng khác nhau.

  4. Bạn biết những framework nào để làm việc với JSON?

    Cấp 33 đã giới thiệu cho chúng tôi khung jackson. Ngoài ra, tôi sẽ cung cấp thêm 3 cái nữa và một liên kết đến một bài viết trong đó chúng được so sánh:

    1. Jackson bởi FasterXML
    2. JSON.simple của Yidong Fang
    3. GSON từ Google
    4. JSONP từ Oracle

    So sánh các thư viện Java để làm việc với JSON: JSON.simple, GSON, Jackson và JSONP

  5. Bạn biết những framework nào để làm việc với XML?

    Vì XML là định dạng biểu diễn dữ liệu nên có nhiều công nghệ đa dạng hơn để làm việc với nó. Tôi sẽ cung cấp các công nghệ được sử dụng để tuần tự hóa các đối tượng Java thành XML:

    1. JAXB (có trong J trong JDK)
    2. Xstream

    Liên kết với tổng quan ngắn gọn về các khung làm việc khác nhau với xml: JAVA + XML

  6. Bạn biết những chú thích nào của Jackson?

    Chúng ta hãy xem những gì đã được sử dụng trong các bài giảng:

    • @JsonAutoDetect - đặt trước lớp. Yêu cầu Jackson sử dụng các trường của lớp này khi viết hoặc đọc. Trong dấu ngoặc đơn, bạn có thể đặt tham số (fieldVisibility = JsonAutoDetect.Visibility.ANY) để định cấu hình mức độ hiển thị của các trường sẽ được sử dụng (theo mặc định, chỉ các trường công khai mới được sử dụng).
    • @JsonIgnore - được đặt trước trường. Yêu cầu Jackson bỏ qua trường này khi đọc/viết.
    • @JsonProperty - Được đặt trước trường, getter hoặc setter. Cho phép bạn chỉ định tên trường khác trong quá trình tuần tự hóa.
    • @JsonWriteNullProperties - Đặt trước lớp. Các trường đối tượng rỗng sẽ không bị bỏ qua.
    • @JsonPropertyOrder - Đặt trước lớp. cho phép bạn xác định thứ tự các trường của đối tượng java sẽ được tuần tự hóa thành JSON.
    • @JsonDeserialize - Đặt trước trường. Cho phép bạn xác định lớp mà đối tượng JSON được giải tuần tự hóa. Ví dụ: trong java, các mảng và danh sách được tuần tự hóa thành các mảng và trong quá trình giải tuần tự hóa, chúng ta có thể chọn chính xác những gì chúng ta muốn nhận.

    Đây là liên kết tới một trang web có một số chú thích: Jackson Annotations

  7. Bạn biết những chú thích JAXB nào?

    Tôi cũng sẽ chỉ phân tích những thứ được sử dụng trong bài giảng:

    • @XmlRootElement - Đặt trước lớp. Cho biết đối tượng này có thể là phần tử cấp cao nhất, tức là tất cả các yếu tố khác đều nằm trong đó.
    • @XmlType - Đặt trước lớp. Thêm thông tin bổ sung vào lược đồ XML. Bạn có thể chỉ định một số thuộc tính, chẳng hạn như thứ tự các phần tử, tên, v.v.
    • @XmlElement - Được đặt trước trường. Cho phép bạn đặt tên thành phần xml, giá trị mặc định, v.v.
    • @XmlAttribution - Được đặt trước trường. Trường này sẽ được biểu diễn dưới dạng thuộc tính XML.
    • @XmlElementWrapper - Được đặt trước trường hoặc getter. Cho phép bạn tạo thẻ viền cho một nhóm phần tử.
    • @XmlJavaTypeAdapter - Đặt trước lớp. Lớp bộ điều hợp phụ trợ cần thiết cho việc sắp xếp/sắp xếp lại lớp này được chỉ định trong dấu ngoặc đơn.
    • @XmlEnum - Đặt trước enum. Trong dấu ngoặc đơn, bạn có thể chỉ định loại giá trị enum sẽ được biểu thị.
    • @XmlEnumValue — Được đặt trước giá trị enum. Cho phép bạn chỉ định một giá trị đặc biệt cho một giá trị enum nhất định.

    Đây là liên kết đến một trang web có một số chú thích (tôi xin lỗi vì không thể tạo bản dịch chính xác cho các chú thích, thông tin có thể hiểu được, nhưng tôi hoàn toàn không biết nói chính xác bằng tiếng Nga như thế nào): https:// jaxb.java.net/tutorial/index .html

  8. Sự khác biệt giữa tuần tự hóa và giải tuần tự hóa trong JSON là gì?

    Tôi không hiểu bản chất của câu hỏi. Tôi không thấy có điểm nào khi so sánh 2 quá trình tương hỗ. Có lẽ điều này nhằm so sánh JSON và XML; liên kết đến chủ đề này được cung cấp trong câu hỏi tiếp theo.

  9. JSON hay XML nào tốt hơn? Tại sao?

    Đây là một bài viết hay so sánh JSON và XML: JSON và XML. Cái gì tốt hơn?

    Có lẽ không thể nói rằng cái gì đó tốt hơn. Khi lựa chọn, bạn nên xem xét chính nhiệm vụ đó và điều gì sẽ hiệu quả hơn khi sử dụng. Ngoài ra, sự lựa chọn có thể phụ thuộc vào sở thích cá nhân của nhà phát triển.

  10. DTO là gì?

    DTO (Đối tượng truyền dữ liệu) là một mẫu thiết kế chứa dữ liệu mà không có bất kỳ logic nào để làm việc với nó. DTO thường được sử dụng để truyền dữ liệu giữa các ứng dụng khác nhau hoặc giữa các lớp trong cùng một ứng dụng. Chúng có thể được xem như một kho lưu trữ thông tin với mục đích duy nhất là truyền tải thông tin đó đến người nhận.

Cấp độ 33. Trả lời câu hỏi phỏng vấn về chủ đề cấp độ - 2
Cập nhật ngày 10/11/2016 lúc 15.50

Câu số 2, số 3 chữa theo nhận xét

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION