[C++] Các câu hỏi phỏng vấn lập trình C++

Khi đi phỏng vấn, nhà tuyển dụng luôn đưa ra những câu hỏi để kiểm tra kiến thức cơ bản của các ứng viên. Nói là những câu hỏi cơ bản nhưng đôi khi để trả lời được cũng cả là 1 vấn đề, đòi hỏi người học phải nắm chắc các kiến thức cơ bản. Chúng ta thử xem các câu hỏi khi phỏng vấn về C++ :

1. Có bao nhiêu cách để khởi tạo một kiểu dữ liệu nguyên thủy trong C++ và đó là những cách nào?

2. Tại sao bạn nên khai báo một hàm hủy là ảo (virtual) ?

3. Nó có nghĩa gì khi nói rằng C++ hỗ trợ overloading (nạp chồng)?

4. Nêu ra một số ví dụ về overloading trong C++?

5. Khái niệm name mangling trong C++ có nghĩa là gì và tại sao nó lại được sử dụng?

6. Một lớp trừu tượng cơ sở (abstract base) có nghĩa là gì?

7. RTTI có nghĩa là gì?

8. Làm thế nào để bạn có thể truy cập một biến mà nó bị “che khuất” bởi một biến khác có cùng tên?

9. Khái niệm namespace có nghĩa là gì và làm thế nào để sử dụng nó?

10. Điểm khác nhau giữa một lớp và một cấu trúc (struct) trong C++ là gì, và so sánh với ngôn ngữ C thì như thế nào?

11. Khái niệm template là gì? Làm thế nào để sử dụng chúng ?

12. Một hàm tạo sao chép (copy constructor) có nghĩa là gì và khi nào thì nó được sử dụng, đặc biệt là khi so sánh với toán tử =

13. Điểm khác nhau giữa một sao chép “shallow” và “deep” là gì?

14. Hằng toán tử (const operator) nghĩa là gì và nó được sử dụng như thế nào?

15. Điểm khác nhau giữa truyền tham chiếu, truyền tham trị, và truyền bởi con trỏ trong C++ là gì?

16. Khi nào thì nên và khi nào thì không nên trả về một giá trị bởi tham chiếu trong C++

17. Điểm khác nhau giữa một biến tạo ra trên ngăn xếp (stack) và một biến tạo ra trên heap là gì?

18. Làm thế nào để bạn giải phóng bộ nhớ đã cấp phát động cho một mảng?

19. Đa kế thừa là gì? Khi nào thì nó nên được sử dụng?

20. Một hàm ảo thuần túy (pure virtual) là gì?

21. Từ khóa mutable có ý nghĩa gì?

22. Từ khóa volatile có ý nghĩa gì?

23. Khái niệm STL có nghĩa là gì?

24. Khái niệm Vector có nghĩa là gì?

25. Cái gì được chứa strong phần header <algorithms>?

26. Điểm khác nhau giữa ‪#‎include‬ <iostream.h> và #include <iostream> là gì

27. Điểm khác nhau giữa “++i” and “i++” là gì?

28. Ước lượng short circuit có nghĩa là gì? Nó được sử dụng như thế nào? Tại sao việc sử dụng nó có thể gây nguy hiểm?

29. Toán tử ‘,’ có ý nghĩa gì?

30. Toán tử tam nguyên có nghĩa là gì? Cách sử dụng nó như thế nào?

31. Hàm hằng thành viên (const member) có nghĩa là gì và nó được sử dụng như thế nào?

32. Làm thế nào để sử dụng try/catch trong C++?

33. Tại sao bạn đừng bao giờ ném ra một ngoại lệ trong một hàm hủy?

34. Từ khóa explicit có ý nghĩa gì?

35. Đâu là cách đúng để thực thi một ép kiểu trong C++?

36. Khái niệm inline có nghĩa là gì?

Đọc qua những câu hỏi trên các bạn có thể trả lời được bao nhiêu câu?

Xem các câu trả lời từ 1 – 11 tại Trả lời các câu hỏi phỏng vấn C++ ( P1 )

Xem các câu trả lời từ 12 – 22 tại Trả lời các câu hỏi phỏng vấn C++ ( P2)

Xem các câu trả lời từ 23 – 36 tại Trả lời các câu hỏi phỏng vấn C++ ( P3)

Leave A Comment?