2018年10月java面试题(一)

1、机试题

Git拉去项目说明,搭建ssm框架或者springboot+mybatis框架,创建数据表,实现查询和更新的功能。

可参考博客:https://blog.csdn.net/u013782879/article/details/82051061

2、spring中javabean,a依赖b,b依赖c,c依赖a,如何处理?

答:(1)构造器循环依赖,运行报错。(2)setter注入,单例模式。提前暴露一个创建中的bean,因此循环成功。(3)setter注入方式原型,非单例模式,prototype,对于"prototype"作用域bean,Spring容器无法完成依赖注入,因为Spring容器不进行缓存"prototype"作用域的bean,因此无法提前暴露一个创建中的bean。

简明扼要的说,就是——不使用基于构造函数的依赖注入。可通过下面方式解决。
在字段上使用@Autowired注解,让Spring决定在合适的时机注入。【推荐】
用基于setter方法的依赖注射取代基于构造函数的依赖注入来解决循环依赖。

参考博客:https://www.cnblogs.com/tiger-fu/p/8961361.html

2、@requestmapping注解的用法

答:RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

RequestMapping注解有六个属性,下面我们把她分成三类进行说明。

1、 value, method;
value:     指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);

method:  指定请求的method类型, GET、POST、PUT、DELETE等;

2、 consumes,produces;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

produces:    指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

3、 params,headers;
params: 指定request中必须包含某些参数值是,才让该方法处理。

headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

3、springMVC数据请求流程

答:用户首先发送请求到前端控制器(DispatcherServlet),在doDispatch这个方法中会为请求找到对应的HandlerMapping(处理器映射),然后将这个HandlerMapping映射成HandlerExecutionChain(处理器执行链)对象(包含一个Handler处理器对象,多个HandlerInterceptor拦截器对象),接着会将得到的HandlerExecutionChain包装成HandlerAdapter(适配器),根据得到的HandlerAdapter调用真正的处理器得到一个ModelAndView对象,接着调用ViewResolver,把得到的ModelAndView中的视图名解析为具体的View,接着View根据传进来的Model模型数据进行渲染(如果有页面的话数据是放到了request.setAttribute中了),最后返回响应给用户。

简要流程https://blog.csdn.net/zknxx/article/details/72617472

详细流程https://www.cnblogs.com/dreamworlds/p/5396112.html

4、java项目打包时是否执行Junit是否执行

答:执行。避免执行,可以再pom文件中配置跳过单元测试插件。

https://blog.csdn.net/ron03129596/article/details/79131236

5、java从控制台获取数据的方法。

答:(1)使用System.in.read()一次获取一个字节

int in_num=System.in.read(); 

(2)使用Scanner获取

Scanner in=new Scanner(System.in);

(3)使用BufferedReader获取数据 

InputStream is=System.in;
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);

6、MySQL查询数据量过大如何处理

答:提高查询速度https://www.cnblogs.com/mengxz0626/p/5086055.html

分段查询:http://www.zhenhua.org/article.asp?id=200

7、未完持续……

你可能感兴趣的:(java基础)