25 câu hỏi phỏng vấn Kotlin và câu trả lời hàng đầu (2025)
Câu hỏi phỏng vấn về Kotlin
Dưới đây là các câu hỏi và câu trả lời phỏng vấn Kotlin dành cho người mới bắt đầu cũng như người có kinh nghiệm lập trình viên lâu năm ứng viên có được công việc mơ ước của mình.
Tải xuống PDF miễn phí: Câu hỏi phỏng vấn Kotlin
1) Kotlin là gì?
Kotlin là ngôn ngữ lập trình kiểu tĩnh chạy trên JVM. Nó có thể được biên dịch bằng mã nguồn Java và trình biên dịch LLVM.
2) Ai là nhà phát triển Kotlin?
Kotlin được phát triển bởi JetBrains.
3) Tại sao bạn nên chuyển từ Java sang Kotlin?
Ngôn ngữ Kotlin khá đơn giản so với Java. Nó giảm thiểu nhiều sự dư thừa trong mã so với Java. Kotlin có thể cung cấp một số tính năng hữu ích mà Java không hỗ trợ.
4) Hãy kể ba lợi ích quan trọng nhất của việc sử dụng Kotlin?
- Ngôn ngữ Kotlin dễ học vì cú pháp của nó tương tự như Java.
- Kotlin là một ngôn ngữ chức năng và dựa trên JVM. Vì vậy, nó loại bỏ rất nhiều boilerplate
- Đây là ngôn ngữ biểu cảm giúp mã dễ đọc và dễ hiểu.
5) Giải thích việc sử dụng các hàm mở rộng
Các hàm mở rộng có lợi cho việc mở rộng lớp mà không cần phải kế thừa từ lớp đó.
6) 'Null Safety' có nghĩa là gì trong Kotlin?
Tính năng Null Safety cho phép loại bỏ nguy cơ xảy ra NullPointerException theo thời gian thực. Cũng có thể phân biệt giữa các tham chiếu có thể null và các tham chiếu không thể null.
7) Tại sao Kotlin có thể tương tác với Java?
Kotlin có thể tương tác với Java vì nó sử dụng bytecode JVM. Biên dịch trực tiếp sang bytecode giúp đạt được thời gian biên dịch nhanh hơn và không tạo ra sự khác biệt giữa Java và Kotlin cho JVM.
8) Có toán tử điều kiện tam phân nào trong Kotlin giống như trong Java không?
Không, không có toán tử điều kiện ba ngôi trong ngôn ngữ Kotlin.
9) Làm thế nào để khai báo biến trong Kotlin?
value my_var: Char
10) Có bao nhiêu hàm tạo có sẵn trong Kotlin?
Có hai loại hàm tạo có sẵn trong Kotlin:
- Trình xây dựng chính
- Trình xây dựng thứ cấp
11) Bạn có thể cho tôi biết Kotlin hỗ trợ những loại ngôn ngữ lập trình nào không?
- Lập trình thủ tục
- OOPS
12) Cho tôi biết tên của các phương thức mở rộng mà Kotlin cung cấp cho java.io.File
- bufferedReader(): Sử dụng để đọc nội dung của một tập tin vào BufferedReader
- readBytes(): Sử dụng để đọc nội dung của file vào ByteArray
- readText(): Sử dụng để đọc nội dung của tệp thành một chuỗi duy nhất
- forEachLine(): Sử dụng để đọc từng dòng của tệp trong Kotlin
- readLines(): Sử dụng để đọc các dòng trong tệp vào Danh sách
13) Bạn có thể xử lý ngoại lệ null trong Kotlin như thế nào?
Toán tử Elvis được sử dụng để xử lý kỳ vọng null trong Kotlin.
14) Một số tính năng nào có trong Kotlin nhưng không có trong Java?
Sau đây là một số tính năng quan trọng của Kotlin mà Java không có:
- Không an toàn
- Người vận hành quá tải
- quân đoàn
- Biểu thức phạm vi
- Đúc thông minh
- Đối tượng đồng hành
15) Giải thích cách sử dụng lớp dữ liệu trong Kotlin?
Lớp dữ liệu chứa các kiểu dữ liệu cơ bản. Nó không chứa bất kỳ chức năng nào.
16) Chúng ta có thể di chuyển mã từ Java sang Kotlin không?
Có, JetBrains IDEA cung cấp một công cụ tích hợp để di chuyển mã từ Java sang Kotlin.
17) Kotlin có cho phép sử dụng macro không?
Không. Kotlin không hỗ trợ macro vì các nhà phát triển Kotlin thấy khó khăn khi đưa tính năng này vào ngôn ngữ.
18) Hãy cho tôi biết hành vi mặc định của các lớp Kotlin?
Trong Kotlin, tất cả các lớp đều là final theo mặc định. Đó là vì Kotlin cho phép nhiều kế thừa cho các lớp và một lớp open tốn kém hơn một lớp final.
19) Kotlin có hỗ trợ Kiểu dữ liệu nguyên thủy không?
Không, Kotlin không hỗ trợ các kiểu dữ liệu nguyên thủy như trong Java.
20) Toán tử Ranges trong Kotlin là gì?
Toán tử Ranges giúp lặp lại qua một phạm vi. Dạng toán tử của nó là (..) Ví dụ
for (i in 1..15) print(i)
Máy sẽ in ra kết quả từ 1 đến 15.
21) Kotline có thể cung cấp bất kỳ chức năng bổ sung nào cho các gói Java chuẩn hoặc các lớp Java chuẩn không?
Các chương trình Kotlin có thể chạy trên JVM chuẩn như bất kỳ mã Java nào được biên dịch khác. Nó cho phép JVM biên dịch bất kỳ chương trình nào thành mã byte. Nó có thể truy cập bằng Máy ảo Java. Do đó, Kotlin gần giống với Java. Hơn nữa, các ứng dụng Kotlin có thể được xây dựng bằng các phần của mã Java.
22) Đưa ra cú pháp để khai báo một biến là biến động trong Kotlin?
Volatile var x: Long? = null
23) Công dụng của trừu tượng trong Kotlin là gì?
Abstraction là khái niệm quan trọng nhất của Lập trình hướng đối tượng. Trong Kotlin, abstraction class được sử dụng khi bạn biết một lớp nên có những chức năng nào. Nhưng bạn không biết cách triển khai chức năng đó hoặc liệu chức năng đó có thể được triển khai bằng các phương pháp khác nhau hay không.
24) Làm thế nào để so sánh hai chuỗi trong Kotlin?
Có thể so sánh chuỗi trong Kotlin theo những cách sau:
- Sử dụng toán tử “==”:
Bạn có thể sử dụng toán tử ah để so sánh hai chuỗi. Trong Kotlin, toán tử == được sử dụng.
- Sử dụng hàm mở rộng compareTo()
Cú pháp của hàm compareTo() được đưa ra dưới đây:
fun String.compareTo( other: String, ignoreCase: Boolean = false ): Int
Một ví dụ mã khác
fun main(args: Array & lt; String & gt;) { val x: String = "Kotlin is simple" val y: String = "Kotlin language is" + " easy" if (x == y) { println(" x and y are similar.") } else { println(" x and y are not similar.") } }
25) Đoạn mã này có tác dụng gì?
bar { System.out.println("Guru99!") }
Mã này truyền hàm lambda in ra “Guru99!” làm đối số vào hàm bar()
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
Thanks so much!
Đó là vì Kotlin cho phép nhiều kế thừa cho các lớp. Nghiêm túc đấy à?
cảm ơn bạn