25 câu hỏi phỏng vấn Backbone.js hàng đầu và câu trả lời
Dưới đây là những câu hỏi phỏng vấn Backbone.js và câu trả lời dành cho cả ứng viên mới và ứng viên có kinh nghiệm để có được công việc mơ ước của mình.
1) Giải thích backbone.js là gì?
Backbone.js là một framework JavaScript phía máy khách (front-end), giúp sắp xếp mã của bạn và giúp phát triển các ứng dụng trang đơn dễ dàng hơn. Nó cho phép bạn cấu trúc mã JavaScript theo kiểu MVC (Model, View, Controller)
- Model: Đây là một phần của mã của bạn dùng để điền và lấy dữ liệu
- Lượt xem: Nó là HTML đại diện của mô hình này
- Người điều khiển: Nó cho phép bạn lưu ứng dụng javascript của mình thông qua một URl hashbang
Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn Backbone.js
2) Các thành phần chính của Backbone.js là gì?
Thành phần chính của Backbone.js là
- Mẫu
- Xem
- Bộ sưu tập
- bộ định tuyến
- Đối tượng lớp sự kiện
3) Giải thích Backbone.js collections là gì?
Một tập hợp các mô hình được sắp xếp được biểu diễn bởi các bộ sưu tập Backbone.js. Bất kỳ sự kiện nào trong mô hình sẽ kích hoạt trực tiếp một sự kiện trong bộ sưu tập. Ví dụ, bạn có thể liên kết sự kiện "thay đổi" để được thông báo trong trường hợp bất kỳ mô hình nào trong bộ sưu tập đã được sửa đổi.
4) Giải thích mục đích sử dụng của bộ định tuyến Backbone.js là gì?
Bất cứ khi nào một ứng dụng muốn thay đổi đoạn URL của mình để cung cấp các URL có thể đánh dấu và chia sẻ cho một Ajax ứng dụng nặng, bộ định tuyến backbone.js được sử dụng.
5) Backbone Events là gì?
Backbone events là một module có thể được trộn vào bất kỳ đối tượng nào, cung cấp cho đối tượng khả năng liên kết và kích hoạt các sự kiện được đặt tên tùy chỉnh. Sự kiện không được khai báo trước khi chúng được liên kết với bất kỳ đối tượng nào. Sự kiện phản ánh trạng thái của mô hình.
6) Những điểm chính của Backbone là gì?
- Nó có sự phụ thuộc chặt chẽ với underscore.js để làm cho nó có chức năng hơn và hỗ trợ một loạt các hoạt động hữu ích dựa trên bộ sưu tập
- Với jQuery nó có sự phụ thuộc mềm
- Khi mô hình thay đổi, nó có thể tự động cập nhật HTML của ứng dụng của bạn
- Nó sử dụng khung kết xuất phía máy khách hoặc mẫu Javascript để kết xuất html giúp bạn tránh nhúng mã HTML vào mã JavaScript
- Đối với các bản cập nhật UI và thao tác DOM, nó cung cấp một cách sạch sẽ và thanh lịch đáng kể
7) Tại sao bạn phải sử dụng Backbone? Ưu điểm?
- Bằng cách sử dụng JavaScript với bộ cấu trúc dữ liệu tối thiểu (mô hình & bộ sưu tập) và giao diện người dùng (lượt xem & URL), bạn có thể phát triển ứng dụng web
- Backbone hữu ích nhất để phát triển các ứng dụng web như MVC, các ứng dụng web một trang hoặc các ứng dụng web JavaScript phức tạp theo cách có tổ chức và có cấu trúc mà không trộn lẫn mã JavaScript với HTML
- Cung cấp ràng buộc giá trị khóa và các sự kiện tùy chỉnh
- API với hàng tấn chức năng
- Xử lý sự kiện mạnh mẽ
- Kết nối API qua RESTful JSON giao diện
8) Ba file js nào là cần thiết để thiết lập môi trường làm việc cho backbone?
bạn được yêu cầu làm theo ba tệp js sau để thiết lập môi trường làm việc cho backbone
- jQuery
- Xương sống
- Gạch dưới
Trong ứng dụng của bạn, hãy đặt các tệp này vào thư mục js và sử dụng nó trong trang index.html của bạn
9) Giải thích khi nào bạn cần Backbone.js?
Backbone.js được yêu cầu trong điều kiện sau
- Khi phát triển một ứng dụng web đòi hỏi nhiều JavaScript
- Nó được yêu cầu khi bạn muốn cung cấp cấu trúc cho mã của mình, nếu ứng dụng của bạn cần có khả năng mở rộng
- Backbone hữu ích khi một ứng dụng web phải làm việc với jQuery để duyệt DOM hoặc cung cấp hình ảnh động
10) Giải thích view trong Backbone.js là gì?
Chế độ xem Backbone là một đối tượng Javascript quản lý một phần tử DOM cụ thể và các phần tử con.
- Lượt xem không phải là HTML
- Đây là mô tả của một mô hình
- Mã HTML xuất phát từ các mẫu
- Hoạt động với bất kỳ hệ thống mẫu nào
11) Giải thích Backbone.js Models là gì?
Các mô hình Backbone.js là đối tượng và cốt lõi của backbone.js. Nó chứa một mảng của các thuộc tính và lắng nghe các sự kiện. Để biểu diễn dữ liệu của bạn, Backbone cung cấp một đối tượng mô hình. Ví dụ, bạn có một danh sách để làm, bạn sẽ có một mô hình đại diện cho từng mục trong danh sách đó.
12) Giải thích cách bạn có thể sử dụng backbone.js cho ứng dụng web nhiều trang?
Đối với ứng dụng web nhiều trang trong backbone.js có rất nhiều điều cần cân nhắc nhưng đây là hai điều có thể hữu ích
- Phục vụ trang: Trong trường hợp này, bạn muốn máy chủ web của mình định tuyến mọi thứ đến máy chủ định tuyến mọi thứ để phục vụ cùng một trang tĩnh. Điều đó có nghĩa là mọi thứ trong http://guru99.com/* sẽ phục vụ /var/www/guru99.com/index.html. Sau khi trang tĩnh được tải, JS trên trang đó sẽ quyết định phải làm gì với url
- Trạng thái đẩy: Bạn vẫn có thể sử dụng backbone routing để thực hiện định tuyến, nhưng đừng sử dụng hashbang. Điều này sẽ cho phép bạn điều hướng đến URL mà không cần thực sự làm mới trang.
13) Giải thích Modelbinder trong Backbone.js là gì?
Để thực hiện quá trình đồng bộ hóa các chế độ xem và mô hình với nhau, lớp ModelBinder được sử dụng.
14) Khả năng mạnh mẽ nhất của ModelBinder là gì?
Khả năng mạnh mẽ nhất của lớp ModelBinder là nó cho phép bạn xác định phạm vi khi bạn tạo ràng buộc bằng jQuery.
- Nếu chế độ xem của bạn đơn giản, bạn có thể dựa vào các quy tắc phạm vi mặc định dựa trên thuộc tính "name" của html.
- Bạn có thể xác định phạm vi bằng bộ chọn jQuery nếu chế độ xem của bạn phức tạp.
15) Giải thích Converter trong Backbone.js là gì?
Một hàm được gọi khi thuộc tính của mô hình được sao chép vào một phần tử html hoặc khi giá trị của phần tử html được sao chép vào thuộc tính của mô hình, hàm này được gọi là Converter trong Backbone.js
16) Model.attributes là gì?
Thuộc tính thuộc tính là hàm băm nội bộ chứa trạng thái của mô hình, thường là dạng đối tượng JSON biểu diễn dữ liệu mô hình trên máy chủ. Thường là tuần tự hóa trực tiếp một hàng từ cơ sở dữ liệu
17) Chức năng của toJSON là gì?
Nó trả về một bản sao nông của thuộc tính mô hình để chuỗi hóa JSON. Hàm này được sử dụng để duy trì, tuần tự hóa và tăng cường trước khi được gửi đến máy chủ. Hàm này không trả về chuỗi JSON
18) Giải thích khi nào bạn có thể sử dụng hàm Unbinding trong Backbone.js?
Khi bạn muốn xóa ràng buộc xác thực trên mô hình hoặc tất cả các mô hình, xóa tất cả các sự kiện được liên kết trên bộ sưu tập, bạn có thể sử dụng hàm Unbinding. Ví dụ: Backbone.Validation.Unbind(xem) [ Thao tác này sẽ xóa ràng buộc xác thực]
19) Có những tùy chọn cấu hình nào?
Các tùy chọn cấu hình có sẵn là
- Hướng dẫn sao chép ban đầu
- mô hìnhSetOptions
- thay đổi Triggers
- Thuộc tính ràng buộc
- ngăn chặnNém
- chuyển đổi
20) Hãy kể những vấn đề điển hình mà bạn có thể gặp phải với mã chế độ xem Backbone?
- Các mô hình ứng dụng không thay đổi thường xuyên
- Các trang ứng dụng thường xuyên được làm mới từ đầu từ máy chủ
- Giữa các mô hình xem khác nhau không được chia sẻ
21) Chức năng của thoát hiểm là gì?
Nó lấy giá trị hiện tại của một thuộc tính từ mô hình nhưng trả về phiên bản thoát HTML của thuộc tính của mô hình. Nó hữu ích trong việc ngăn chặn các cuộc tấn công XSS, nếu bạn đang nội suy dữ liệu từ mô hình vào HTML
22) Giải thích chức năng của phân tích cú pháp là gì?
Bất cứ khi nào dữ liệu của mô hình được máy chủ trả về, trong quá trình lấy và lưu, dữ liệu này được gọi phân tích cú pháp. Backbone gọi phương thức này bất cứ khi nào các mô hình của bộ sưu tập được máy chủ trả về trong quá trình tìm nạp.
23) Backbone.sync được sử dụng để làm gì?
Khi Backbone muốn lưu hoặc đọc một mô hình vào máy chủ, nó sẽ gọi một hàm có tên là Backbone.sync.
24) Trong Backbone View, setElement có tác dụng gì?
Hàm setElement được sử dụng khi chế độ xem Backbone phải được áp dụng cho một phần tử DOM khác.
25) Giải thích model.cid là gì?
Model.cid hoạt động như một định danh duy nhất. Đây là một thuộc tính đặc biệt của các mô hình, cid hoặc id máy khách được tự động gán cho tất cả các mô hình khi chúng được tạo lần đầu tiên. Thuộc tính này hữu ích khi mô hình không được lưu vào máy chủ, nhưng cần phải hiển thị trong UI. Nó lấy từ c1,c2…. Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho viva(orals) của bạn