实习面试知识点总结

C/C++基础知识

排序

排序方式 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性
插入排序 O(n2) O(n2) O(n) O(1) 稳定
希尔排序 O(n1.3) O(1) 不稳定
冒泡排序 O(n2) O(n2) O(n) O(1) 稳定
快速排序 O(nlog2n) O(n2) O(nlog2n) O(log2n) 不稳定
选择排序 O(n2) O(n2) O(n2) O(1) 不稳定
堆排序 O(nlog2n) O(nlog2n) O(nlog2n) O(1) 不稳定
归并排序 O(nlog2n) O(nlog2n) O(nlog2n) O(n) 稳定
基数排序 O(d(n+r)) O(d(n+r)) O(d(n+r)) O(r) 稳定

希尔排序,快排,推排序问的比较多

多态

浅谈C++多态性

网络

怎么理解socket

简单理解Socket

select和epoll的区别

select、poll、epoll之间的区别总结[整理]
Linux IO模式及 select、poll、epoll详解
聊聊IO多路复用之select、poll、epoll详解

tcp三次握手四次挥手

TCP三次握手四次挥手

滑动窗口

TCP 滑动窗口(发送窗口和接收窗口)

进程之间通信

Linux进程间通信的几种方式总结–linux内核剖析(七)

线程之间通信

linux基础——linux线程间通信及同步机制总结

操作系统

虚拟地址

linux内存管理—虚拟地址、逻辑地址、线性地址、物理地址的区别(一)

中断分类

中断的分类

数据库

sql基本命令

w3school