Bài viết này được viết lại dựa trên nội dung gốc của tác giả Kiên Nguyễn.
Bạn đã thử sức với những câu hỏi phỏng vấn Python dưới đây chưa? Đây là cách để bạn kiểm tra trình độ Python của mình. Dễ thôi, không khó lắm đâu. Thử ngay thôi!
Bạn đang xem: Top 5 Câu Hỏi Phỏng Vấn Python Cần Biết
Contents
5. Đoạn code sau in ra gì?
Bắt đầu nhẹ nhàng với đoạn code dưới đây. Hầu hết những người mới học Python đều thấy dễ dàng với câu hỏi này.
listA = [1, 2, 3, 4, 5]
print(listA[1:10])
Câu trả lời đúng là B – []
. Đúng vậy, chú ý dấu hai chấm :
trong câu lệnh slice. Kết quả là một list rỗng.
Nhưng nếu bạn gõ listA[10]
, kết quả chắc chắn là Index Error (do list chỉ có 5 phần tử). Tuy nhiên trong trường hợp này, chúng ta đang cố gắng slice list, nên kết quả không bao giờ là Index Error.
4. Đoạn code in ra gì?
list1 = [[]] * 3
list2 = [1, 2, 3]
list3 = list1.copy()
list1[0].append(1)
list2.append(5)
print(list1)
print(list2)
print(list3)
Đáp án là C. Trong đoạn code trên, list1
là danh sách chứa 3 phần tử rỗng, nhưng tất cả ba phần tử này đều trỏ tới cùng một giá trị.
Khi thêm giá trị 1 vào list1[0]
, tất cả các phần tử đều bị thay đổi theo. Kết quả cuối cùng sẽ là [[1], [1], [1]]
.
Xem thêm : 7 Phương pháp học thuật toán lập trình hiệu quả dành cho bạn
Ồ, câu này dễ quá. Đi tiếp câu lý thuyết đi!
3. Python có multi-threading không? Có cách nào viết code Python chạy đồng thời không?
Đáp án là B. Trong Python, có cái gọi là Global Interpreter Lock (GIL), nó đảm bảo rằng chỉ có một luồng (thread) được thực thi tại một thời điểm.
Tuy nhiên, Python cũng có một module gọi là threading
để hỗ trợ công việc đa luồng.
Trời ơi, câu này tôi đúng rồi đấy! Lý thuyết thì đủ rồi, quay lại với câu hỏi nữa nhé.
2. *args
, **kwargs
là gì? Sự khác biệt?
Câu này dễ không có gì phải bàn cãi.
*args
được sử dụng khi bạn không biết chính xác có bao nhiêu đối số (arguments) được truyền vào cho một hàm hoặc khi bạn muốn truyền một danh sách các đối số đặc biệt.
**kwargs
được sử dụng khi bạn biết chính xác bao nhiêu đối số được truyền vào cho một hàm.
Cũng có thể sử dụng *bob
và **billy
, nhưng ít người dùng.
Xem thêm : Những trang web tải tài liệu học tập miễn phí cho học sinh
Hai câu lý thuyết rồi, quay lại với câu hỏi nhé. Quá dễ rồi!
1. Đoạn code sau in ra gì?
Đáp án là A. Cái list2
thì dễ hiểu rồi, nó in ra [1, 2, 3]
vì bạn đã pass đúng giá trị cho nó.
Đối với list1
và list3
, đây là một câu hỏi phức tạp hơn. Dựa vào cách Python định nghĩa function, cả list1
và list3
ban đầu đều trỏ đến cùng một giá trị.
Khi bạn thực hiện thêm giá trị vào list1
, tất cả các phần tử trong danh sách sẽ được thêm vào giá trị đó. Vì vậy, kết quả cuối cùng sẽ là [[1], [1], [1]]
.
Cảm ơn bạn đã đọc bài viết này. Nếu bạn thấy hay, hãy like và chia sẻ bài viết Top 5 Câu Hỏi Phỏng Vấn Python này nhé.
Đừng quên ghé thăm kieblog.vn để tìm hiểu thêm một số câu hỏi phỏng vấn Python khác.
Cảm ơn bạn đã đọc bài viết, nhớ like và share Facebook page nha!
Nguồn: Bài viết gốc được đăng tải tại kieblog.vn.
Nguồn: https://laptrinhc.edu.vn
Danh mục: Tài liệu IT