职业相关 面试 面经 经典笔记库 LearningNotes 第一部分: DesignPattern(设计模式) 面向对象六大原则 单例模式 Builder模式 原型模式 简单工厂 工厂方法模式 抽象工厂模式 策略模式 状态模式 责任链模式 解释器模式 命令模式 观察者模式 备忘录模式 迭代器模式 模板方法模式 访问者模式 中介者模式 代理模式 组合模式 适配器模式 装饰模式 享元模式 外观模式 桥接模式 第二部分 JavaSE(Java基础) Java基础知识 Java中的内存泄漏 String源码分析 Java集合框架 ArrayList源码剖析 LinkedList源码剖析 Vector源码剖析 HashMap源码剖析 HashTable源码剖析 LinkedHashMap源码剖析 JVM(Java虚拟机) JVM基础知识 JVM类加载机制 Java内存区域与内存溢出 垃圾回收算法 JavaConcurrent(Java并发) Java并发基础知识 生产者和消费者问题 Thread和Runnable实现多线程的区别 线程中断 守护线程与阻塞线程 synchronized 多线程环境中安全使用集合API 实现内存可见的两种方法比较:加锁和volatile变量 死锁 可重入内置锁 使用wait/notify/notifyAll实现线程间通信 NIO 第三部分 DataStructure(数据结构) 数组 链表 栈和队列 字符串 树 图 Algorithm(算法) 排序 选择排序 冒泡排序 快速排序 归并排序 面试中的十大排序算法总结 查找 顺序查找 折半查找 《剑指Offer》 面试题2:实现Singleton模式 面试题6:重建二叉树 面试题11:数值的整数次方 面试题44:扑克牌的顺子 面试题45:圆圈中最后剩下的数字 《程序员面试金典》 《LeetCode》 two-sum 《程序员代码面试指南(左程云)》 1.设计一个有getMin功能的栈 2.由两个栈组成的队列 3.如何仅用递归函数和栈操作逆序一个栈 第四部分 Network(网络) TCP/UDP HTTP Socket 计算机网络基础汇总 OperatingSystem(操作系统) Linux系统的IPC 第五部分 ReadingNotes(读书笔记) 《深入理解Java虚拟机》第12章 《Java编程思想》第一章读书笔记 《Java编程思想》第二章读书笔记 Project(项目) 项目难点