15 expert-level C++ programming interview questions and answers
Interviewing is an important step for both employees and businesses. For employees, you need to answer interview questions well to get hired. Meanwhile, businesses wishing to recruit must create a suitable set of questions to most accurately assess a candidate's capabilities.
In this article, TipsMake.com will summarize the 16 most common C++ programming interview questions at the expert level (Experienced). TipsMake.com hopes that this article will be useful to both expert level programmers looking for jobs and employers.
Question 1: Write a program to check a number to see if it is a palindrome number or not?
Reply:
Question 2: What is the copy initialization function?
Answer: A copy function is a member function that uses another object from the same class to instantiate something new. Simply put, a copy function is a function that creates an object by initializing it with another object of the same constructed class.
Sample code:
#include using namespace std; class A { Public: int x; A(int a) // parameterized constructor. { x=a; } A(A &i) // copy constructor { x = i.x; } }; int main() { A a1(20); // Calling the parameterized constructor. A a2(a1); // Calling the copy constructor. cout<
Câu 3: Viết chương trình tìm giai thừa của một số?
Trả lời:
Câu 4: Kế thừa là gì?
Trả lời: Kế thừa là cơ chế mà trong đó bạn có thể tạo ra một lớp mới hay còn gọi là lớp con từ lớp hiện tại hay còn gọi là lớp cha. Lớp con này còn được gọi là lớp dẫn xuất và lớp cha còn được gọi là lớp cơ sở.
Câu 5: Trừu tượng là gì?
Trả lời: Trừu tượng có thể được định nghĩa là một kỹ thuật trong đó bạn chỉ hiển thị chức năng cho người dùng, tức là các chi tiết mà bạn muốn người dùng nhìn thấy, ẩn đi các chi tiết bên trong hoặc các chi tiết của quá trình triển khai.
Câu 6: Đoạn code sau đây trả về kết quả là gì?
A: 5.
B: 4.
C: 7.
D: 6.
Trả lời: Kết quả là D, 6. Toán tử bậc ba được sử dụng, giá trị của a nhỏ hơn b vi phạm điều kiện nên 6 là câu trả lời cuối cùng.
Câu 7: Viết chương trình tìm tần suất của một số trong C++?
Trả lời:
Câu 8: Đoạn code sau đây trả về kết quả là gì?
A: 1010.
B: 1001.
C: 11.
D: 1000.
Trả lời: Kết quả là A, 1010. Giá trị của j được tăng lên 11, sau đó giá trị j được thêm vào 100 nhưng không được gán và cuối cùng, giá trị của j (là 11) được thêm vào 999 và cho ra kết quả cuối cùng là 1010.
Câu 9: Tuyên bố nào sau đây về các đối tượng chuỗi trong C++ là chính xác?
A: Các đối tượng chuỗi luôn phải được kết thúc bằng ký tự null.
B: Các đối tượng chuỗi có kích thước tĩnh.
C: Các đối tượng chuỗi có kích thước động.
D: Các đối tượng chuỗi sử dụng nhiều bộ nhớ hơn yêu cầu.
Trả lời: Kết quả là C, các đối tượng chuỗi có kích thước động.
Câu 10: So sánh sự khác biệt giữa shallow copy và deep copy.
Trả lời:
Shallow Copy | Deep Copy |
Nó lưu trữ các tham chiếu của đối tượng đến địa chỉ bộ nhớ ban đầu | Nó tạo ra một bản sao mới và riêng biệt của toàn bộ đối tượng và địa chỉ bộ nhớ duy nhất của nó |
Nhanh hơn | Tương đối chậm |
Nó phản ánh những thay đổi được thực hiện đối với đối tượng mới/được sao chép trong đối tượng ban đầu | Nó không phản ánh những thay đổi được thực hiện đối với đối tượng mới/được sao chép trong đối tượng ban đầu |
Câu 11: Hàm ảo với hàm ảo thuần túy khác nhau như thế nào?
Trả lời: Hàm ảo là hàm thành viên của lớp cơ sở mà lớp dẫn xuất có thể sửa đổi. Hàm thành viên của lớp cơ sở là hàm ảo thuần túy phải được định nghĩa trong kiểu dẫn xuất; nếu không lớp dẫn xuất cũng trở nên trừu tượng.
class interface Woocommerce{ void print(); } class Bat implements Woo{ public void print(){System.out.println("Woo!");} public static void main(String args[]){ Bat obj = new Bat(); obj.print(); } }
Câu 12: Lớp D được dẫn xuất từ lớp cơ sở B. Nếu tạo đối tượng kiểu D thì hàm tạo của lớp này sẽ được gọi theo thứ tự nào?
Trả lời: Lớp dẫn xuất bao gồm hai phần: Phần cơ sở và phần dẫn xuất. C++ xây dựng các đối tượng dẫn xuất theo từng giai đoạn. Quá trình bắt đầu với việc xây dựng lớp cơ sở nhiều nhất (ở trên cùng của cây thừa kế), tiếp theo là xây dựng từng lớp con theo thứ tự và sau đó là lớp con nhiều nhất. Do đó, đầu tiên, hàm khởi tạo của lớp B sẽ được gọi, sau đó là hàm khởi tạo của lớp D.
Câu 13: Hàm ảo có thể được gọi từ một hàm khởi tạo không?
Trả lời: Một quy trình ảo được gọi là một hàm Object nhưng hãy thận trọng. Nó có thể hoạt động khác với những gì bạn mong đợi. Cơ chế gọi ảo trong một hàm Object bị vô hiệu hóa do việc ghi đè từ các lớp dẫn xuất chưa xảy ra. Các khối xây dựng được sử dụng để tạo ra các đối tượng, "cơ sở trước khi dẫn xuất".
class Dog{ void make(){ System.out.println("labrador"); } } public class Big extends Dog{ void make(){ System.out.println("Big Dog labrador "); } public static void main(String args[]){ Dog ob1 = new Big(); ob1.make(); } }
Câu 14: Con trỏ void là gì?
Trả lời: Trong C++, một con trỏ void không có kết nối với bất kỳ kiểu dữ liệu cụ thể nào. Nó chỉ định một vị trí cho dữ liệu cụ thể trong bộ lưu trữ. Điều này chỉ ra rằng nó đang trỏ đến địa chỉ của một biến. Nó cũng có tên là "con trỏ mục đích chung".
#include using namespace std; int main() { int a = 10; char b = 'x'; void* p = &a; // void pointer holds address of int 'a' p = &b; // void pointer holds address of char 'b' }
Câu 15: Làm cách nào để giải phóng và cấp phát bộ nhớ trong C++?
Trả lời: Trong C++, heap được sử dụng để cấp phát bộ nhớ động và các hàm này là một phần của thư viện chuẩn. Malloc() và free() là hai thao tác quan trọng với bộ nhớ động. Kích thước của vùng bộ nhớ mong muốn tính bằng byte, tham số duy nhất được chấp nhận bởi hàm malloc().
TipsMake.com hy vọng rằng bài viết này sẽ có ích đối với bạn.
You should read it
- 24 basic level C++ programming interview questions and answers
- 20 intermediate level C++ programming interview questions and answers
- Questions to interview IT people need to understand
- 9 popular JavaScript interview questions
- 200 common Java interview questions, with reference answers
- Set of multiple choice questions on programming with P3 prize
- Set of multiple choice questions about programming with P12
- Set of multiple choice questions about programming with P10 prize
- Set of multiple-choice questions on award-winning programming P5
- Set of multiple choice questions about programming with P6
- Set of multiple choice questions about programming with P7 prize
- 15 questions to interview for an extremely 'bad brain' job
Maybe you are interested
How to turn a photo into a painting using the Generative Fill function in Photoshop
How to use the TREND function in Excel
Google Sheets Functions to Simplify Your Budget Spreadsheets
Instructions for using the TRIMRANGE function to clean up Excel tables
How to master numerical data in Google Sheets with the AVERAGE function
Don't buy headphones if they lack this important function!