[关闭]
@wxf 2018-03-06T17:25:14.000000Z 字数 1212 阅读 730

专业技能

面试系列


1.线程池
常用的线程池有几种?
这几种线程池之间有什么区别和联系?
线程池的实现原理是怎么样的?
线程池的具体使用场景,让你回答这种场景该使用什么样的线程池比较合适。

2.多线程同步、锁这块也是重点。
synchronized和ReentrantLock的区别、
synchronized锁普通方法和锁静态方法、
死锁的原理及排查方法等等

3.假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?

4.Socket IO是比较重要的一块

阻塞/非阻塞的区别
同步/异步的区别
理解阻塞IO、非阻塞IO、多路复用IO、异步IO这四种IO模型,Socket IO如何和这四种模型相关联。
(深入)
NIO的原理、NIO属于哪种IO模型、NIO的三大组成等等,
(提一句)
NIO并不是严格意义上的非阻塞IO而应该属于多路复用IO,面试回答的时候要注意这个细节,讲到NIO会阻塞在Selector的select方法上会增加面试官对你的好感。
(NIO框架)
如果用过Netty,可能会问一些Netty的东西,毕竟这个框架基本属于当前最好的NIO框架了。

5.JDK源码
String源代码(hashCode())
List、Map、Set实现类的源代码
ReentrantLock、AQS的源代码
AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
线程池的实现原理
Object类中的方法以及每个方法的作用

6.框架
想要在Spring初始化bean的时候做一些事情该怎么做、想要在bean销毁的时候做一些事情该怎么做
Spring AOP的实现原理
Spring是如何实现IOC的
Spring的Bean工厂实现的UML图

7.数据库
union和union all的区别

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

连接查询
几种索引及其区别
数据库性能的优化

8.数据结构和算法分析
数组、链表是基础
栈和队列
树(二叉树、平衡树、AVL树、红黑树)
Collections.sort方法使用的是哪种排序方法:TimSort的排序法,也就是增强型的归并排序法。
一致性Hash算法

9.Java虚拟机
Java虚拟机的内存布局
GC算法及几种垃圾收集器
类加载机制,也就是双亲委派模型
Java内存模型
happens-before规则
volatile关键字使用规则

10.Web方面
谈谈分布式Session的几种实现方式
讲一下Session和Cookie的区别和联系以及Session的实现原理
对Filter、Servlet、Listener的使用要知根知底
forward/重定向的区别
HTTP协议
HTTPS的实现原理

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注