Java面试笔记(强烈推荐)

        本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那就点个小心心,文末赞赏一杯豆奶吧,嘻嘻。 让我们共同成长吧……


第一部分:

目录

一、算法 

    剑指 Offer 题解

        目录根据原书第二版进行编排,代码和原书有所不同,尽量比原书更简洁。

    Leetcode 题解

        对题目做了一个大致分类,并对每种题型的解题思路做了总结。

    算法

        排序、并查集、栈和队列、红黑树、散列表。

二、操作系统 

    计算机操作系统

        进程管理、内存管理、设备管理、链接。

    Linux

        基本实现原理以及基本操作。

三、网络

    计算机网络

        物理层、链路层、网络层、运输层、应用层。

    HTTP

        方法、状态码、Cookie、缓存、连接管理、HTTPs、HTTP 2.0。

    Socket

        I/O 模型、I/O 多路复用。

四、面向对象

    设计模式

        实现了 Gof 的 23 种设计模式。

    面向对象思想

        三大原则(继承、封装、多态)、类图、设计原则。

五、数据库

    数据库系统原理

        事务、锁、隔离级别、MVCC、间隙锁、范式。

    SQL

        SQL 基本语法。

    Leetcode-Database 题解

        Leetcode 上数据库题目的解题记录。

    MySQL

        存储引擎、索引、查询优化、切分、复制。

    Redis

        五种数据类型、字典和跳跃表数据结构、使用场景、和 Memcache 的比较、淘汰策略、持久化、文件事件的 Reactor 模式、复制。

六、Java

    Java 基础

        不会涉及很多基本语法介绍,主要是一些实现原理以及关键特性。

    Java 容器

        源码分析:ArrayList、Vector、CopyOnWriteArrayList、LinkedList、HashMap、ConcurrentHashMap、LinkedHashMap、WeekHashMap。

    Java 并发

        线程使用方式、两种互斥同步方法、线程协作、JUC、线程安全、内存模型、锁优化。

    Java 虚拟机

        运行时数据区域、垃圾收集、类加载。

    Java I/O

        NIO 的原理以及实例。

七、系统设计 

    系统设计基础

        性能、伸缩性、扩展性、可用性、安全性

    分布式

        分布式锁、分布式事务、CAP、BASE、Paxos、Raft

    集群

        负载均衡、Session 管理

    攻击技术

        XSS、CSRF、SQL 注入、DDoS

    缓存

        缓存特征、缓存位置、缓存问题、数据分布、一致性哈希、LRU、CDN

    消息队列

        消息处理模型、使用场景、可靠性

八、工具 

    Git

        一些 Git 的使用和概念。

    Docker

        Docker 基本原理。

    正则表达式

        正则表达式基本语法。

    构建工具

        构建工具的基本概念、主流构建工具介绍。

九、编码实践 

    重构

        参考 重构 改善既有代码的设计。

    代码可读性

        参考 编写可读代码的艺术。

    代码风格规范

        Google 开源项目的代码风格规范。

        第一部分转自:https://github.com/sjsdfg/Interview-Notebook-PDF,对于java程序员面试来说,是个很好的整理思路的文章,强烈推荐。感谢楼主分享。


第二部分

目录

一、常用集合

        ArrayList/Vector

        LinkedList

        HashMap

        HashSet

        LinkedHashMap

二、Java 多线程

        多线程中的常见问题

        synchronized 关键字原理

        多线程的三大核心

        对锁的一些认知

        ReentrantLock 实现原理

        ConcurrentHashMap 的实现原理

        如何优雅的使用和理解线程池

        深入理解线程通信

        交替打印奇偶数

三、JVM

        Java 运行时内存划分

        类加载机制

        OOM 分析

        垃圾回收

        对象的创建与内存分配

        你应该知道的 volatile 关键字

四、分布式相关

        分布式限流

        基于 Redis 的分布式锁

        分布式缓存设计

        分布式 ID 生成器

五、常用框架\第三方组件

        Spring Bean 生命周期

        Spring AOP 的实现原理

        Guava 源码分析(Cache 原理)

六、架构设计

        秒杀系统设计

        秒杀架构实践

七、DB 相关

        MySQL 索引原理

        SQL 优化

        数据库水平垂直拆分

八、数据结构与算法

        红包算法

        二叉树层序遍历

        是否为快乐数字

        链表是否有环

        从一个数组中返回两个值相加等于目标值的下标

        一致性 Hash 算法

        限流算法

        三种方式反向打印单向链表

        合并两个排好序的链表

        两个栈实现队列

        动手实现一个 LRU cache

        链表排序

        数组右移 k 次

九、Netty 相关

        SpringBoot 整合长连接心跳机制

        从线程模型的角度看 Netty 为什么是高性能的?

十、附加技能

        TCP/IP 协议

        一个学渣的阿里之路


    第二部分转自:https://github.com/crossoverJie/JCSprout


完结……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 11,244评论 4 56
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,413评论 1 14
  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,147评论 0 9
  • 这篇文章是为了介绍自己自学用过的Java视频资料。 本套整合教程总共180+G,共450+小时。考虑到绝大部分视频...
    bravo1988阅读 5,806评论 1 5
  • 原创初阿九 我的微信朋友圈里有很多微商广告的宣传。每天看他们不重样的宣传,我就觉得特别神奇,是哪里来的力量让他们每...
    乌衣斋阅读 295评论 0 1