Java工程师的一些面试总结(7)

来源:互联网 发布:淘宝降价提醒助手 编辑:程序博客网 时间:2024/05/22 17:23

哪有什么太迟了,这世上多的是大器晚成的人!

设计模式的六大原则;
解释单例模式;
单例模式的几种实现方式;
还知道哪些模式,解释一下;

java动态代理怎么使用(实现InvocationHandler接口);
java动态代理中被代理执行的是什么(另一种问法:哪一种类可以被被动态代理);

解释一下java反射;
java反射的优缺点;

spring两个核心思想;
IOC反转的是什么;
解释AOP;
AOP在spring框架中的实现有哪几种;
spring的AOP实现方式java动态代理和cglib有什么区别;
切面有哪些具体用途;如何定义;
springmvc中请求经过哪些流程,细节;

springmvc中的拦截器是如何实现的(AOP);
struts2中拦截器是通过什么实现的;

解释数据库的事务;
数据库事务的四个特性;
drop,delete与truncate的区别;
数据库范式;
mysql四种事务隔离级别及解释;
Mysql索引会失效的几种情况:
mysql中varchar与char的区别;
一张表,ID为自增主键,当insert了5条记录之后,删除了第4、5条记录,再把Mysql重启,再insert一条记录,这条记录的ID是4还是6;
mysql的复制原理及流程;
解释一下数据库的垂直切分和水平切分;
数据库优化的思路;

spring的事务管理是怎么实现的;

restful通过哪两个条件来区分是对哪个资源做什么操作;

说几种常见的RPC框架,解释一下工作原理、模型;

jdk提供的加锁的方式有哪几种,怎么使用;
为什么要使用锁;
使用synchronized时,哪些情况下其锁是对象,哪些情况下是class;
synchronzied同步的是什么;

volatile用来修饰什么;
volatile的作用是什么;
volatile使用时有什么限制;

Ececutor中几个任务管理的接口各有什么特征;

并发执行线程的方案;
thread.sleep() 和wait()的区别;
ThreadLocal是用来干什么的,在什么场景下使用;
线程和进程的区别;

jvm内存模型一般有那几块区域;
方法区存放什么数据;
java栈存放什么数据,是否线程私有;
堆中一般存放什么数据;
程序计数器存储什么;
本地方法栈存放什么数据;

new Object()的主要几个步骤:
定位对象的两种方式:
JVM内存分配策略,先考虑再哪个区域分配,如果该区域空间不够怎么处理;
什么叫年龄阀值;
什么叫提前晋升;
空间担保机制作何解释;

基本的垃圾收集算法;
常见的垃圾回收器有哪些;
如果可以,说一下CMS的步骤;
G1收集器和其他垃圾收集器最大的不同是什么;

谈谈对分布式的认识;
谈谈对分布式事务的认识;
Mysql对分布式事务的支持;
对于分布式数据库架构有没有具体实践和方案;

对解耦的认识和看法;
平时开发过程中对代码格式的要求;
对注释的添加有什么原则;
对于系统重构的开发;
在开发中中,更偏向于长远设计还是当前任务进度;
对于时间管理,有什么见解;
工作中遇到问题首先想到的是通过什么途径(baidu,问同事,还是什么)解决;

长按下图识别二维码关注我们
也欢迎把程序约推荐给你的家人好友
这里写图片描述
欢迎在下面留言评论

原创粉丝点击