Smart Headhunting & Executive Search Service

Top các câu hỏi phỏng vấn tuyển dụng Angular thường gặp

Là một trong những Fronted framework nổi tiếng số một trên thị trường thế giới hiện tại. Để trở thành một Angular Developer, ngoài những kỹ năng chuyên môn đòi hỏi bạn phải có những yếu tố khác. Hãy cùng freeC đi tìm hiểu những câu hỏi tuyển dụng vị trí angular mà các lập trình viên hay gặp trong phỏng vấn nhất.

[no_toc]

phỏng vấn tuyển dụng angular

Một số câu hỏi tuyển dụng Angular thường gặp

Trình bày Life cycle hooks của Angular Component và Directive?

  • constructor: hiển thị khi khởi tạo component/directive
  • ngOnChanges: hiển thị khi có một thay đổi ở một input bất kỳ trong component.
  • ngOnInit: hiển thị mỗi khi component đang thiết lập giá trị (initilize). Nó chỉ hiển thị duy nhất 1 lần trong lifecycle sau lần gọi hàm ngOnChanges đầu tiên.
  • ngDoCheck: hiển thị mỗi khi change detector của component được gọi đến. Giúp phép chúng ta có thể thực thi thuật toán change detection riêng cho component đó.
  • ngOnDestroy: được khởi chạy ngay trước khi component bị destroy. Thường dùng hàm hook này để unsubscribe observables và detach event handlers để tránh memory leaks.

Ngoài ra còn: ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit, ngAfterViewChecked

>>> Tuyển dụng Angular developer

Nên dùng hàm nào trong lifecycle hook của Angular để bắt sự kiện page đã render xong?

Nên dùng hàm ngAfterViewInit, hàm này được gọi khi đã initilize xong component view.

Cho biết sự khác nhau giữa let và var?

  • scope: var là function scope, let là block scope
  • hoisting: biến var sẽ được hoisting lên đầu hàm trong khi let thì không
  • global object property: ở top level, var tạo ra propery của global object (window) còn let thì không.
  • redeclaration: let không cho phép khai báo lại biến giống như var
tuyển dụng angular lập trình
câu hỏi phỏng vấn angular (source: freepik)

Quá trình truyền dữ liệu giữa các component trong Angular như nào?

  • Từ parent component xuống child component
    – input binding
    – dùng @ViewChild()
  • Từ child component lên parent component
    – dùng event binding a.k.a parent lắng nghe child event
    – dùng local variable a.k.a template reference
  • Từ 2 sibling component
    – trao đổi thông qua parent component
    – Giữa 2 component không có mối liên hệ trực tiếp
    – dùng service (đặt service này trong module có chứa cả 2 component)

>>> Xem thêm bài viết Javascript là gì? Ngôn ngữ lập trình Javascript có dễ học?

HTTP Intercepter là gì?

Dùng để thay đổi request phản hồi trước khi chuyển nó sang intercepter kế tiếp, hoặc thay đổi luồng dữ liệu phản hồi với next.handle().

Đối với HTTP request, tham số truyền vào bao gồm (req: HttpRequest, next: HttpHandler) và trả về Observable>, trong đó next là interceptor kế tiếp trong chuỗi interceptor. Một số trường hợp sử dụng phổ biến: authentication/authorization.

Senior Java Full Stack Developer

Web Applications Javascript Angular

1200 – 1500 USD | Hà Nội, Việt Nam

URGENT Đăng ký ngay

Senior Full-stack Engineer Web

Angular React C# Python

1800 – 2300 USD | Hồ Chí Minh, Việt Nam

URGENT Đăng ký ngay

Sự khác nhau giữa Arrow function và function bình thường?

Arrow function là một cách viết ngắn gọn và có thể thay thế function bình thường trong một số trường hợp.

Một số hạn chế của Arrow function:

  • Không có binding tới this hay super, và do vậy không nên dùng cho phương thức của object.
  • Không hỗ trợ các từ khóa arguments hay new.target
  • Không thể dùng với các hàm call, apply và bind (các hàm dùng để thiết lập scope)
  • Không thể dùng làm hàm constructor
  • Không dùng yield trong thân hàm được
câu hỏi phỏng vấn angular \
câu hỏi phỏng vấn angular (source: freepik)

Angular CLI là gì? Bạn sử dụng nó như thế nào?

Angular CLI có vai trò tự động hóa quá trình phát triển end-to-end. Nó cũng được hiểu là quá trình hình thành và phát triển của ứng dụng trở nên đơn giản và dễ dàng. Với CLI (Giao diện dòng lệnh), việc thiết lập nên 1 dự án mới gắn với các tính năng được nâng cấp chỉ bằng cách gõ một vài lệnh đơn giản. Chính điều này cũng góp phần giúp quy trình phát triển diễn ra nhanh hơn.

Dependency Injection (DI) được Việc thực hiện Dependency Injection (DI) được diễn ra như thế nào?

Trong Angular, khi có một lớp yêu cầu các dịch vụ; hoặc đối tượng khi nó được khởi tạo, điều này đồng nghĩa việc một lớp được gọi, nó sẽ không tạo bất kỳ đối tượng nào. Ngược lại, quy trình này lại phụ thuộc vào nguồn bên ngoài trong việc khởi tạo các đối tượng. 

Mẫu trong Angular là gì?

Không quá phức tạp, Mẫu chỉ đơn giản là một dạng xem HTML. Các mẫu có thể được xác định nội tuyến bằng cách sử dụng thuộc tính mẫu khác nhau. 

