网络与数据库面试必知:TCP/IP、HTTP、数据库锁与优化
需积分: 10 113 浏览量
更新于2024-07-17
2
收藏 1.69MB PDF 举报
"该资源包含了计算机网络和数据库相关的面试问题,涵盖了从TCP/IP协议到操作系统,再到数据库管理和SQL的相关知识。"
计算机网络部分知识点:
1. TCP状态转换图: 描述了TCP连接从建立到结束的各个状态,包括SYN_SENT, SYN_RCVD, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT等。
2. IP头部和TCP/UDP头部: IP头部包含了源和目标IP地址、协议号等信息;TCP头部则包含序号、确认号、端口号、窗口大小等字段,而UDP头部较简单,主要由源和目标端口号组成。
3. 网络7层模型: OSI七层模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,描述了网络通信的完整流程。
4. IP地址分类: 包括A、B、C、D、E五类,其中A、B、C用于主机,D用于多播,E保留不用。
5. 3次握手与4次挥手: 描述TCP连接建立和断开的过程,确保数据的可靠传输。
6. 交换机与路由器的区别: 交换机工作在数据链路层,处理MAC地址,而路由器工作在网络层,处理IP地址,实现不同网络间的通信。
7. TIME_WAIT(2MSL): TCP连接关闭后的状态,等待足够时间以确保所有数据都已传送并被接收。
8. TCP可靠传输、流量控制与拥塞控制: 通过序列号、确认应答、重传机制实现可靠性,通过滑动窗口机制进行流量控制,通过慢启动、拥塞避免、快速重传和快速恢复算法防止网络拥塞。
9. 网络编程步骤: 包括创建套接字、绑定、监听、接受连接和发送/接收数据等。
10. TCP与UDP的区别: TCP提供面向连接的、可靠的传输,而UDP是无连接的、不可靠的但效率更高的传输。
操作系统部分知识点:
11. 进程间通信方式: 包括管道、消息队列、共享内存、信号量、套接字等。
12. 常见信号: SIGINT(中断), SIGKILL(强制终止), SIGSTOP(停止), SIGTERM(优雅终止), SIGSEGV(段错误), SIGCHLD(子进程结束), SIGALRM(定时器报警)等。
13. 标准IO与文件IO的区别: 标准IO是缓冲的,而文件IO可能直接读写硬件。
14. wait和waitpid: wait等待所有子进程,waitpid可以指定等待特定子进程。
15. 父进程与子进程共享内容: 如打开的文件描述符、环境变量、信号处理函数等。
16. ELF文件格式: 用于Linux系统中的可执行文件、共享库和核心转储等。
17. Linux程序启动过程: 包括加载程序、解析可执行文件、分配内存、初始化堆栈和数据段等。
18. 死锁的四个必要条件: 互斥、请求与保持、不剥夺、环路等待。
19. 处理死锁的方法: 预防、避免、检测与恢复。
20. vfork函数: 创建一个与父进程共享所有资源的子进程,常用于实现进程间的特殊通信。
数据库部分知识点:
21. SQL的ACID属性: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
22. 四种事务隔离级别: 读未提交(RU)、读已提交(RC)、可重复读(RR)、串行化(Serializable)。
23. 事务并发问题: 脏读、不可重复读、幻读等。
24. 数据库锁: 行级锁、页级锁、表级锁等,用于保证数据一致性。
25. 两段加锁协议: 在事务提交前完成所有锁定,提交后释放所有锁定。
26. InnoDB与MyISAM比较: InnoDB支持事务,MyISAM不支持;InnoDB有行级锁定,MyISAM为表级锁定。
27. 索引结构: B树、B+树、哈希索引、空间索引、全文索引。
28. 索引分类: 聚簇索引(数据行与索引存储在一起)和非聚簇索引(索引与数据分开存储)。
29. SQL优化: 使用合适的索引、减少全表扫描、避免笛卡尔积、优化JOIN操作等。
30. 分库分表: 通过水平切分和垂直切分来解决大数据量带来的性能问题。
31. MongoDB: NoSQL数据库,支持文档型数据存储,具有弹性扩展和高可用性。
32. MongoDB索引类型: 单键索引、复合索引、唯一索引、地理空间索引等。
33. 性能分析: 使用 Explain 等工具分析SQL查询性能,并进行调优。
这些知识点涵盖了计算机网络、操作系统和数据库的基础面试内容,对于准备相关职位的面试者来说非常有价值。
2015-09-24 上传
2015-09-25 上传
2014-08-02 上传
2012-09-12 上传
2022-08-03 上传
2023-05-02 上传
2019-08-04 上传
2021-08-04 上传
caofeng891102
- 粉丝: 172
- 资源: 1247
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析