瑞友科技Java社招面筋


笔试:

1、笔试题有JAVA基础、然后是tomcat的优化、SpringMVC的流程;

2、然后还有几个几个JVM的题,还问了下java几种常见的设计模式,策略、模板方法设计模式和代理模式。

面试:

1、先自我介绍,然后说说java的基础类型,线程与多线程;

2、jdk基础,设计模式,常见框架的原理及底层,数据库方面的优化;

3、linux和tomcat的日志如何调取?

4、如果Kafka有一个broker宕机了怎么办。

5、Zookeeper的Watch机制是怎么实现的?

6、如何提高数据库查询效率?

答:对于大量数据而言,建立索引可以有效提高查询效率。

7、如何知道索引是否生效?

答:通过explain命令即可知道有什么索引,以及索引是否生效

8、mysql索引的底层实现用的是哪种数据结构?假设你建立了一个组合索引查询时将where后的条件互换位置,索引是否会生效,为什么?

答:mysql索引的底层实现用的是B树或B+树,索引不会生效,因为组合索引中B的B树是在A的B树的节点上建立的,如果互换位置的话相当于没有索引,所以索引不会生效。

9、SpringMVC流程和Struts2的流程以及这两个的区别。

答:说的比较笼统,因为我很久不用struts2就说了入口不同,struts2核心入口是一个过滤器。SPringMVC核心入口是前端控制Servlet,然后Struts2是一个请求方法对应一个类,SpringMVC则是一个请求方法对一个method。最后就是总结了一下SpringMVC的一些优点,比Struts2轻啊,无缝兼容SPring之类的。

#社招##面经##瑞友科技##Java工程师#
全部评论
第8问就是问的最左匹配原则吧
点赞 回复 分享
发布于 2021-04-29 12:26
第8会生效,查询优化器,会给你把位置换成联合索引的顺序
点赞 回复 分享
发布于 2021-05-11 11:25

相关推荐

评论
1
9
分享
牛客网
牛客企业服务