面试总结
五月份找工作的面试总结,有些题目想不起来或者记错的,仅供参考。
PS:如直接暴露公司名有侵犯的话,请联系删除
阳光博睿
-
spring的拦截器跟过滤器有啥区别?
答:
过滤器是servlet的,依赖servlet容器。对传入的Request跟Response可提前过滤一些信息,如:过滤非法url等。
拦截器是SpringAOP的,原理是面向对象编程。动态代理就是拦截器的简单实现。 -
spring高并发下,单例实例是怎么保证线程安全的?
-
说一下JAVA的锁?
答:java的锁主要分为以下几种:
无锁、偏向锁、轻量级锁与重量级锁(互斥锁);重入锁与非重入锁;自旋锁与非自旋锁;悲观锁与乐观锁;公平锁与非公平锁;独享锁与共享锁;可中断锁与不可中断锁。 -
JAVA线程池有哪些?
-
用过哪些springcloud的组件,说一下一个请求从开始到完成的过程
-
zookeeper的选举机制
-
dubbo的底层工作原理(步骤)
-
mybatis中#{}跟${}入参有什么区别?
-
Hashmap的底层结构
-
rpc远程调用和http协议的请求有什么区别
-
redis的集群搭建
-
说一下jvm,还有垃圾回收机制
-
说一下双亲委派机制
科锐国际
电话面试,需要会简单的英语交流能力。
-
说说JAVA的多线程的实现方法
答:
1、继承Thread类并重写run()方法;
2、实现Runnable接口并重写run()方法;(步骤:创建线程,用Threa类代理,调start()方法)
3、实现Callable<T>接口并重写call()方法(有返回值)。(步骤:创建线程,创建执行服务线程池,提交,得到返回值) -
Callable跟Runable有啥区别
答:
Runable接口的run()方法没有返回值,且run()方法只能抛出运行时异常;
Callable接口的call()方法有返回值,支持泛型,且call()方法允许抛出异常,可以捕获异常信息。 -
悲观锁与乐观锁
-
数据库存储引擎有哪些?有什么区别?
答:
1、MySQL默认采用的是MyISAM2、InnoDB支持事务(一条sql一个事务),MyISAM不支持事务
3、InnoDB支持数据行锁定,MyISAM不支持行锁定,只支持锁定整个表
4、InnoDB支持外键,MyISAM不支持。
5、InnoDB的主键范围更大,最大是MyISAM的2倍6、InnoDB不支持全文索引,而MyISAM支持
7、InnoDB不支持GIS数据,MyISAM支持
8、InnoDB没有内置的计数器,需要全表扫描来得到count(),MyISAM内置了计数器,可从中直接读取到count()的值。所以MyISAM比InnoDB快 -
怎么判断复合索引是否命中?
答:
explain sql语句分析;最左原则 -
说一下springcloud是干嘛的
-
分布式情况下怎么保证数据一致性
-
堆跟栈有什么区别
-
新生代和老年代有啥区别
中联创新
这个公司用activity流程引擎的,这块要求高一点。两道算法题第一道需要讲思路并能手写。
- activity原理(这块要求较高)
- 多线程的实现方法有哪些?有什么区别?
- 有线程ABC,怎样保证他们拿到的变量是最新的?
- 说下springboot的自动配置原理
- Hashmap的底层原理?
- 说一下红黑树?它是怎么自平衡的?
- zookeeper的选举机制
- 有了解过排序算法吗?说一下冒泡排序的时间复杂度
- 两道算法题:
1、给一个数组去重,但是只保留最后一位元素。
2、有两个int链表,对数值做加法并以链表形式输出。如:4→5→6,1→2→3。456+123=579,输出:5→7→9