15 câu hỏi phỏng vấn Typescript và cách trả lời chính xác

Dưới đây là bộ câu hỏi phỏng vấn typescript thường gặp trong các buổi phỏng vấn. Thường thì các ứng viên sẽ chuẩn bị kỹ càng trước khi tham gia phỏng vấn nhưng vẫn có một số người chỉ chuẩn bị qua loa. Vậy nên, bài viết này dành cho các bạn chuẩn bị đi phỏng vấn typescript mà không cần mất nhiều thời gian tìm kiếm nhé!

Typescript là gì?

TypeScript là dự án mã nguồn mở được phát triển bởi Microsoft, nó được coi là một phiên bản nâng cao của Javascript, bởi có việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở Javascript. TypeScript có thể sử dụng để phát triển các ứng dụng chạy ở client - side và server - side. 

Tại sao chúng ta nên sử dụng TypeScript?

  • Dễ cho việc phát triển dự án lớn: là việc sử dụng các kỹ thuật mới nhất và lập trình hướng đối tượng nên TypeScript giúp chúng ta phát triển các dự án lớn một cách dễ dàng hơn. 
  • Nhiều những Framework lựa chọn: thì hiện nay các Javascript Framework đã dần khuyến khích nên sử dụng TypeScript để phát triển. 
  • Hỗ trợ các tính năng của JavaScript phiên bản mới nhất, nó luôn đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của Javascript. 
  • Mã nguồn mở: là một mã nguồn mở nên hoàn toàn có thể sử dụng mà không mất phí, bên cạnh đó còn được cộng đồng hỗ trợ. 
  • TypeScript là Javascript vì bản chất của nó là biên dịch tạo ra các đoạn mã javascript nên ta có thể chạy bất kỳ ở đâu miễn ở đó có hỗ trợ biên dịch Javascript. 

Câu hỏi phỏng vấn typescript dàng này thường không hay được các nhà tuyển dụng đặt. Vì thường nó sẽ khiến ứng viên trả lời rất dài dòng và mất thời gian, nhưng cũng phải phòng một số trường hợp bất người xảy ra. 

Triple-Slash Directive là gì?

Triple - Slash Directive là dòng comment chứa một XML tag. Nội dung của comment này được sử dụng để  có thể chỉ thị cho compiler. Và nó chỉ có hiệu lực khi đặt ở đầu file chứa nó. Khi nó ở dưới một statement hoặc declaration thì chỉ giống như một comment thông thường. 

Mô tả cách có thể tạo ra 1 class trong Typescript?

  • Một class là định nghĩa mẫu của các phương thức và các biến trong một đối tượng cụ thể. Đó là một chương trình, mã và mẫu có thể mở rộng để tạo ra các đối tượng. Typescript là Javascript hướng đối tượng và nó cũng hỗ trợ cá tính năng lập trình hướng đối tượng như các class, interface,...
  • Một class sẽ có các quyền truy cập nhất định như: public, private, protected and read - only modifiers và public theo mặc định.

Một class có thể chứa:

  • Trường (Fields)
  • Constructors
  • Hàm (Functions)

Method Overriding trong Typescript nghĩa là gì?

TypeScript không cho phép 2 phương thức cùng tên trong một lớp kể cả những trường hợp chúng có các tham số khác nhau. Method Overloading nó cho phép bạn định nghĩa một phương thức với nhiều kiểu tham số khác nhau. 

Ở trong Typescript, Method Overloading trông khác với ở trong C++, Java hay C#. Ý tưởng chính là để nạp chồng cho phương thức là tạo một phương thức chung để kiểm tra các loại tham số nào đã được truyền vào khi phương thức đó được gọi. Sao đó nó sẽ thực hiện một số logic cho trường thích hợp. 

Default export trong Typescript ra sao? Tại sao sử dụng chúng?

Mỗi một module có thể tùy chọn xuất default export và default export hoạt động với những từ khóa mặc định. Chúng chỉ có thể sử dụng một default export cho mỗi module. Một câu hỏi phỏng vấn typescript khá dài nhưng khi bạn hiểu kỹ câu hỏi thì nó không còn là vấn đề. 

Phân biệt Module và Namespace?

Module dành cho các external package và các namespace đều dành cho các internal package. Trên thực tế thì từ khóa Module đã được thay thế bằng từ khóa Namespace. Nó đơn giản là đặt tên các đối tượng Javascript trong global namespace. Module có thể chứa cả mã và khai báo chúng. Sự khác biệt giữa module và namespace chính là các module khai báo các dependency của chúng. Sự khác biệt này thường được nhắc đến thường xuyên trong những buổi phỏng vấn typescript. 

