ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java技术面试复习大纲

2021-05-07 08:32:43  阅读:112  来源: 互联网

标签:HTTP java 复习 以及 TCP 原理 比较 作用 大纲


1 前言

  你完全可以用20%的时间去掌握80%常问的知识点。
2. 操作系统

2.1 基础

 ★★★  进程与线程的本质区别、以及各自的使用场景。

  • ★☆☆ 进程状态。

  • ★★★ 进程调度算法的特点以及使用场景。

  • ★☆☆ 线程实现的方式。

  • ★★☆ 协程的作用。

  • ★★☆ 常见进程同步问题。

  • ★★★ 进程通信方法的特点以及使用场景。

  • ★★★ 死锁必要条件、解决死锁策略,能写出和分析死锁的代码,能说明在数据库管理系统或者 Java 中如何解决死锁。

  • ★★★ 虚拟内存的作用,分页系统实现虚拟内存原理。

  • ★★★ 页面置换算法的原理,特别是 LRU 的实现原理,最好能手写,再说明它在 Redis 等作为缓存置换算法。

  • ★★★ 比较分页与分段的区别。

  • ★★★ 分析静态链接的不足,以及动态链接的特点。

 

2.2 Linux

 ★★☆ 文件系统的原理,特别是 inode 和 block。数据恢复原理。

  • ★★★ 硬链接与软链接的区别。

  • ★★☆ 能够使用常用的命令,比如 cat 文件内容查看、find 搜索文件,以及 cut、sort 等管线命令。了解 grep 和 awk 的作用。

  • ★★★ 僵尸进程与孤儿进程的区别,从 SIGCHLD 分析产生僵尸进程的原因。

 

3. 计算机网络 

 3.1 基础

 ★★★ 各层协议的作用,以及 TCP/IP 协议的特点。

  • ★★☆ 以太网的特点,以及帧结构。

  • ★★☆ 集线器、交换机、路由器的作用,以及所属的网络层。

  • ★★☆ IP 数据数据报常见字段的作用。

  • ★☆☆ ARP 协议的作用,以及维护 ARP 缓存的过程。

  • ★★☆ ICMP 报文种类以及作用;和 IP 数据报的关系;Ping 和 Traceroute 的具体原理。

  • ★★★ UDP 与 TCP 比较,分析上层协议应该使用 UDP 还是 TCP。

  • ★★★ 理解三次握手以及四次挥手具体过程,三次握手的原因、四次挥手原因、TIME_WAIT 的作用。

  • ★★★ 可靠传输原理,并设计可靠 UDP 协议。

  • ★★☆ TCP 拥塞控制的作用,理解具体原理。

  • ★★☆ DNS 的端口号;TCP 还是 UDP;作为缓存、负载均衡。

     

     3.2 HTTP

  • ★★★ GET 与 POST 比较:作用、参数、安全性、幂等性、可缓存。

  • ★★☆ HTTP 状态码。

  • ★★★ Cookie 作用、安全性问题、和 Session 的比较。

  • ★★☆ 缓存 的 Cache-Control 字段,特别是 Expires 和 max-age 的区别。ETag 验证原理。

  • ★★★ 长连接与短连接原理以及使用场景,流水线。

  • ★★★ HTTP 存在的安全性问题,以及 HTTPs 的加密、认证和完整性保护作用。

  • ★★☆ HTTP/1.x 的缺陷,以及 HTTP/2 的特点。

  • ★★★ HTTP/1.1 的特性。

  • ★★☆ HTTP 与 FTP 的比较。

 3.3 Socket

 ★★☆ 五种 IO 模型的特点以及比较。

  • ★★★ select、poll、epoll 的原理、比较、以及使用场景;epoll 的水平触发与边缘触发。

 

