【面经】CVTE
自我介绍 项目web服务器提问(跟socket相关的事件有哪些?epoll监听了socket哪些事件?用的什么模式水平触发还是边沿触发模式?你用的是阻塞IO还是非阻塞IO,为什么用非阻塞?) C++多态是怎么实现的?答到虚函数表指针就就结束了 构造函数可以是虚函数吗?不可以,为什么? 析构函数可以是虚函数吗?可以。根据我回答扩展的一个问题:父类析构不是虚函数,他的子类有一个父类指针指向子类的对象,然后我释放这个父类指针的时候会调用子类的虚构函数吗?不会。我觉得应该应该回答继承时的虚构顺序,当时没想起。如果不会调用析构函数,子类会被释放吗?不会。面试官主动放弃该话题。 简单说一下new/...
【面经】腾讯成都
腾讯成都 自我介绍 详细讲一下你的项目 并发量和数据传输效率 TCP拥塞机制 进程有几种状态 事务要满足几个特性 B+树特征是什么样的 B+树查询过程
【面经】腾讯深圳
腾讯深圳4月8号 在你看来epoll是个什么样的东西,边沿触发和水平触发的模式 epoll的通知机制 线程和进程的区别 多线程和多进程的选择上以什么作为考量 堆的数据结构(可能应该写一个类,然后封装一些函数) C++内存模型 static会被放在导出符号表里吗 网络层和传输层最大的区别是什么 TCP头部有哪些
【面经】字节跳动
2020.4.18 一面 50min 在C++里面我们什么时候会把析构函数写为虚函数呢 C++中引用和指针有什么样的区别 右值引用,移动语义和完美转发在C++11中起到的作用 简单介绍一下RAII这个机制 简单介绍一下http请求和响应的结构 状态码分为几个类别 301和302这两个状态码有什么样的区别呢 断点续传的功能206 服务器什么时候返回304这个状态码,需要带上一些什么样的特征呢 能简单的介绍一下chunk transfer是一种什么样的传输方式呢 简单介绍一下linux下常用的IO多路复用模型 用epoll实现一个server时浏览器主动关闭了一个连接那么epoll收到的是...
【面经】网易互娱
自我介绍 python有过深入了解吗? 面向过程和面向对象哪一块用的比较多?那你用面向对象做了哪些工作 说一下C++的编译过程,编译过程中宏定义和const的区别是什么?在大型工程中用const好一些还是宏定义好一些? 内联函数有了解过吗?讲一下。 虚函数 内联函数和虚函数谁的执行效率更快?为什么?那静态函数呢 静态函数和普通函数运行效率有什么差距吗? 进程和线程?进程内存分布讲一下 堆和栈的区别 堆里面申请内存有哪些方式?new和malloc的区别 在构造函数里面能调用虚函数吗?为什么?如果子类在构造函数中调用了父类的虚函数会发生什么? 在析构函数里面能不能抛出异常?如果抛出会发生什...
C++其他相关问题
string转char* 1char *str = const_cast<char*>(str.c_str()); 深拷贝 浅拷贝就是一个对象拷贝另一个对象的内容以后,其中一个对象的改变还会影响另一个对象的内容。 编译器默认拷贝构造函数是浅拷贝,如果在类中分配了堆内存,可能导致内存的重复释放。 为了解决浅拷贝的问题,通常需要自己实现拷贝构造函数,变为深拷贝。 1234567891011121314151617181920212223242526#include <iostream>using namespace std;class Person{publ...
C++基础知识
volatile 用来告诉编译器不要对该变量做任何优化,编译器每次操作该变量时,一定要从内存中取出,而不是使用寄存器中与存在的值,因为值可能已经发生了改变。 应用场景: 并行设备的硬件寄存器(如状态寄存器)。 多线程中共享变量。 const 用于限定变量,函数和指针不可改变。 const限定全局变量时,变量放在静态区。const限定局部变量时,变量放在栈区。 const修饰类中的成员函数时,表示不可对类的对象更改,如果需要更改类中的成员变量,可以使用mutable关键字。 内联函数和宏定义 宏定义在预编译时展开,内联函数在编译时展开。 宏定义只是简单的文本替换,不进行参数的有效...








