这些C++工程师面试题你都知道吗?

 2024-03-17 05:01:53  阅读 0

秋季招聘正在进行中,我们收集了一些面试题,看看你能胜任吗?

1.基础知识和基础语言

1.先说一下关键词的作用

2.谈谈C++和C的区别

3.我们来谈谈C++中的四种类型的强制转换

4.

5.给定三角形ABC和点P(x,y,z),判断点P是否在ABC内,给出思路,手写代码

6. 如何判断一个数是否是2的倍数,以及如何找出一个数中有多少个1? 告诉我们您的想法并手工编写代码。

7.请告诉我你对C++中四个智能指针的理解:

8、

9. 你能回答一下什么是野指针吗?

10.您能介绍一下C++中的智能指针吗?

11.请问智能指针是否存在内存泄漏?

12.请告诉我如何解决智能指针的内存泄漏问题。

13. 你能回答为什么析构函数必须是虚函数吗?为什么C++默认的析构函数不是虚函数?

14.

15.

16.请介绍一下C++中析构函数的作用

17.请告诉我静态函数和虚函数的区别。

18. 请告诉我有关重载和覆盖的信息。

19.请告诉我关于

20.请告诉我你对虚函数和多态性的理解。

21,

22,

23. 请编写一个在main函数执行之前运行的函数。

34. 你能告诉我C++中常量是如何定义的吗? 常量存储在内存的什么位置?

25.

26.请告诉我有关隐式类型转换的信息

27. 告诉我你知道的类型转换

28.请告诉我C++函数堆栈空间的最大值。

29.

30.请问new/和/free有什么区别?

31、请问虚函数表是如何实现运行时多态的?

32. 你能告诉我如何用C语言进行函数调用吗?

33.

34. 你能告诉我C++如何处理返回值吗?

35. 请回答一下问题:C++中复制赋值函数的形参可以按值传递吗?

c++中引用和指针的区别_c++中指针与引用的区别_指针与引用的优缺点

43.请回答new和new的区别。

36.请告诉我

37. 请告诉我有关 fork、wait 和 exec 函数的信息

38. 你能回答一下静态函数和虚函数的区别吗?

容器和算法

1. 你能告诉我map和set的区别以及它们是如何实现的吗?

2.您能介绍一下STL吗?

3.请告诉我有关STL迭代器删除元素的信息。

4.能否请您介绍一下STL中MAP数据的存储形式?

5.请告诉我地图和

6.请谈谈list和list的区别和应用。 越详细越好。

7.请介绍一下STL中迭代器的作用。 既然有指针,为什么还需要迭代器?

8.请介绍一下epoll原理。

9、能否请您介绍一下STL中MAP数据的存储形式?

10. 对于一个由 n 个整数组成的无序数组,找到每个大于它的元素后面的第一个数字。 所需时间复杂度为O(N)

11.请回答STL和STL的区别

类和数据抽象

1.请介绍一下C++中类成员的访问权限

2、

3. 您能回答一下这个问题吗:引用数据成员可以在C++类中定义吗?

面向对象和泛型编程

1. 请回答什么是右值引用,它与左值有什么区别?

2. 析构函数可以是类型,但构造函数不能。 为什么?

3. C++空类中默认生成哪些类成员函数?

4.什么是面向对象?

编译与底层

1、

2.能否请您解答一下头文件的顺序以及双引号“”和尖括号的区别?

3、请回答brk系统调用和mmap系统调用的原理以及分别有什么作用?

4.能否请您介绍一下C++的内存管理?

5. 请介绍一下C++/C的内存分配

6.请回答**如何判断内存泄漏?

7. 请告诉我何时会发生段错误。

8.请回答什么是内存泄漏?

9.请回答new和new的区别

10. 请介绍一下共享内存相关的API。

11. 请介绍一下模型的构成。

c++中指针与引用的区别_c++中引用和指针的区别_指针与引用的优缺点