4. 数据库
4.1 SQL

 ★★☆ 手写 SQL 语句,特别是连接查询与分组查询。

  • ★★☆ 连接查询与子查询的比较。

  • ★★☆ drop、delete、truncate 比较。

  • ★★☆ 视图的作用,以及何时能更新视图。

  • ★☆☆ 理解存储过程、触发器等作用。

 4.2 系统原理

  • ★★★ ACID 的作用以及实现原理。

  • ★★★ 四大隔离级别,以及不可重复读和幻影读的出现原因。

  • ★★☆ 封锁的类型以及粒度,两段锁协议,隐式和显示锁定。

  • ★★★ 乐观锁与悲观锁。

  • ★★★ MVCC 原理,当前读以及快照读,Next-Key Locks 解决幻影读。

  • ★★☆ 范式理论。

  • ★★★ SQL 与 NoSQL 的比较。

 4.3 MySQL

  • ★★★ B+ Tree 原理,与其它查找树的比较。

  • ★★★ MySQL 索引以及优化。

  • ★★★ 查询优化。

  • ★★★ InnoDB 与 MyISAM 比较。

  • ★★☆ 水平切分与垂直切分。

  • ★★☆ 主从复制原理、作用、实现。

  • ★☆☆ redo、undo、binlog 日志的作用。

 4.4 Redis

 ★★☆ 字典和跳跃表原理分析。

  • ★★★ 使用场景。

  • ★★★ 与 Memchached 的比较。

  • ★☆☆ 数据淘汰机制。

  • ★★☆ RDB 和 AOF 持久化机制。

  • ★★☆ 事件驱动模型。

  • ★☆☆ 主从复制原理。

  • ★★★ 集群与分布式。

  • ★★☆ 事务原理。

  • ★★★ 线程安全问题。

  5. 面向对象

5.1 思想

 ★★★  面向对象三大特性

  • ★☆☆ 设计原则

5.2 设计模式

                ★★☆ 设计模式的作用。

  • ★★★ 手写单例模式,特别是双重检验锁以及静态内部类。

  • ★★★ 手写工厂模式。

  • ★★★ 理解 MVC,结合 SpringMVC 回答。

  • ★★★ 理解代理模式,结合 Spring 中的 AOP 回答。

  • ★★★ 分析 JDK 中常用的设计模式,例如装饰者模式、适配器模式、迭代器模式等。


2. 操作系统
2.1 基础

  • ★★★  进程与线程的本质区别、以及各自的使用场景。

  • ★☆☆ 进程状态。

  • ★★★ 进程调度算法的特点以及使用场景。

  • ★☆☆ 线程实现的方式。

  • ★★☆ 协程的作用。

  • ★★☆ 常见进程同步问题。

  • ★★★ 进程通信方法的特点以及使用场景。

  • ★★★ 死锁必要条件、解决死锁策略,能写出和分析死锁的代码,能说明在数据库管理系统或者 Java 中如何解决死锁。

  • ★★★ 虚拟内存的作用,分页系统实现虚拟内存原理。

  • ★★★ 页面置换算法的原理,特别是 LRU 的实现原理,最好能手写,再说明它在 Redis 等作为缓存置换算法。

  • ★★★ 比较分页与分段的区别。

  • ★★★ 分析静态链接的不足,以及动态链接的特点。

2.2 Linux

  • ★★☆ 文件系统的原理,特别是 inode 和 block。数据恢复原理。

  • ★★★ 硬链接与软链接的区别。

  • ★★☆ 能够使用常用的命令,比如 cat 文件内容查看、find 搜索文件,以及 cut、sort 等管线命令。了解 grep 和 awk 的作用。

  • ★★★ 僵尸进程与孤儿进程的区别,从 SIGCHLD 分析产生僵尸进程的原因。

3. 计算机网络 

