10 câu hỏi cần phải biết khi phỏng vấn VueJS ?
Chào mọi người, là một Front-end developer mình nghĩ chúng ta đã quá quen thuộc với framework dùng để xây dựng giao diện rồi đúng không, framework là vũ khí sở trường của mỗi Front-end developer chúng ta. Hôm nay, mình sẽ trọng tâm vào VueJS và đặc biệt giới thiệu đến các bạn bộ 10 câu hỏi thường gặp khi các bạn đi phỏng vấn VueJS. Nào hãy cùng mình điểm qua bộ câu hỏi phỏng vấn VueJS dưới đây nhé !
1. Kể tên các features mà của VueJS?
Với VueJS framework, hỗ trợ mang đến bộ các tính năng (features) :
- Templates.
- Reactivity.
- Components.
- Transitions.
- Routing.
2. Life cycles của một đối tượng VueJS?
Life cycles nghe quen thuộc đúng không nào, nó được hiểu là vòng đời của một đối tượng trong VueJS. Từ lúc được khởi tạo, thực hiện, cập nhật và cho đến khi đối tượng đó được hủy đi. Với các giai đoạn kể trên VueJS cung cấp cho chúng ta lần lượt tương ứng với các hooks: beforeCreate, created, beforeMount, mounted, beforeUpdate, updated, và beforeDestroy, destroyed.
3. Giải thích sự khác biệt giữa one-way data và two-way data trong VueJS?
Trong luồng one-way binding, phần view (giao diện) của ứng dụng không tự động cập nhật khi mô hình dữ liệu thay đổi, chúng tôi cần viết một số mã tùy chỉnh để cập nhật nó mỗi khi Model dữ liệu được thay đổi. Trong Vue js v-bind được sử dụng cho one-way hoặc binding. Trong luồng two-way binding, phần view (giao diện) của ứng dụng sẽ tự động cập nhật khi Model dữ liệu được thay đổi. Trong Vue.js, chỉ thị v-model được sử dụng để liên kết dữ liệu hai chiều.
4. Cho biết về Filters trong VueJS?
Phương thức Filter trong VueJS cho phép chúng ta đăng kí một bộ lọc tùy chỉnh giúp chúng ta định dạng, biến đổi,… trước khi render ra giao diện.
5. Component trong VueJS? Cách đăng kí một Component bên trong một Component khác?
Component là một trong những tính năng và đặc biệt quan trong trong VueJS. Nó hỗ trợ chúng ta thể hiện các thành phần HTML. Với Component giúp chúng ta tái sử dụng nó ở nhiều nơi trong dự án, điều đó giúp code trông sạch sẽ, ngắn hơn và đặc biệt là đồng bộ với nhau hơn.
6. Khái niệm Virtual DOM trong VueJS?
Virtual DOM trong Vue là một đối tượng JavaScript đại diện cho Document Object Model (DOM). Áp dụng cơ chế cập nhật Virtual DOM thay vì thay đổi DOM trực tiếp. Vì vậy, nó giảm thiểu chi phí cập nhật của DOM thực, từ đó giúp cải thiện hiệu xuất làm cho tốc độ tối ưu tốt hơn . Virtual DOM cung cấp khả năng kiểm soát thời gian mà Virtual DOM được hiển thị. Virtual DOM sẽ chỉ duy trì trạng thái của dữ liệu mà không kết xuất lại cho đến khi bạn chọn nó.
7. Tại sao chúng ta phải cần VueJS mixins?
Với khái niệm Mixin trong Vue JS là một đoạn code logic xác định được lưu trữ theo một cách cụ thể. Nó có thể được tái sử dụng lại nhiều lần để thêm chức năng cho các thể hiện và thành phần Vue của bạn. Điều quan trọng là chúng ta cần Vue JS bởi vì:
- Bạn có thể dễ dàng tuân thủ nguyên tắc KHÔ với mixin. Nó đảm bảo rằng bạn không lặp lại chính mình.
- Bạn nhận được rất nhiều sự linh hoạt với mixin. Mixin chứa các tùy chọn cho các thành phần Vue.
- Mixin an toàn và chúng không ảnh hưởng đến những thay đổi bên ngoài phạm vi xác định của chúng.
- Mixin trong Vue JS là một nền tảng tuyệt vời cho khả năng tái sử dụng mã.
8. Vuex là gì?
VueX là một lib (thư viện) và state management pattern (được hiểu là quản lí trạng thái) cho ứng dụng sử dụng Vue JS, nó hoạt động như một kho lưu trữ tập trung cho tất cả các thành phần khác nhau trong ứng dụng Vue JS của bạn. Nó có thể được tích hợp với phần mở rộng devtool chính thức của Vue để cung cấp các tính năng bổ sung. Vuex chủ yếu giúp giải quyết vấn đề quản lý state với chi phí của nhiều concept và bản quy trình hơn.
9. Props trong component là gì?
Mỗi thành phần trong component đều có phạm vi riêng biệt của nó. Chính vì vậy, bạn không thể (và tuyệt đối không nên) tham chiếu trực tiếp dữ liệu của component cha trong mẫu của component con. Dữ liệu có thể được truyền cho các component bằng cách sử dụng props. Props là các thuộc tính tùy chỉnh mà bạn có thể đăng ký trên một component. Khi một giá trị được chuyển cho một thuộc tính props, nó sẽ trở thành một thuộc tính trên cá thể của chính component đó.
10. Nêu sự khác biệt giữa V-bind và V-model.
V-model là một ràng buộc hai chiều (two-way binding) cho các form inputs. Và nó sẽ giống tương tự với kết hợp: V-bind mang lại giá trị js vào đánh dấu và V-on: input để cập nhật giá trị js . Tuy nhiên, một lời khuyến cáo cho case này là hãy sử dụng v-model khi có thể và có thể ứng dụng V-bind kết hợp V-on khi bắt buộc phải dùng đến nó.
Qua bộ 10 câu hỏi thường gặp khi phỏng vấn VueJS ở trên, mình hy vọng nó là một hành trang về VueJS và có thể giúp ích cho các bạn khi đi phỏng vấn.
Chúc các bạn thành công nhé!
Lộ Trình Học Front-End Từ Căn Bản Đến Nâng Cao
Khoá học lập trình
Frontend Master
Lộ trình học hơn 7 tháng và hoàn thành 5 dự án thực tế. Môi trường học như khi bạn đi làm.