面经问题总结

计算机网络

1 http是长连接还是短连接,head里面有什么参数 ;put 和 post 有什么区别 ;http页面缓存机制 ;302code 含义

2 socket 编程 tcp三次握手 四次挥手 三次握手和四次挥手画图 为什么3次握手 2次挥手后客户端在做什么

3 访问一个网站的全过程

4 一个用户登录的全部逻辑

5 UDP、TCP、HTTP拥塞控制算法、慢启动算法

6 GET/POST 区别与联系

7 防火墙和DNS劫持

8 http 介绍 http请求头、响应头都有哪些字段

9 netstat查看端口相关命令

10 TCP为什么是可靠的,如何进行拥塞控制

11 长连接与短连接

12 介绍一下常见的网络协议

13 http状态码有哪些

14 一个网站进入速度较慢,可以从哪些方面优化

15 web常见的安全问题有哪些、如何预防

16 http协议请求首部介绍一下 http正向代理和反向代理什么意思

17 GET\POST 区别,form表单默认的请求方法是get、post?能用get完成的请求都能用post完成吗

18 输入一个网址后回车发生的全过程

19 TCP和UDP 区别,哪一个快一些?UDP丢包怎么处理,TCP拥塞控制机制,慢启动的缺点

20 TCP四次挥手的过程,为什么要主动关闭方等到2MSL的时间

21 http 头部字段keep-alive了解过吗?什么时候服务器知道可以断开连接呢?

22 http 状态码有哪些? 502、504 状态码是是么?

23 TCP和UDP 区别、TCP流量控制和拥塞控制、慢启动

24 访问taobao.com的全过程,如何获取每一阶段的耗时

25 ARP协议 ping命令

操作系统

1 虚拟内存的作用是什么?分页有什么好处?分段呢

2 同步和异步的区别

3 进程和线程的区别,谁调度的进程

4 死锁的条件,如何检测死锁

5 死锁的必要条件,银行家算法

6 内核态线程和用户态线程的区别

7 非阻塞IO

8 程调度算法有哪些

9 通俗的语言,面对一个非程序员,解释进程与线程的区别

10 多线程中如何保证线程安全,如何创建守护进程

11 死锁是什么,为什么会产生死锁,怎么解决死锁问题,预防死锁、避免死锁

12 进程的同步进制有哪些? 进程的通信机制有哪些?

13 进程的状态转换图及转换事件

数据库

1 数据库建立索引的原则有哪些

2 B+树与数据库索引

3

4 聚簇索引和非聚簇索引,一个连环索引对 a 升序排列,对 b 降序排雷,这个时候可以使用索引吗?

5 数据库加行锁怎么加? DML语句?

6 group by, having, order by limit 执行顺序

7 left join 和 inner join 的区别

8 mysql 的非运算如何去掉 not in 和 != 这样的过滤条件

9 聚簇索引和非聚簇索引,能不能对 like 出的东西加索引,能不能函数加索引

10 数据库事务的隔离级别,如何对数据库加锁,内连接和外连接

11 mysql 的索引

12 数据库如果有一张表特别大怎么办?(索引优化、加缓存、读写分离、业务拆分)

13 哪些字段可以建索引

14 mysql 储存引擎

15 数据库死锁的概念

16 数据库引擎有哪些,有什么区别,索引分别是怎么实现的?

17 介绍下数据库的索引

18 乐观锁和悲观锁

19 数据库索引,不同引擎的内部实现,B+树的具体性质

20 数据库索引,底层实现、mysql 两种引擎的区别,数据库查询特别慢怎么优化

21 主要使用的数据类型、数据库引擎了解吗,有什么区别

22 数据库事务、事务的隔离级别

SQL

1 (1)写sql,Table T Sid:学号 Cid:课程编号 score:成绩,q1:查询平均成绩大于60分的同学的学号和平均成绩 q2:查询所有课程成绩小于60的同学的学号

2 给一张表,找出成绩在10-15名学生

分布式数据库

1 redis 是线程安全的吗? 为什么是单线程

2 介绍 redis

3 redismysql 的不同,应用场景

4 用户什么格式的数据格式和用 redis 储存

5 redis mybatis 二级缓存