-
自我介绍
-
C与C++区别 ,C和C++ struct 区别 c为什么不能在结构体实现函数( C语言结构体里面也可以包含函数,如同类中有方法一样,但是不能通过直接放过一个函数进去,需要通过函数指针的方式,)
-
抽象类(纯虚类,含有纯虚函数的类),为子类提供公共接口,本身不能实例化,子类要实例化,需要实现纯虚函数内容。
-
多态实现方式:函数重载,模板函数、虚函数
-
vector(数组) list(链表);
-
new 和 malloc 区别:new 运算符 malloc 是函数,malloc不能初始化对象。
-
二叉树应用在哪里( 大量信息搜索的优秀数据结构,数据库索引)栈(计算器)队列(打印机,os消息队列)
-
Map底层实现,红黑树 Set底层实现 红黑树 无序hash表
-
死锁必要条件:互斥、请求和保持,不可剥夺,循环等待
-
socket是不是阻塞的,默认阻塞,在服务器端设置为非阻塞。阻塞和非阻塞,等待时间内有没有做其他的事。同步阻塞,异步阻塞。socket
-
TCP和UDP区别
-
erase注意事项:
-
1. 要接收erase返回的迭代器
-
2. erase返回的迭代器自动指向下一个位置,所以代码里有erase的, 要注意只有不运行erase的部分需要 iterator++
-
进程数据不共享,通信方式:管道、消息队列、信号量、socket、信号、共享内存
-
线程通信方式:共享内存和信号量
-
UDP保证可靠:传输层无法保证数据的可靠传输,只能通过应用层来实现了。实现的方式可以参照tcp可靠性传输的方式,只是实现不在传输层,实现转移到了应用层。 实现确认机制、重传机制、窗口确认机制。
-
内存池:分配内存,提高效率,减少内存碎片,减少开销(线程池)
全部评论
(4) 回帖