这部份内容,参考了《面试官的七种武器》一文。 电面与face2face的面试仍是有区别的,不少考察方式没法使用。html
从简历聊起,逐渐进入正题。java
Java语法ios
重载与重写的区别?面试
java如何实现多态?算法
StringBuilder StringBuffer区别? 数据库
Nested Class相关概念?设计模式
Inner Class, Static Nested Class的使用?安全
如何在outer world中new一个nested class?性能优化
1 public class Outer { 2 3 public class Inner { 4 5 } 6 } 7 8 9 public class Tester { 10 public static void main() { 11 Outer outer = new Outer(); 12 Inner inner = outer.new Inner(); 13 } 14 }
final finally finalized关键字的区别?服务器
static关键字都有哪些使用场景(static方法必须,说出static block及格,说出import static会加分)。
初始化块?
lib
jdk中常见的framework,好比IO
Collection:
HashMap
juc并发框架:
ConcurrentHashMap的实现原理
volatile\sychronized关键字的使用
你经常使用的并发容器? BlockingQueue的实现ABQ和LBQ的区别?
显式锁与内置锁的区别?
AQS?
原子操做?
对于Spring来讲,要重点掌握IOC和AOP的实现原理,其中AOP要知道动态Proxy和CGLIB两种实现方式。
对于ORM框架,要重点掌握MyBatis和Hibernate的实现原理和不一样点。
JVM
JVM的运行时内存区域如何划分?
JVM内存模型
GC机制: GC: hotspot系列虚拟机有哪些经常使用的GC算法?
JVM的性能调优
类加载机制 双亲委派机制
JIT技术,为何Oracle的Java虚拟机叫作HotSpot?
手写代码
二分查找,快排的思想、时间复杂度分析等等
单链表的反转、判断单链表是否相交
反转二叉树、二叉树的层级遍历 如何使用队列来模拟栈的操做?
手写生产者消费者原型,手写单例模式
设计模式
单例(线程安全的单例?在Java中双重检查加锁为何会失效?)
你使用过的设计模式有哪些? 什么是策略模式?
Java开发中的其余环节
常见的Web服务器有哪些?
Nignx与Apache的原理及不一样
了解过哪些开源框架?
myBatis 与Hibernate相比,主要优点是?
Spring框架的主要特性是?(AOP和IOC)。
Redis持久化有哪些方式?
什么是一致性Hash?
什么是数据库事务,如何实现数据库事务? 如何实现分布式事务?
SQL性能优化方法:select * from table1; 若是有上百万条记录,如何优化? 覆盖索引。
作没作过运维? ps iostat netstat vmstat之类的命令如何使用,等。JVM监控主要是如何得到java core和heap dump,以及如何分析他们,另一些简单监控命令如jstack和jmap jhat等也要了解。
系统架构设计
如何设计电商秒杀系统?描述如何从各个环节,减小服务器的压力?
其余
项目中最大的挑战? 如何解决的?
非技术
薪资?加班? 职业规划?
参考文献:
http://www.cnblogs.com/lanxuezaipiao/p/3371224.html