Giới thiệu trọn bộ câu hỏi phỏng vấn AngularJS và mẹo trả lời
Bạn có phải là dân IT hay chỉ đơn giản là thấy ngôn ngữ lập trình thú vị? Bạn muốn ứng tuyển công việc liên quan đến ngành Công nghệ thông tin hay Front-end Developer nhưng phải trải qua câu hỏi phỏng vấn chuyên môn? Vậy hãy tìm hiểu ngay bộ câu hỏi phỏng vấn AngularJS và mẹo trả lời để khiến nhà tuyển dụng ấn tượng với khả năng của bạn nhé.
1. Những câu hỏi về AngularJS thường được hỏi nhiều nhất
Trong AngularJS, chỉ thị được định nghĩa là gì?
Trả lời:
Ở mức cao, các lệnh là các điểm đánh dấu trên một phần tử DOM (chẳng hạn như thuộc tính, tên phần tử, nhận xét hoặc lớp CSS) cho trình biên dịch HTML của AngularJS ($ compile) để đính kèm một hành vi được chỉ định vào phần tử DOM đó (ví dụ: thông qua trình lắng nghe sự kiện) hoặc thậm chí để chuyển đổi phần tử DOM và các phần tử con của nó.
AngularJS đi kèm với một bộ các chỉ thị được tích hợp sẵn, như ngBind, ngModel và ngClass. Giống như bạn tạo bộ điều khiển và dịch vụ, bạn có thể tạo các chỉ thị của riêng mình để AngularJS sử dụng. Khi AngularJS khởi động ứng dụng của bạn, trình biên dịch HTML sẽ duyệt qua các lệnh khớp với DOM so với các phần tử DOM.
Liệt kê những chỉ thị hay được sử dụng phổ biến nhất? Nêu cách sử dụng của ng-app, ng-controller, ng-view, ng-model?
Trả lời:
- ng (core module)
Mô-đun này được cung cấp theo mặc định và chứa các thành phần cốt lõi của AngularJS.
+ Chỉ thị: Đây là bộ sưu tập cốt lõi của các lệnh bạn sẽ sử dụng trong mã mẫu của mình để xây dựng ứng dụng AngularJS. Một số ví dụ bao gồm: ngClick, ngInclude, ngRepeat, v.v.
+ Dịch vụ/nhà máy: Đây là bộ sưu tập cốt lõi của các dịch vụ được sử dụng trong DI của ứng dụng của bạn. Một số ví dụ bao gồm: $ compile, $ http, $ location, v.v.
+ Bộ lọc: Các bộ lọc lõi có sẵn trong mô đun ng được sử dụng để chuyển đổi dữ liệu mẫu trước khi được hiển thị trong các chỉ thị và biểu thức. Một số ví dụ bao gồm: bộ lọc, ngày, tiền tệ, chữ thường, chữ hoa,...
+ API toàn cầu: Các hàm API toàn cầu cốt lõi được gắn vào đối tượng góc. Các chức năng cốt lõi này hữu ích cho các hoạt động JavaScript cấp thấp trong ứng dụng của bạn. Một số ví dụ bao gồm: angular.copy (), angular.equals (), angular.element (),...
- ngAria: Sử dụng ngAria để đưa các thuộc tính trợ năng phổ biến vào các chỉ thị và cải thiện trải nghiệm cho người dùng khuyết tật. Dịch vụ: Dịch vụ $ aria chứa các phương thức trợ giúp để áp dụng các thuộc tính ARIA cho HTML. $ ariaProvider được sử dụng để định cấu hình các thuộc tính ARIA.
- ngResource
Sử dụng mô-đun ngResource khi truy vấn và đăng dữ liệu lên API REST. Dịch vụ / nhà máy Dịch vụ $ resource được sử dụng để xác định các đối tượng RESTful giao tiếp với API REST.
- ngCookies: Sử dụng mô-đun ngCookies để xử lý quản lý cookie trong ứng dụng của bạn. Dịch vụ / nhà máy Dịch vụ $ cookie là một trình bao bọc thuận tiện để lưu trữ dữ liệu đơn giản trong cookie trình duyệt.
Câu hỏi phỏng vấn Web Developer mới nhất
Trình bày mối quan hệ của MVC với AngularJS? MVC của phía máy khách có đóng góp những lợi ích gì?
Trả lời:
Trong AngularJS, Bộ điều khiển được xác định bởi hàm xây dựng JavaScript được sử dụng để tăng Phạm vi AngularJS.
Bộ điều khiển có thể được gắn vào DOM theo nhiều cách khác nhau. Đối với mỗi người trong số họ, AngularJS sẽ khởi tạo một đối tượng Trình điều khiển mới, sử dụng hàm tạo của Trình điều khiển đã chỉ định:
- Chỉ thị ngControll. Một phạm vi con mới sẽ được tạo và cung cấp dưới dạng tham số có thể tiêm cho hàm xây dựng của Trình điều khiển dưới dạng $ scope.
- Một bộ điều khiển tuyến đường trong định nghĩa $ tuyến.
- Bộ điều khiển của một lệnh thông thường, hoặc một lệnh thành phần.
Nếu bộ điều khiển đã được đính kèm bằng cách sử dụng bộ điều khiển theo cú pháp thì phiên bản bộ điều khiển sẽ được gán cho một thuộc tính trên phạm vi.
Sử dụng bộ điều khiển để:
- Thiết lập trạng thái ban đầu của đối tượng $ scope.
- Thêm hành vi cho đối tượng $ scope.
- Không sử dụng bộ điều khiển để:
- Thao tác DOM - Bộ điều khiển chỉ nên chứa logic nghiệp vụ. Việc đưa bất kỳ logic trình bày nào vào Bộ điều khiển ảnh hưởng đáng kể đến khả năng kiểm tra của nó. AngularJS có cơ sở dữ liệu cho hầu hết các trường hợp và chỉ thị để đóng gói thao tác DOM thủ công.
- Định dạng đầu vào - Thay vào đó, hãy sử dụng các điều khiển biểu mẫu AngularJS.
- Đầu ra bộ lọc - Thay vào đó, hãy sử dụng bộ lọc AngularJS.
- Chia sẻ mã hoặc trạng thái trên các bộ điều khiển - Thay vào đó, hãy sử dụng dịch vụ AngularJS.
Quản lý vòng đời của các thành phần khác (ví dụ: để tạo các phiên bản dịch vụ).
Nói chung, Bộ điều khiển không nên cố gắng làm quá nhiều. Nó chỉ chứa logic kinh doanh cần thiết cho một chế độ xem.
Cách phổ biến nhất để giữ cho Bộ điều khiển mỏng là bằng cách đóng gói công việc không thuộc về bộ điều khiển vào các dịch vụ và sau đó sử dụng các dịch vụ này trong Bộ điều khiển thông qua việc tiêm phụ thuộc. Điều này được thảo luận trong phần Dịch vụ và tiêm phụ thuộc của hướng dẫn này.
Có những thiết lập nào được sử dụng để kiểm tra đơn vị cùng AngularJS? Để thực hiện thao tác kiểm tra đơn vị, Angular có những tính năng nào để hỗ trợ thao tác này?
Trả lời:
- Learn Jasmine
Jasmine, một trong những khung thử nghiệm đơn vị Javascript rất phổ biến, có thể được sử dụng để thử nghiệm đơn vị một tập lệnh AngularJS. Như một vấn đề thực tế, các nhà phát triển Angular thích cú pháp của khung Phát triển hướng hành vi (BDD) của Jasmine khi viết bài kiểm tra và do đó, đã viết tất cả các bài kiểm tra hướng dẫn của họ.
- Tạo bài kiểm tra đơn vị bằng Jasmine
Bạn có thể tạo các bài kiểm tra đơn vị cho các tập lệnh AngularJS của mình bằng cách sử dụng các hướng dẫn của Jasmine. Các bài kiểm tra đơn vị này có thể được lưu với tên dựa trên định dạng sau: <JavascriptFile> Spec.js trong đó <JavascriptFile> là tệp bao gồm tập lệnh AngularJS tùy chỉnh của bạn.
- Tải xuống và cài đặt NodeJS
Người ta sẽ yêu cầu cài đặt NodeJS mà sau đó sẽ cần để cài đặt Karma.
- Tải xuống và cài đặt Karma
Khi NodeJS được tải xuống và cài đặt, người ta có thể cài đặt Karma. Sau khi cài đặt, thực hiện lệnh npm cài karma. Cái này đã cài đặt Karma và đặt nó vào bên trong “D: node_modules”.
Sau khi hoàn thành, bạn có thể chạy Karma chỉ bằng cách thực hiện lệnh của Karma từ bất cứ đâu và nó sẽ luôn chạy phiên bản cục bộ. Kiểm tra xem tất cả có được thực hiện hay không bằng cách thực hiện lệnh, karma.
- Cấu hình Karma
Bước tiếp theo là tạo một tệp cấu hình để chạy các tập lệnh của bạn. Trong cấu hình trên, cần lưu ý những điều sau:
+ Thư mục jstest được tạo
+ Thư mục jstest / app được tạo để chứa các tệp JS ứng dụng
+ Thư mục jstest / test được tạo để chứa các tệp kiểm tra
+ Thư mục jstest / angular được tạo để bao gồm các tệp lõi AngularJS.
- Đặt tập lệnh phù hợp
Đặt các ứng dụng và các tập tin thử nghiệm trong các thư mục thích hợp.
2. Một số câu hỏi khác vẫn liên quan đến AngularJS
Mặc dù những câu hỏi này vẫn xoay quanh chủ đề là AngularJS nhưng đây là các câu hỏi “phụ” mà nhà tuyển dụng vẫn cố tình chêm vào để thử thách khả năng và trình độ chuyên môn của bạn. Khi bạn trả lời cực kỳ xuất sắc những câu hỏi trước đó, bài phỏng vấn thêm này sẽ thuyết phục họ tin vào những gì bạn đã thể hiện mà không còn sự nghi ngờ nào nữa.
Tương tự như trên, chúng ta cũng có 10 câu hỏi phụ để tìm hiểu:
- Ứng dụng của AngularJS chỉ có thể được khởi động trên HTML element hay bất cứ element nào?
Trả lời: Bất cứ element nào.
- Một trang HTML có thể có nhiều chỉ thị của “ng-app” và ứng dụng để khởi động nhiều ứng dụng AngularJS không?
Trả lời: Có
- Với nhiều hơn một ứng dụng ng-app trong một tài liệu HTML (một trang HTML), chúng có tự động được khởi tạo không? Mô tả quá trình khởi tạo ứng dụng AngularJS với nhiều ng-app trong một tài liệu/trang HTML.
Trả lời: Chỉ có một ứng dụng AngularJS có thể tự động khởi động. Ứng dụng “ng-app” đầu tiên được tìm thấy trong tài liệu sẽ được sử dụng để xác định phần tử gốc để tự động khởi động như một ứng dụng. Để chạy nhiều ứng dụng trong tài liệu HTML, người ta phải tự khởi động chúng bằng cách sử dụng dịch vụ bootstrap góc.
- Mô tả các bước liên quan đến bootstrapping một ứng dụng Angular?
Trả lời: Các bước sau đây có liên quan đến việc khởi động ứng dụng Angular:
+ Xác định element bao gồm tiền tố “ng” với ứng dụng “app”.
+ Kiểm tra xem ứng dụng Angular nào đã tồn tại trên element.
+ Biên dịch và liên kết với sự trợ giúp của các phụ thuộc như rootScope được thêm (được sử dụng để liên kết).
- Ứng dụng Angular (ng-app) có thể được lồng vào với ứng dụng khác không?
Trả lời: Không
- Các tiền tố khác nhau như “ng-” khi sử dụng với hướng dẫn Angular (ví dụ: ng-app) có thể được xác định là gì?
Trả lời: ng-, data-ng-, ng:, x-ng-
- Có những cách phổ biến nào để khởi động ứng dụng Angular?
Trả lời: Trong một element, một hoặc nhiều phần tử có thể mang nhiều thuộc tính như (ng-app, data-ng-app, ng:app, x-ng-app) hoặc đặt tên các thuộc tính như (ng-app=”demoApp”)
- Chức năng nào của Angular có thể được sử dụng làm chức năng chính để khởi động ứng dụng Angular?
Trả lời: angular.bootstrap
- Các thuộc tính của ứng dụng Angular có thể bị bootstrapped sử dụng giống như element không?
Trả lời: Không. Một lỗi sai có thể được bỏ qua chẳng hạn như “App Already Bootstrapped với Element”.
- Ở cấp độ framework, Angular lấy lại sự kết nối với các phần tử elements cho quá trình như thế nào?
Trả lời: Tận dụng chức năng của jqLite(element). Nếu jQuery được sử dụng, jQuery(element) sẽ được sử dụng bởi cách gán jQuery cho biến jqLite.
3. Những lưu ý khi trả lời câu hỏi phỏng vấn
Bên cạnh những câu trả lời xuất sắc khi phỏng vấn, bạn cũng nên quan tâm một chút đến tác phong, thái độ và trang phục của mình. Bởi đó là những yếu tố tưởng chừng như chẳng hề liên quan nhưng lại ảnh hưởng không nhỏ đến kết quả của buổi phỏng vấn.
Khi phỏng vấn, ứng viên nên đến sớm hơn giờ hẹn 10 - 15 phút để đề phòng những vấn đề có thể phát sinh (tắc đường, không có chỗ để xe, tìm đường đến buổi phỏng vấn,...). Hơn nữa, đến chỗ hẹn sớm hơn dự định cũng là một phong thái chuyên nghiệp và thể hiện bạn nghiêm túc với công việc này.
Trang phục của bạn trong buổi phỏng vấn cần đề cao yếu tố lịch sự, tối giản, tôn trọng người đối diện và phù hợp với hoàn cảnh. Chẳng hạn, nam mặc áo sơ mi, quần dài hoặc vest (nếu đó là công ty, tập đoàn lớn). Còn nữ thì mặc váy công sở, không nên mặc những trang phục quá hở và đeo quá nhiều phụ kiện, trang sức rườm rà.
Trong lúc trả lời các câu hỏi, hãy ngồi thẳng lưng, biểu cảm thoải mái, âm lượng trả lời to, rõ ràng, ngôn ngữ cơ thể vừa đủ. Quan trọng là phải bình tĩnh. Nếu không bình tĩnh, bạn có thể nghe nhầm câu hỏi và trả lời sai. Hoặc biết câu trả lời nhưng quá run nên không thể trả lời được.
Để biết thêm các câu hỏi phỏng vấn cũng liên quan đến ngôn ngữ lập trình tương tự như AngularJS, hãy truy cập vào trang web work247.vn nhé. Tại đây, bạn có thể tìm kiếm những mẫu câu hỏi tuyển dụng hữu ích để phục vụ cho việc tuyển dụng hoặc phỏng vấn hiệu quả đấy.
Như vậy, chúng ta đã vừa tìm hiểu xong bộ câu hỏi phỏng vấn AngularJS và cách trả lời ấn tượng rồi. Hy vọng những chia sẻ vừa rồi sẽ giúp bạn bớt căng thẳng và chuẩn bị một tinh thần tốt nhất để thể hiện khả năng của bản thân với nhà tuyển dụng nhé. Chúc các bạn đỗ được công việc mà mình mong muốn.
4128 0