菜是原罪...凉经分享....
问:项目最大并发量
问:关于项目,Mysql和redis同步
答:弱一致性,kafaka,缓存过期,两种方法
Kafaka提供者,消费者,开始胡扯了..他就不问了,感觉是答的最差的一个问题
问:Nginx负载均衡策略
答:默认轮询,权重,限制ip
问:Solr为什么使用solr,solr原理
Mysql也可以索引为什么还要用solr
答:减轻数据库压力,说solr自带缓存,使用分词器对中文处理效果
问:什么是Hash冲突
答:举了个HashSet中添加元素步骤的例子,即先比较hashcode再比较equals
问:Spring AOP原理
答:就说了个动态***,没什么印象了,说了下AOP的应用场景,应用在事务。
问烂的题了确实没什么经验和准备:
后面想了一下这么答应该比较好:
每个Bean都会被JDK或者Cglib***。取决于是否有接口。
每个Bean会有多个“方法拦截器”。注意:拦截器分为两层,外层由Spring内核控制流程,内层拦截器是用户设置,也就是AOP。
当***方法被调用时,先经过外层拦截器,外层拦截器根据方法的各种信息判断该方法应该执行哪些“内层拦截器”。内层拦截器的设计就是职责连的设计。
1.***的创建:
首先创建***工厂(拦截器,目标对象接口,目标对象)
创建***工厂时,默认会在拦截器尾部 增加一个默认拦截器用于最终的调用目标方法。
当调用getProxy方法的时候,会根据接口数量大余0条件返回一个***对象。
2.***的调用
当对***对象进行调用时,就会触发外层拦截器。
外层拦截器根据***配置信息,创建内层拦截器链。创建的过程中,会根据表达式判断当前拦截是否匹配这个拦截器。(职责链模式。)
当整个链条执行到最后时,就会触发创建***时那个尾部的默认拦截器,从而调用目标方法。最后返回。
问:什么是事务
答:保证数据一致性,和数据完整性。以及事务的4大特征
问:事务隔离,数据库对事务隔离的支持,
答:说了点spring配置声明式事务,事务传播的事。感觉答的不太好
问:多线程
答:了解过但没怎么用过多线程,thread,Runable(没细问)
问:spring和线程
答:说了下spring的sington和原型模式
问:Java集合,ArrayList和Linklist区别
答:Array是数组,查询快
Link是链表,删,增快
问:口述快速排序,快速排序时间复杂度
答:关键字,大的右边,小的左边。标识不清楚
不稳定O(nlogn)-O(n^2)
问:项目中遇到的难题
答:Session风暴
描述下session风暴
这里其实可以圆一下项目kafaka的事情,使用kafaka。。。
问:你还有什么其他专业技能(没什么准备这个问题就说了个Servlet,应该可以好好发挥下,有很大的发挥空间)
问:自我介绍
问:红黑树
答:平衡二叉树的一种,根节点黑色。没了。。。忘了...没准备
问:散列算法
答:说了下hash,变成固定长度
问:什么是好的hash算法
答:较少的hash冲突,如Java常用的平方取中法...这位置可以继续说的我怎么就收手了...Hash冲突的解决,开放地址啊,拉链啊...JDK8之后拉链的改进...hashCode和equals等等...
问:异常
答:举例几个异常例子,说了下RuntimeExeption运行时异常可以不捕获,IoException复查异常必修捕获。
问Java,sort实现原理
答:没了解过,(早期版本应该是归并实现,现在应该是Timsor,归并和插入混合实现)这里如果打出来估计能引出来对排序一些问题吧...
问:==和equals区别
答:举了个例子,==比较地址,equale比较内容,这完成可以深点说往JVM引...
问:项目
问:SOA怎么体现的
答:拆分业务,说了一些感觉面试官并不感兴趣。
提示:物理隔断怎么体现
答了下:war的,需要多少服务器之类的...
问服务间怎么通信:
答:dubbo说了下怎么应用的
问:dubbo原理
答:不知道停留在应用
问:zk原理
答:不知道,停留在应用
(这怕就是凉了吧...)
问:高并发还可以怎么解决
答:数据缓存,redis
问:对redis怎么用的
答:读操作过期..等等...写操作先往数据库写,后缓存过期同步至redis
问:这样会有什么问题
答:高频率写操作会对数据库造成压力
问:怎么解决
答:现阶段读写分离,主从复制
问:redis怎么用的
答:Jedis
问:你觉得这么使用有什么好处,这是种硬编码行为
问:还有什么问题
你还有什么要问我的:迫切需要加强什么
一个好的学习方法,知识广度够了,深度不够(这就是在劝退了吧..)加强基础!加强基础!