最新公告
  • 欢迎您光临极客文库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 1. 前言

    面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力。但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点。在这里我将这 80% 常问的知识点整理出来,方便大家快速地掌握。这些知识点也标注了重要程度,从而让大家可以根据知识点的重要程度去制定学习计划。
    如果你想更好的学习这些知识点,建议学习使用的思维导图。
    下图列出了面试考察的九大知识点,也标出了重要程度和复习难度。
    其实重要程度根据不同的公司会有所不同,针对上图做一下几点说明:
    • 分布式与系统设计部分对于大厂面试来说至关重要,但是小厂面试考察的会少一点。
    • 语言基础部分,阿里喜欢问 Java、腾讯喜欢问 C++,其它大厂面试考察会少一些,小厂面试会考察多一些。
    • 数据库、中间件和框架部分对于大厂面试来说不是那么重要,但是对于小厂面试会重要一些。
    最后再说一下项目部分,它在实习招聘阶段中不是特别重要,但是在校园招聘阶段重要程度会增高。但是如果你的学历不好,而且没有博客、开源项目、竞赛等加分项,那么最好做个比较出色的项目来增加简历通过率。

    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 中常用的设计模式,例如装饰者模式、适配器模式、迭代器模式等。
    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » 一文帮你理清面试知识点

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者
    • 101会员总数(位)
    • 3672资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 128稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级