美文网首页
基础知识

基础知识

作者: 贺大伟 | 来源:发表于2020-11-16 22:09 被阅读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/淘汰策略

    如何解决随机读取的干扰

    相关文章

      网友评论

          本文标题:基础知识

          本文链接:https://www.haomeiwen.com/subject/cvftiktx.html