12.请设计如何使用单线程处理高并发。

13. 你能告诉我C++如何处理内存泄漏吗?

14、请告诉我epoll的区别、原理、性能和局限性。

15.请介绍一下C++ STL的内存优化

C++11

1.C++11有哪些新特性?

2. 请详细介绍C++11中可变参数模板和右值引用的新特性。

2、操作系统

1、

2.请介绍一下Linux虚拟地址空间

3. 请介绍一下操作系统中程序的内存结构。

4. 请告诉我操作系统中的页错误中断。

5.请回答fork和vfork的区别

6、如何修改最大文件句柄数?

7.请谈谈()和()

8. MySQL的端口号是多少,如何修改?

9. 请告诉我有关操作系统中页表寻址的信息。

10.请告诉我为什么有进程的时候还有线程?

11、在单核机器上编写多线程程序时,需要考虑加锁吗? 为什么?

12. 线程需要保存什么上下文? 寄存器 SP、PC 和 EAX 有何用途?

13、请介绍一下线程之间的同步方法,最好是具体的系统调用。

14.游戏服务器应该为每个用户打开一个线程还是进程? 为什么?

15.请告诉我有关操作系统页面错误替换算法的信息。

16、请介绍一下多进程、多线程的使用场景。

17、请告诉我死锁发生的条件以及如何解决。

18. 虚拟内存和物理内存如何对应?

19.能否请您谈谈操作系统中的结构对齐和字节对齐?

20.

23. 您能告诉我如何更换虚拟内存吗?

24、请介绍一下多线程以及线程同步的几种方法。

25、请介绍一下互斥锁机制以及互斥锁和读写锁的区别。

26.请讲一下进程状态转换图,动态就绪,静态就绪,动态阻塞,静态阻塞

27. A a = 新A; a->i = 10; 内核中的内存分配会发生什么情况?

28.给你一个类,里面包含,,等等。 我们来说说这个类的内存分配。

29.请回答软链接和硬链接的区别。

30.

31.

32.请告诉我用户模式和内核模式的区别。

33.如何设计使其能够接收多个客户端的请求?

34、无限循环连接时创建新线程的方法效率有点低。 如何改进?

35.如何唤醒阻塞的线程?

36、如何判断当前线程是忙还是阻塞?

37、唤醒时会误判空闲进程和阻塞进程的状态吗?

38. 处于就绪状态的进程在等待什么?

39.请谈谈多线程同步和锁机制。

40、当两个进程访问临界区资源时,是否都会获得自旋锁?

41、假设临界区资源被释放,如何保证只有一个线程而不是全部获得临界区资源?

42. C++中你知道多少种锁?

43.告诉我你用的锁

44. 请告诉我死锁发生的必要条件吗?

45.请告诉我有关协程的信息。

46.

47、请告诉我用户态到内核态的转换原理。

48. 您能告诉我源代码转换为可执行文件的过程吗?

49.请告诉我有关微内核和宏内核的信息。

50.请告诉我们有关僵尸进程的信息

51.

52.请介绍一下5种IO模型

53.请谈谈异步编程的事件循环

54.请回答为什么操作系统分为内核态和用户态。

55.请回答为什么有页面缓存以及操作系统如何设计页面缓存。

56.

57. 如何设计使其能够接收多个客户端的请求?

58、连接无限循环时创建新线程的方法效率有点低。 如何改进?

59、当两个进程访问临界区资源时,是否都会获得自旋锁?

60、假设临界区资源被释放,如何保证只有一个线程而不是全部获得临界区资源?

61.线程池如何实现?

62.

63.请告诉我awk的使用

64、请介绍一下Linux内核中的Timer定时器机制。

3.计算机网络

1、如何保证节点传输和存储的可靠性?

2、请告诉我TCP是如何保证可靠性的,并简单描述一下建立和断开TCP连接的过程。

3.请谈谈TCP模型和状态转移。

标签: 线程 请问 函数

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码