瑞友科技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工程师#