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

这部分内容,参考了《面试官的七种武器》一文。 电面与face2face的面试还是有区别的,很多考察方式无法使用。

 

从简历聊起,逐渐进入正题。

Java语法

 

重载与重写的区别?

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

    原文作者:Zhao_Gang
    原文地址: https://www.cnblogs.com/hzg1981/p/5842189.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