Linux基础
- Linux中查看内存的命令有哪些?
- free命令可以查看系统中的内存空间使用状况,包括实体内存、共享内存、内核内存、虚拟的交换内存
- free的参数B\K\M\T等可以设置内存的单位
- s\ v等可以连续查看或者查看版本号
- top命令可以查看系统的状态
- 系统运行的基本信息:当前时间和运行时长、平均负载
- 系统中运行的进程的信息:总量、正在运行的数量、休眠的数量、停止的数量、和僵尸状态的数量
- 系统中内存的信息:内存的总量、使用内存、空闲内存、缓存的总量,以及一些交换内存的使用
- 系统CPU的使用情况:内核、用户空间、IO的CPU使用情况
- free命令可以查看系统中的内存空间使用状况,包括实体内存、共享内存、内核内存、虚拟的交换内存
- Linux中如何通过端口查看进程名,如何通过进程名查看端口
- 通过ps -ef | grep 进程名来查看pid
- 通过netstat -nap | grep pid 来查询端口号
- 通过netstae -nap | grep 端口号来查询进程
- 说一说ping命令
- ping命令使用ICMP协议,用于查看接收端是否能够正常通讯
- 进程和线程的区别是什么?
- 一个进程可以有多个线程,线程属于一个进程
- 当进程挂掉,对应的线程也会挂掉,但是进程于进程之间不会相互影响
- 进程拥有独占的内存资源,线程共享进程的内存资源,包括数段和代码段,线程拥有独占的栈内存和寄存器
- 进程是资源调度的最小单位,线程是CPU调度的最单位
- 进程的切换开销大,需要求换TLB,获取新的内存地址,刷新硬件上下文以及占空间,线程只需要刷新栈空间和硬件的上下文
- 协程和线程的区别
- 协程是从属于线程,因此对变量的读写不会发生冲突,减少了加锁解锁的开销
- 协程是直接操作栈空间的,几乎没有内存切换的开销,因此切换的效率更高
设计模式复习
- 设计模式的六大原则是什么
- 单一职责原则、里氏替换原则、依赖导致原则、接口隔离原则、开闭原则、最少知道原则
- 说一说工厂模式
- 说一说适配器模式、装饰模式和代理模式
中间件
- MQ的作用是什么
- 什么是消费者和生产者模式是什么
- RabbitMQ如何实现顺序消息
数据库复习 (作用-本质-)
- MySQL有哪些函数
- 数据库是什么
- 为什么要使用数据库
- 数据库的三大范式是什么
- 数据库连接的泄露是什么
- 什么是触发器
- 数据库索引的优点和缺点
- 有哪些索引类型
- 添加索引有哪些注意的事项
- 10.B+树和Hash索引之间的区别
- 什么是左前缀匹配原则
- 什么是聚簇索引
- 什么是数据库事务
- 数据库事务有哪些状态
- 数据库事务有哪些特性,如何进行实现
- 事务之间的相互影响
- 什么是事务的隔离级别
- 锁的分类
- 事务隔离级别和锁的关系
- 什么是死锁,如何避免
- 什么是乐观锁和悲观锁,使用场景,如何实现