NgIf và ngFor là gì? Bạn có thể minh họa bằng một ví dụ được không?

Tương tự như hệ giá trị if và for  trong các ngôn ngữ khác, ngIf và ngFor được sử dụng làm câu lệnh điều khiển. Minh họa cụ thể như:  Việc chỉ nhận điều này nếu “display” Boolean là true (với nơi hiển thị là boolean với giá trị true hoặc false).

ngFor được sử dụng để lặp qua và hiển thị các phần tử của một mảng (tập dữ liệu).

Thành phần là gì?

câu hỏi phỏng vấn angular
câu hỏi phỏng vấn angular (source: freepik)

Thành phần là một đoạn mã logic. Thành phần bao gồm mẫu (chứa HTML (hoặc URL) cần được hiển thị, lớp (lớp có ý nghĩa xác định thuộc tính và phương thức hỗ trợ chế độ xem); và siêu dữ liệu (được xác định bằng decorator).

Chu kỳ tiêu hóa là gì?

Chu kỳ tiêu hóa mô tả một quá trình theo dõi các danh sách để cập nhật các thay đổi trong giá trị của biến đồng hồ. Chu kỳ thông báo được kích hoạt ngầm. Tuy nhiên, việc chủ động kích hoạt nó bằng cách thủ công cũng khá hiệu quả với hàm $ apply ().

Ống là gì? 

Pipe (|) được sử dụng để biến đổi dữ liệu đầu vào thành định dạng mong muốn.

Mục đích của một ống không đồng bộ là gì?

Đường ống không đồng bộ đăng ký một lời hứa hoặc một lời hứa có thể quan sát được và trả về giá trị mới nhất. Nếu một giá trị mới được phát ra, đường ống đánh dấu thành phần cần được kiểm tra xem có bất kỳ thay đổi nào không.

Mô-đun Định tuyến có bắt buộc đối với một ứng dụng không?

Không. Nó hoàn toàn không bị phụ thuộc; và có thể bỏ qua mô-đun định tuyến nếu có cấu hình đơn giản.

Siêu dữ liệu được thể hiện như thế nào trong Angular?

Siêu dữ liệu được biểu diễn bằng cách sử dụng trình trang trí như cách thức tiếp cận hiện thị của lớp, trình trang trí thuộc tính, trình trang trí phương thức,… siêu dữ liệu được biểu diễn một cách hoàn chỉnh. Ví dụ, @Component, @NgModule,…

Trình trang trí lớp trong Angular là gì?

Trình  trang trí lớp đơn thuần là tập hợp chứa siêu dữ liệu của loại lớp phù hợp. Nó xuất hiện phía trước định nghĩa lớp và khai báo lớp thuộc một kiểu nhất định. Một số trình trang trí lớp thường gặp nhất là – @Component, @NgModule, @Pipe, @Injectable, @Directive,…

Thư viện Angular? Bạn có thể tạo thư viện của riêng mình trong Angular không?

Thư viện Angular là một tập hợp các giải pháp chung mà các Developer khác đã tập hợp lại để sử dụng lại. Tất nhiên, chúng ta hoàn toàn có thể thư viện riêng bằng Angular. Đây được xem là nguồn dữ liệu khá quan trọng. Và nó được chia sẻ dưới dạng gói npm. 

Bạn biết gì về gói npm?

Rất nhiều thành phần, các khuôn khổ và CLI (thuộc phạm vi sử dụng bởi các ứng dụng Angular) được đóng gói dưới dạng gói npm. Đặc biệt hơn, các gói npm có thể tải xuống dễ dàng bằng ứng dụng khách npm CLI.

Một số câu hỏi tuyển dụng Angular khác

  • ES6 khác gì so với ES5?
  • Bạn đã dùng Framework để quản lý trạng thái (vd Redux) chưa?
  • Làm sao Angular phát hiện được sự thay đổi giá trị binding?
  • Kể một số operator bạn từng dùng của thư viện RxJS?
  • Làm sao để authenticate cho các request gọi tới Backend (API)?
  • Giải thích khái niệm scope là gì?
  • Giải thích khái niệm hoisting là gì?
  • Tại sao dùng Directive thay vì Component?
  • async pipe dùng để làm gì?

Trên đây là một số câu hỏi tuyển dụng Angular Developer thường gặp nhất. Hy vọng bài viết này mang đến cho bạn thông tin tham khảo hữu ích khi đi phỏng vấn. Chúc các bạn thành công.

Bài viết liên quan:

Xem thêm nhiều việc làm lập trình tại freeC

50 công việc lập trình tại freeC

freeC Asia

Giải pháp tuyển dụng đột phá tích hợp công nghệ AI
GIẢI PHÁP TUYỂN DỤNG ĐỘT PHÁ TÍCH HỢP CÔNG NGHỆ AI
freeC hiểu rõ mục tiêu tuyển dụng và tầm quan trọng trong việc tìm kiếm, định vị tài năng. Hãy để freeC đồng hành cùng bạn, tạo nên sự khác biệt trong hành trình tuyển dụng.

Đăng ký để nhận nhiều nội dung chất lượng khác từ freeC

Những thông tin, kiến thức đầy giá trị sẽ được gửi đến bạn mỗi tháng, hãy đăng ký để không bỏ lỡ bạn nhé!
Bài viết này mang đến giá trị cho bạn chứ?
Hãy đăng ký để đón xem nhiều nội dung chất lượng khác từ freeC nhé!
Những thông tin, kiến thức đầy giá trị sẽ được gửi đến bạn mỗi tháng, hãy đăng ký để không bỏ lỡ bạn nhé!