Top 15 câu hỏi phỏng vấn swift quan trọng dành cho ứng viên và hướng dẫn trả lời trọng tâm

Trong ngành IT, Swift là một trong những ngôn ngữ lập trình đang phát triển mạnh mẽ nhưng còn khá mới lạ và chưa quá phổ biến rộng rãi trên cộng đồng. Tuy nhiên hiện tại Swift đang được coi trọng bởi những hỗ trợ mà nó đem lại cho các nhà phát triển. Vì vậy tìm hiểu những thông tin cũng như câu hỏi phỏng vấn Swift quan trọng là yếu tố để bạn thể hiện được trình độ chuyên môn và sự nghiêm túc đối với vị trí phỏng vấn.

Swift là gì?

Swift là một dạng ngôn ngữ lập trình được phát triển bởi Apple vào tháng 7 năm 2012 và chính thức ra mắt trên thị trường năm 2014. Nó được xây dựng nhằm mục đích hỗ trợ cho các lập trình viên để phát triển những ứng dụng (app) chạy trên các hệ điều hành như IOS, macOS, Linux, z/OS hoặc watchOS. Đây là ngôn ngữ hiện tại chỉ dành riêng cho những hệ điều hành trong Apple. Swift có nhiều những tính năng ưu việt so với các ngôn ngữ khác nhờ việc chọn ra những ý tưởng nổi bật của các ngôn ngữ đã được phát triển trước đó. 

Ưu điểm của Swift là gì?

  • Code dễ đọc và ngắn gọn: Swift được tạo nên bởi những nghiên cứu và kế thừa những đặc điểm nổi bật, phát huy các ưu điểm từ nhiều loại ngôn ngữ lập trình. Vậy nên Swift có khả năng tối ưu hoá các hiệu quả và sắp xếp mã (code) một cách ngắn gọn logic và dễ đọc.
  • Tối ưu thời gian công sức: Sử dụng ngôn ngữ lập trình Swift sẽ giúp các nhà phát triển tiết kiệm được một lượng thời gian và công sức đáng kể cho việc phát triển ứng dụng, bắt đầu những chương trình compiler và test.
  • Có khả năng tương thích cùng với Objective-C: LẬp trình viên có thể dễ dàng viết các ứng dụng bằng cả ngôn ngữ lập trình và sáng tạo tùy ý nhờ sự tương thích này.

Nêu nhược điểm của Swift?

  • Swift là một ngôn ngữ mới so với những ngôn ngữ lập trình khác nên cần thời gian để tìm hiểu và gây nhiều khó khăn cho một số người chưa có sự tìm hiểu và nền tảng cơ bản.
  • Sự phát triển cũng như hỗ trợ của ngôn ngữ lập trình Swift chưa phổ biến nhiều.
  • Có nhiều API không làm việc cùng với Swift

Trong Swift có bao nhiêu Collection ?

Bạn có thể trả lời câu hỏi phỏng vấn Swift này như sau:

Trong Swift có 2 Collection là Array và Dictionary.

- Array: bạn có khả năng tạo 1 Array của 1 loại dữ liệu hoặc cũng có thể tạo 1 Array của nhiều loại dữ liệu.

- Dictionary: 1 Dictionary có thể cho bạn được lưu các cặp key-value cùng với truy xuất value từ key. Nó gần tương tự như là Hash ở trong những ngôn ngữ lập trình khác.

Khái niệm của Optional trong Swift ?

Optional là một khái niệm tương đối mới mẻ trong ngôn ngữ lập trình Swift. Bằng việc sử dụng Optional, Swift được Apple khẳng định rằng nó là một ngôn ngữ có sự  “an toàn” hơn so với Objective-C.

Optional có 2 loại đó là “?” và “!”

Trong Swift thì Switch có những đặc tính gì?

