15 câu hỏi phỏng vấn Swift hàng đầu và câu trả lời
Dưới đây là những câu hỏi phỏng vấn Swift và câu trả lời dành cho người mới bắt đầu cũng như ứng viên lập trình Swift có kinh nghiệm để có được công việc mơ ước của mình.
1) Giải thích ngôn ngữ lập trình Swift là gì?
Swift là ngôn ngữ lập trình và hệ thống để tạo ứng dụng cho iOS và OS X. Đây là ngôn ngữ lập trình sáng tạo dành cho Cocoa và Cocoa Touch.
Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn iOS Swift
2) Giải thích cách định nghĩa biến trong ngôn ngữ Swift?
Biến và hằng số phải được khai báo trước khi sử dụng. Bạn khai báo hằng số bằng từ khóa let và biến bằng từ khóa var. Cả biến và từ điển đều được mô tả bằng dấu ngoặc vuông. Ví dụ, Var Guru99 = “This is Guru99” Let ksomeconstant = 30
3) Dấu “?” trong swift có ý nghĩa gì?
Dấu chấm hỏi làm cho một thuộc tính trở thành tùy chọn nếu được khai báo. Trong trường hợp thuộc tính không giữ giá trị, dấu “?” giúp tránh lỗi thời gian chạy.
4) Hãy nêu những tính năng của Lập trình Swift?
- Nó loại bỏ toàn bộ các lớp mã không an toàn
- Các biến luôn được khởi tạo trước khi sử dụng
- Mảng và số nguyên được kiểm tra xem có tràn không
- Bộ nhớ được quản lý tự động
- Thay vì sử dụng câu lệnh “if” trong lập trình có điều kiện, swift có hàm “switch”
5) Hãy cho biết sự khác biệt giữa ngôn ngữ Swift và ngôn ngữ 'Objective-C'?
Sự khác biệt giữa ngôn ngữ 'C' và 'Swift' là
Nhanh | Mục tiêu-C |
---|---|
Trong swift, biến và hằng số được khai báo trước khi sử dụng | Trong Objective C, bạn phải khai báo biến là NSString và hằng số là int |
Bạn phải sử dụng từ khóa “let” cho hằng số và từ khóa “var” cho biến | Trong Objective C, biến được khai báo là “ và hằng số là “ |
Không cần phải kết thúc mã bằng dấu chấm phẩy | Mã kết thúc bằng dấu chấm phẩy |
Việc nối chuỗi rất dễ dàng trong swift và cho phép tạo một chuỗi mới từ sự kết hợp của các hằng số, ký tự, biến cũng như biểu thức | Trong Objective C, bạn phải chọn giữa NSMutableString và NSString để sửa đổi chuỗi. |
Swift không yêu cầu phải tạo một giao diện riêng biệt như Objective C. Bạn có thể định nghĩa các lớp trong một tệp duy nhất (.swift) | Đối với các lớp, bạn tạo các tệp giao diện (.h) và triển khai (.m) riêng biệt cho các lớp |
Swift cho phép bạn định nghĩa các phương thức trong lớp, cấu trúc hoặc liệt kê | Mục tiêu không cho phép điều này |
Trong Swift, bạn sử dụng toán tử “ + = ” để thêm một mục | Trong C, bạn sử dụng phương thức “addObject”: của NSMutable mảng để thêm một mục mới vào một mảng |
6) Swift có những kiểu số nguyên nào?
Swift cung cấp số nguyên không dấu và có dấu ở dạng 8, 16, 32 và 64 bit. Tương tự như C, các số nguyên này tuân theo quy ước đặt tên. Ví dụ, số nguyên không dấu được biểu thị bằng kiểu UInt8 trong khi số nguyên có dấu 32 bit sẽ được biểu thị bằng kiểu Int32.
7) Hãy cho biết số dấu phẩy động là gì và có những loại số dấu phẩy động nào trong Swift?
Số thực là số có thành phần phân số, như 3.25169 và -238.21. Kiểu số thực có thể biểu diễn phạm vi giá trị rộng hơn kiểu số nguyên. Có hai kiểu số thực có dấu
- Gấp đôi: Nó biểu diễn một số dấu phẩy động 64 bit, nó được sử dụng khi các giá trị dấu phẩy động phải rất lớn
- Phao nổi: Nó biểu thị một số dấu phẩy động 32 bit, được sử dụng khi các giá trị dấu phẩy động không cần độ chính xác 64 bit
8) Giải thích cách viết chú thích nhiều dòng trong Swift?
Bình luận nhiều dòng có thể được viết bằng dấu gạch chéo theo sau là dấu hoa thị (/*) và kết thúc bằng dấu hoa thị theo sau là dấu gạch chéo (*/).
9) De-initializer là gì và được viết như thế nào trong Swift?
Một de-initializer được khai báo ngay trước khi một thể hiện của lớp được giải phóng. Bạn viết de-initializer với từ khóa deinit. De-initializer được viết mà không có bất kỳ dấu ngoặc đơn nào và không lấy bất kỳ tham số nào. Nó được viết như sau
deinit { // perform the deinitialization }
10) Hãy cho biết có những kiểu bộ sưu tập nào có sẵn trong Swift?
Trong Swift, các kiểu bộ sưu tập có hai loại là Mảng và Từ điển
- Mảng: Bạn có thể tạo một Mảng có một kiểu hoặc một mảng có nhiều kiểu. Swift thường thích kiểu trước hơn
Ví dụ cho mảng kiểu đơn là,
Var cardName : [String] = [ "Robert" , "Lisa" , "Kevin"] // Swift can infer [String] so we can also write it as: Var cardNames = [ "Robert", "Lisa", "Kevin"] // inferred as [String]
Để thêm một mảng, bạn cần sử dụng chỉ số println(CardNames[0])
- Từ điển: Nó tương tự như bảng Hash trong ngôn ngữ lập trình khác. Từ điển cho phép bạn lưu trữ các cặp khóa-giá trị và truy cập giá trị bằng cách cung cấp khóa
var cards = [ "Robert": 22, "Lisa" : 24, and "Kevin": 26]
11) Liệt kê các câu lệnh chuyển giao điều khiển được sử dụng trong Swift?
Các câu lệnh chuyển giao điều khiển được sử dụng trong Swift bao gồm
- Tiếp tục
- Nghỉ giải lao
- thất bại
- Trả hàng
12) Giải thích chuỗi tùy chọn là gì?
Chuỗi tùy chọn là một quá trình truy vấn và gọi các thuộc tính. Nhiều truy vấn có thể được nối lại với nhau và nếu bất kỳ liên kết nào trong chuỗi là nil thì toàn bộ chuỗi sẽ không thành công.
13) Lớp cơ sở được định nghĩa như thế nào trong Swift?
Trong Swift, các lớp không được kế thừa từ lớp cơ sở và các lớp mà bạn định nghĩa mà không chỉ định siêu lớp của nó sẽ tự động trở thành lớp cơ sở.
14) Giải thích thuộc tính lưu trữ Lazy là gì và khi nào nó hữu ích?
Thuộc tính lưu trữ lười biếng được sử dụng cho một thuộc tính mà giá trị ban đầu của nó không được tính cho đến lần đầu tiên nó được sử dụng. Bạn có thể khai báo một thuộc tính lưu trữ lười biếng bằng cách viết trình sửa đổi lười biếng trước khi khai báo. Thuộc tính lười biếng hữu ích khi giá trị ban đầu của một thuộc tính phụ thuộc vào các yếu tố bên ngoài mà giá trị của chúng không xác định.
15) Hãy nêu đặc điểm của Switch trong Swift?
- Nó hỗ trợ mọi loại dữ liệu và không chỉ đồng bộ hóa mà còn kiểm tra tính bình đẳng
- Khi một trường hợp được khớp trong switch, chương trình tồn tại từ trường hợp switch và không tiếp tục kiểm tra các trường hợp tiếp theo. Vì vậy, bạn không cần phải tách rõ ràng switch ở cuối case
- Câu lệnh switch phải đầy đủ, nghĩa là bạn phải bao gồm tất cả các giá trị có thể có cho biến của mình
- Không có fallthrough trong các câu lệnh switch và do đó break không được yêu cầu
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn
“Swift là một ngôn ngữ lập trình và hệ thống để tạo các ứng dụng web trong iOS và OS X”
Vâng, bạn vừa khiến rất nhiều người phải trả giá đắt cho cuộc phỏng vấn của họ. Làm tốt lắm.
Đã sửa lỗi! Cảm ơn bạn đã thông báo điều này
không có "fallthrough" trong các câu lệnh switch?
fallthrough có sẵn
vâng nó có sẵn
Câu hỏi số 3 – Swift không được triển khai theo cách đó. Swift được triển khai bằng cách tải lên Apple. Có cả một quy trình. Nó không liên quan gì đến JAR hay Tomcat.
Đã sửa lỗi!
Ngoài ra, Swift thực sự có câu lệnh if. Nó không phải là câu lệnh switch _thay thế_ cho câu lệnh if. Nó là bổ sung cho chúng.
Mặc dù đúng là không có sự thay đổi ngầm định nào, nhưng vẫn có thể lập trình rõ ràng hành vi này.
dòng này có nghĩa là gì "Trong objective C, bạn phải khai báo biến là NSString và hằng số là int"
Cảm ơn bạn nhé.
vui lòng xác minh câu trả lời của bạn. một số thậm chí không liên quan đến iOS
Bạn có thể vui lòng đăng câu hỏi phỏng vấn cho UI không. Cảm ơn trước
Dòng này có nghĩa là gì: Trong ngôn ngữ C, biến được khai báo là “ và hằng được khai báo là “.
Trong tiêu đề tin nhắn “Trạng thái: Có thể xóa” điều này có nghĩa là gì
Hãy cho biết sự khác biệt giữa ngôn ngữ Swift và ngôn ngữ 'Objective-C' là gì?
Sự khác biệt giữa ngôn ngữ 'C' và 'Swift' là
Bạn nên làm rõ câu trả lời của mình, nơi bạn phân biệt giữa Objective-C và Swift chứ không phải C và Swift.
Tôi có buổi phỏng vấn vào ngày mai, liệu điều này có thể giúp tôi vượt qua buổi phỏng vấn không? Hay tôi cần theo dõi các trang khác nữa? Nếu cần, vui lòng gợi ý cho tôi một số