CVTE校招 C++面经
1.平时用C++哪个标准比较多?
2.举例说明一些具体的区别等
3.智能指针有哪些分类?分别有什么作用?
4.lambda有什么作用,C++11-20各有什么什么改进等?捕获的类型有哪几种,有啥作用如果在lambda函数中捕获this指针,会不会有什么风险?
5.enable_shared_from_this()和shared_from_this()的作用和原理是什么?以及在实际项目是否遇到使用这两个函数的实际场景?
6.常用的STL容器有什么?平时用过哪些容器,详细介绍一下?
7.vector的扩容机制是怎么样的?
8.里面提到扩容会涉及元素的移动和复制,那么具体是怎么判断移动还是复制的,如果是复制的话是深拷贝还是浅拷贝?
9.如果循环里面用迭代器去遍历map的话,什么情况下可能导致迭代器失效?
10.class和struct有什么区别?
11.虚函数的实现机制?虚函数表和虚表指针的内存空间布局,他们的分别存放在哪里?
12.构造函数里面可以使用this指针吗?
13.平时在windows上面开发还是linux开发比较多?
14.进程和线程的区别?进程的通信方式有哪些?介绍一下
15.线程间的同步和互斥怎么解决?
16.有遇到过死锁的情况吗?详细介绍一下,怎么发的信号,怎么连接的服务器,涉及加锁的时机和信号是怎么样的
17.new和malloc的区别是什么?
18.如果我只有一个2G的物理内存,new一个4G的对象,能实现吗?为什么
19.传输层有哪些协议?
20.在Linux系统下,有一个client和server,他们要建立连接通信需要调用哪些函数?
21.两个线程交替打印字符串,一个打印"1234",一个打印”abcd",要求打印输出为"1a2b3c4d"这种类型?