Offer 选择:
Java 基础:
- equals 与 == 的区别
- HashMap, HashTable, ConcurrentHashMap 三者的区别
- TreeMap, HashMap, LinkedHashMap 的区别
- Collection 包结构与 Collections 的区别
- java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
- java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
- Java 面向对象的三个特征及其含义
- 解释和比较 override and overload
- Interface 和 absctract class 的区别
- java 多态的实现原理
- 锁的等级: 方法锁, 对象锁, 类锁
- wait()和 sleep() 的区别
- java 反射 (reflection) 的作用和原理
* - Concurrent 包里
- for each 和 for 循环的效率比较
- 设计模式:单例, 工厂, 适配器, 责任链, 观察者等
- ThreadPool 的用法与优势
- ThreadLocal 的设计理念与作用
- hashcode and equals
- 什么情况下一个object不会被回收
- 写一个服务器log程序
- 内存溢出(out of memory)和内存泄漏(memory leak):
- 找公共父节点
- Java Object 自带方法
- String Buffer 和 String Builder 的区别
多线程
- Synchronize 的机制
- volatile 关键字
- Synchronized 适用情况
- 写出单例线程安全的懒汉模式
- 写出生产者消费者模型
- 解决死锁
Linux 常用指令
数据库
- SQL 索引
MySQL索引原理及慢查询优化 MySQL索引类型总结和使用技巧以及注意事项
理解MySQL——索引与优化 MySQL引擎
*mysql索引总结—-mysql 索引类型以及创建 - mySQL事务关系, 数据库事务
测试
Python
- python 面试题
Java 和 C++的区别
Java 1.8 新特性
JVM
- 内存溢出(out of memory)和内存泄漏(memory leak):
- 类加载器:
- JVM调优
clone 方法的实现,
浏览器敲回车会发生的过程
##
sort
Data Structure and algorithm
- Priority Queue
- TreeMap and TreeSet
- 海量数据处理问题
JavaEE
操作系统
- 线程与进程的区别
- 进程之间的通讯方式
- 函数调用过程栈帧变化
- 线程之间访问共享资源
网络协议:
- 三次握手
参考 - 从客户端发送信息到服务器端的过程模拟
- get, put, post 的区别
GET,POST,PUT,DELETE的区别 - Cookie 和 Session
Cookie/Session机制详解