- 线程池线程数量要怎么设置?多了少了会怎么样? 1.
- 内存泄漏怎么检查?
- C++中如何调用C函数的
- extern C底层是怎么实现的,不加的话为什么会有编译问题
- 线程和协程的区别以及优缺点分析
- cookie状态的安全问题,如何避免中间人的攻击
- inline和宏的比较以及优缺点
- 有关static的用法,基本作用和在类中使用
- 有关const的用法,包括顶层和底层const,修饰参数和成员变量/函数
- new和malloc的区别,以及有了malloc为什么还要有new
- 全局变量,局部变量,static变量,分配的内存锁存储的位置
- 结构体内存对齐问题,涉及到大小的计算,相关规则的讲解
- 说一说HTTP1.1的请求头字段有哪些
- epoll和select的具体性能比较,使用的具体情况
- epoll中ET和LT的性能测试与比较,主要性能差异点在哪
- socket通信什么情况下会阻塞
- 开辟位图大数组就直接存放在main函数里面吗 1.
- 存储海量qq号登录状态的数据结构,估算一下40亿个qq号的空间内存大小
- socket通信基本步骤
- 讲一讲Linux内核的fork实现
- 静态绑定和动态绑定
- HTTP状态码301,302具体场景
- 连续内存分配的策略,first-fit,best-fit,next-fit,worst-fit
- 介绍一下工厂模式
- 访问越界,访问到什么数据
- 什么叫同步异步,阻塞非阻塞
- Linux进程内存布局
- enabled_shared_from_this的实现
- 客户端可以开多少连接
- 自己的模块,qps 有原来的一万多降到一百多,怎么排查问题?
- 怎么查看程序消耗的系统资源?
- 定时器其他实现
- 介绍 Reactor,Reactor 定义了哪些事件?
- 定时器的实现,eventfd vs pipe。(自己挖的坑,提到了 pipe 也能实现同样的功能)、
- 互斥量会陷入内核吗?
- 介绍知道的内存管理方式
- 内存池的实现
- tcp是有序的,依靠什么来保证?
- 25匹马,5条赛道,使用最少的次数选出前3名?
- 迭代器的作用
- 为什么系统调用比普通函数调用消耗大?
- 服务器启动到接受连接的整过过程锁调用的函数
- 编译器为class B生成了哪些函数?有右值版本的函数吗?
- 可以直接交换两个同类型对象的内存数据吗?
- 多个进程共享一个epollfd,会有什么问题?
- 半/全连接攻击
- 出现丢包的情况,服务端发现重复ack,在socket层面的表现是?可以通过什么函数获取到对应的信息?
- 直播的过程,从主播到服务器再到用户,请设计这个过程的方案?
- 修改进程打开文件数的上限
- 条件变量为什么需要传入互斥量?
- 调用malloc的时候要求 8 bytes 内存对齐,怎么处理
- 介绍C++内存配置器
- 进程、线程共享和私有的资源
- 匿名管道的特点
- 读socket fd,阻塞和非阻塞的区别
- 惊群问题以及解决方案,为什么选择使用锁的解决方案?
- 怎么唤醒eventloop?(eventfd)如果内核版本低,还有其他方法吗?(pipe)
- cookie、seesion
- 静态库和动态库的区别、调用效率的区别
- 初始化列表
- gdb/git
- 同步日志怎么实现的?
- std::move做了什么?为什么需要std::forward?
- const版本的成员函数一定修改不了成员变量吗?(mutable、虽然不能修改指针,但是可以修改指针的内容)
- HTTP怎么发文件?(mmap)为什么不用read?(零拷贝的好处)
- 编译器默认会生成哪些成员?
- 一个ip配置多个域名,依赖什么识别
- MSS && MTU
- MSS只存在于SYN报文段中..
- 以太网中,链路层的数据部分最大传输单元MTU为1500个字节…