3.1 基础

  • ★★★ 各层协议的作用,以及 TCP/IP 协议的特点。

  • ★★☆ 以太网的特点,以及帧结构。

  • ★★☆ 集线器、交换机、路由器的作用,以及所属的网络层。

  • ★★☆ IP 数据数据报常见字段的作用。

  • ★☆☆ ARP 协议的作用,以及维护 ARP 缓存的过程。

  • ★★☆ ICMP 报文种类以及作用;和 IP 数据报的关系;Ping 和 Traceroute 的具体原理。

  • ★★★ UDP 与 TCP 比较,分析上层协议应该使用 UDP 还是 TCP。

  • ★★★ 理解三次握手以及四次挥手具体过程,三次握手的原因、四次挥手原因、TIME_WAIT 的作用。

  • ★★★ 可靠传输原理,并设计可靠 UDP 协议。

  • ★★☆ TCP 拥塞控制的作用,理解具体原理。

  • ★★☆ DNS 的端口号;TCP 还是 UDP;作为缓存、负载均衡。

    3.2 HTTP
  • ★★★ GET 与 POST 比较:作用、参数、安全性、幂等性、可缓存。

  • ★★☆ HTTP 状态码。

  • ★★★ Cookie 作用、安全性问题、和 Session 的比较。

  • ★★☆ 缓存 的 Cache-Control 字段,特别是 Expires 和 max-age 的区别。ETag 验证原理。

  • ★★★ 长连接与短连接原理以及使用场景,流水线。

  • ★★★ HTTP 存在的安全性问题,以及 HTTPs 的加密、认证和完整性保护作用。

  • ★★☆ HTTP/1.x 的缺陷,以及 HTTP/2 的特点。

  • ★★★ HTTP/1.1 的特性。

  • ★★☆ HTTP 与 FTP 的比较。

 

 

3.3 Socket

  • ★★☆ 五种 IO 模型的特点以及比较。

  • ★★★ select、poll、epoll 的原理、比较、以及使用场景;epoll 的水平触发与边缘触发。

4. 数据库
4.1 SQL

  • ★★☆ 手写 SQL 语句,特别是连接查询与分组查询。

  • ★★☆ 连接查询与子查询的比较。

  • ★★☆ drop、delete、truncate 比较。

  • ★★☆ 视图的作用,以及何时能更新视图。

  • ★☆☆ 理解存储过程、触发器等作用。

4.2 系统原理

  • ★★★ ACID 的作用以及实现原理。

  • ★★★ 四大隔离级别,以及不可重复读和幻影读的出现原因。

  • ★★☆ 封锁的类型以及粒度,两段锁协议,隐式和显示锁定。

  • ★★★ 乐观锁与悲观锁。

  • ★★★ MVCC 原理,当前读以及快照读,Next-Key Locks 解决幻影读。

  • ★★☆ 范式理论。

  • ★★★ SQL 与 NoSQL 的比较。

4.3 MySQL

  • ★★★ B+ Tree 原理,与其它查找树的比较。

  • ★★★ MySQL 索引以及优化。

  • ★★★ 查询优化。

  • ★★★ InnoDB 与 MyISAM 比较。

  • ★★☆ 水平切分与垂直切分。

  • ★★☆ 主从复制原理、作用、实现。

  • ★☆☆ redo、undo、binlog 日志的作用。

4.4 Redis

  • ★★☆ 字典和跳跃表原理分析。

  • ★★★ 使用场景。

  • ★★★ 与 Memchached 的比较。

  • ★☆☆ 数据淘汰机制。

  • ★★☆ RDB 和 AOF 持久化机制。

  • ★★☆ 事件驱动模型。

  • ★☆☆ 主从复制原理。

  • ★★★ 集群与分布式。

  • ★★☆ 事务原理。

  • ★★★ 线程安全问题。

  5. 面向对象

5.1 思想

 ★★★  面向对象三大特性

  • ★☆☆ 设计原则

5.2 设计模式

    • ★★☆ 设计模式的作用。

    • ★★★ 手写单例模式,特别是双重检验锁以及静态内部类。

    • ★★★ 手写工厂模式。

    • ★★★ 理解 MVC,结合 SpringMVC 回答。

    • ★★★ 理解代理模式,结合 Spring 中的 AOP 回答。

    • ★★★ 分析 JDK 中常用的设计模式,例如装饰者模式、适配器模式、迭代器模式等。

标签:HTTP,java,复习,以及,TCP,原理,比较,作用,大纲
来源: https://www.cnblogs.com/dali1314/p/14737628.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有