Switch là một câu hỏi phỏng vấn Swift đơn giản, nó có những đặc tính tiêu biểu như:

  • Hỗ đối với tất cả mọi loại dữ liệu.
  • Trong trường hợp bắt đầu match 1 case, chương trình sẽ tiến hành xử lý case đó và dừng kiểm tra các case còn lại. Vì vậy không cần thêm 'break' vào mỗi đoạn mã.
  • Lệnh switch cần được khai báo đầy đủ toàn bộ các giá trị có thể có.
  • Không có fallthrough nên break không hoàn toàn bắt buộc.

Trong Swift có những loại Integer nào?

Trong Swift có những loại Integer unsigned và signed dưới dạng 8 bit, 16 bit, 32 bit và 64 bit.



Swift và Objective-C khác biệt như thế nào?

  • Trong Swift các biến và hằng số trước khi sử dụng cần được khai báo. Đối với Objective-C phải khai báo hằng số là int và biến là NSString.
  • Objective-C cần kết thúc đoạn mã bằng dấu chấm phẩy nhưng với Swift thì không.
  • Swift không nhất thiết phải tạo 1 interface riêng biệt giống Objective-C. Thay bằng đó chỉ cần định nghĩa các lớp ở 1 file (.swift)
  • Với Objective-C nếu muốn thêm 1 item cần dùng methd 'addObject' của NSMutable. Bạn phải dùng methd 'addObject'  của NSMutable để thêm 1 item vào 1 mảng. Với Swift thì hãy dùng toán tử "+="

Kể tên các lệnh chuyển điều khiển (Control Transfer Statements) trong Swift?

Trong Swift có các lệnh chuyển điều khiển (Control Transfer Statements) như:

  • Continue
  • Fallthrough
  • Break
  • Return

Khái niệm de-initializer và trong Swift chúng được viết như thế nào?

Trước khi class instance được de-allocated thì 1 de-initializer sẽ lập tức được khai báo ngay, de-initializer được dùng với từ khóa deinit. 

De-initializer không sử dụng dấu ngoặc đơn và cũng không nhận tham số bất kỳ nào.

Những tính năng của Swift?

  • Loại đi tất cả những class không an toàn.
  • Luôn khởi tạo các biến trước khi dùng.
  • Array và Integer được kiểm tra overflow.
  • Quản lý tự động Memory.
  • Sử dụng Switch thay thế cho if.

Đây là cách trả lời ngắn gọn và trọng tâm của câu hỏi phỏng vấn Swift này.

So sánh 'let' và 'var' trong Swift?

  • Với những kiểu cơ bản, “let” định nghĩa 1 hằng số và giá trị của hằng số bắt buộc phải chỉ định chính xác 1 lần. “var” định nghĩa cho một biến thông thường. 
  • Cả hai đêu là con trỏ/tham chiếu.

Khái niệm Serial Queue

Serial Queue cho phép bạn thực hiện một tác vụ duy nhất tại một thời điểm, tức là Đồng bộ hoặc là Bất đồng bộ. 

'==' và '===' khác biệt như thế nào?

  • “==” dùng để kiểm tra xem rằng những giá trị có sự giống nhau hay không.
  • “===” dừng để kiểm tra xem rằng những tham chiếu trỏ đến cùng một instance hay không.

Các Extension được dùng với mục đích gì trong Swift?

Các Extension sẽ giúp thêm chức năng mới cho enumeration, class, structure hoặc là protocol đã có. Nó sẽ bao gồm khả năng mở rộng những kiểu bạn không được cấp quyền truy cập vào mã nguồn ban đầu. Các Extension giống như các category của Objective-C.

Các Extension có khả năng:

  • Thêm vào thuộc tính phiên bản đã được tính toán cùng với thuộc tính dạng máy tính.
  • Có thể định nghĩa phương thức kiểu và phương thức thể hiện.
  • Giúp cung cấp mới bộ khởi tạo.
  • Chỉ số phụ được định nghĩa nhờ Extension.
  • Sử dụng và định nghĩa những kiểu lồng nhau.
  • Giúp 1 kiểu đã có được phù hợp với 1 protocol.

Có sự chuẩn bị thông tin và tìm hiểu về những câu hỏi phỏng vấn Swift sẽ giúp bạn trở thành người chủ động, tăng tạo ấn tượng tốt với nhà tuyển dụng. 

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