我给出的一份Java服务器端面试题-适合电话面试

这部份内容,参考了《面试官的七种武器》一文。 电面与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

相关文章
相关标签/搜索