基础知识

2020-11-16  本文已影响0人  贺大伟

1. 计算机基础

CPU

1. 多核概念

2. CPU cache,L1,L2,L3 cache

3. cache line

4. 伪共享

5. 原子操作

内存

虚拟内存

页表/TLB

磁盘

磁盘类型:SSD,机械磁盘,NVME,NVM

MMAP

顺序读写/随机读写

内核 cache/预读

cache脏页flush

磁盘cache

fsync/datasync/sync

文件

本地文件

远程文件

虚拟文件系统

软链接/硬链接

文件句柄/资源

网络

IO多路复用(五种IO模型,EPOLL/POLL/SELECT)

TCP

HTTP/HTTPS

进程/线程

子进程

僵尸进程,孤儿进程

fork pid,共享,写时复制

区别联系

共享和不共享

进程切换/开销

线程切换/开销

堆,栈

地址分区

系统调用

进程的用户态和内核态

CPU上下文切换

中断上下文切换

内核态/用户态

权限

CPU上下文切换

中断

中断的处理过程

原子性

内存可见性

CPU cache失效

cache line/伪共享

锁, volatile

临界区

volatile的原理和作用

并行和并发

2. 算法

2.1 链表

链表复制,复杂链表复制,反转,局部反转,排序,单向链表,双向链表,有环链表,相交链表

2.2 队列

链表构建队列,数组构建队列,栈构建队列,优先级队列(堆)

2.3 栈

链表构建栈

2.4 树

二叉树,完全二叉树,搜索树,排序树,B树,B+树,红黑树,哈夫曼编码树,字典树

前序遍历,中序遍历,后序遍历,层序遍历 (递归非递归)

增删改查

2.5 堆

堆排序

优先级队列

多路归并

2.8 跳表

跳表的随机索引算法

跳表的时间复杂度

跳表的结构

2.9 动态规划

背包问题

鸡蛋楼层问题

2.10 贪心算法

排列组合

2.12 排序

冒泡排序/归并排序/多路归并排序/插入排序/希尔排序/快速排序/基数排序/桶排序/堆排序

特殊排序/超大文件排序/排序树排序

前K个排序

2.13 bitmap

原理

2.14 布隆过滤器

原理

2.15 定时器

定时器的设计

考虑线程,效率,水表设计

2.16 HashMap

负载因子, 扩展策略,索引计算优化,初始值16的意义

2.17 LRU

hashmap+list/淘汰策略

如何解决随机读取的干扰

上一篇 下一篇

猜你喜欢

热点阅读