Type assertion trong TypeScript nghĩa là gì?

Đây có thể coi là một cách để thông báo cho compiler biết kiểu của đối tượng mà mình sử dụng. Nói một các ngắn gọn là ép kiểu cho các đối tượng đó. Có hai cách để có thể sử dụng Type assertions. 

Đầu tiên là sử dụng <> (angle bracket), cách thứ 2 là chúng ta có thể sử dụng as. Cả 2 cách này trong TypeScript là tương đương với nhau. Nhưng khi sử dụng TypeScript với JSX thì chỉ dùng được as syntax.

Làm cách nào để gọi hàm constructor của lớp cơ sở từ trong lớp con của TypeScript?

Ta có thể gọi hàm constructor của lớp cơ sở bằng cách sử dụng hàm super().

Named function trong typescript nghĩa là gì?

Named function nó giống với hàm JavaScript và chỉ có một sự khác biệt duy nhất là chúng ta phải khai báo kiểu trên các tham số đã truyền.

Liệt kê các kiểu tích hợp có sẵn trong Typescript?

Các kiểu tích hợp có sẵn trong Typescript còn được gọi là các kiểu nguyên thủy:

  • Number: thì nó được sử dụng để biểu diễn các giá trị kiểu số và biểu diễn các giá trị dấu chấm động có độ chính xác kép. 
  • String: đại diện cho một chuỗi các ký tự được lưu trữ dưới dạng mã Unicode UTF - 16 và nó giống như kiểu nguyên thủy của javascript. 
  • Boolean: được sử dụng để biểu diễn một giá trị của logic. Khi chúng ta sử dụng boolean thì chúng ta chỉ nhận được kết quả đầu ra là true hoặc false. 
  • Null: đại diện cho một ký tự null và nó không thể tham chiếu trực tiếp giá trị kiểu null. 
  • Undefined: thuộc dạng không xác định. Kiểu tích hợp này là kiểu con của tất cả các kiểu. 



Public, Private, Protected và Readonly modifiers trong Typescript có nghĩa là?

  • Public là kiểu mặc định và nó được truy xuất ở mọi nơi. 
  • Private là khi sử dụng Private modifier, khi đó chúng ta không thể truy xuất chúng từ ngoài class của nó. 
  • Protected giống với Private nhưng lại khác 1 điểm là nó có thể truy xuất bởi instance của lớp kế thừa.
  • Readonly có các thuộc tính Read - only phải đợi khởi tạo tại lúc khai báo hay trong constructor. 

Phân biệt Module và Namespace?

Module là dành cho các external package và namespace dành cho internal package. Thực thế thì, từ khóa module đã thay thế bằng từ khóa namespace. Và các namespace đơn giản là đặt tên các đối tượng trong Javascript ở global namespace. 

 Làm thế nào để thực hiện thêm các chuỗi vào trong TypeScript?

  • Sử dụng vòng lặp mẫu
  • Các ký tự mẫu này được phân tách bằng dấu gạch (`)

Sự khác biệt giữa các phần mở rộng .ts và .tsx trong TypeScript là gì?

  • Sử dụng .ts để cho phép các tệp trong Typescript thuần,
  • Sử dụng .tsx để các tệp có chứa JSX. 

Devwork đã cùng bạn tìm hiểu 15 câu hỏi phỏng vấn Typescript và cách trả lời chính xác. Chúng tôi hy vọng những thông tin này sẽ hữu ích với bạn. Và nếu bạn đang quan tâm đến lĩnh vực tuyển dụng thì đừng bỏ qua Devwork - Nền tảng tuyển dụng IT kết nối HR Freelancer.


Devwork
Devwork là Nền tảng tuyển dụng kỹ sư IT vượt trội với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 CTV tuyển dụng. Devwork đang giúp hơn 1.000 Nhà tuyển dụng tiết kiệm chi phí, thời gian và công sức trong việc tuyển dụng, thúc đẩy nền công nghiệp CNTT của Việt Nam ngày một phát triển!

Tag Cloud:

Tác giả: HiêuDM

Chia sẻ bài viết

Sao chép đường dẫn

Bài viết liên quan

Danh sách bài viết liên quan có thể bạn sẽ thích Xem thêm