【面试题解析】-- 20200409Java软件开发工程师面试题解析

1. 负载均衡与反向代理的作用是什么?

负载均衡,就是将多个访问同一地址的请求,通过一定的策略将请求分发到指定服务器上,而反向代理,可以将一个请求转发到真实的应用服务器。

2. 你在使用缓存的时候是否有遇到过什么问题?你是如何解决这个问题的?

比如缓存穿透,缓存穿透是由于在数据库中没有某个key的指定数据行,然后在缓存中也不存在该key,所以导致请求直接访问数据库,而给数据库带来压力。要解决这个问题,只需要在查询数据库后,如果没有查询到指定值,那么就在缓存中存入一个空值,并设置过期时间。

3. SpringMVC的执行流程是什么?

首先一个请求到达服务器,会被DispatcherServlet拦截,这时DispatcherServlet将会调用HandlerMapping,在创建对应的请求处理器,以及对应的请求拦截器,并返回DispatcherServlet,之后又调用HandlerAdapter(处理器适配器),这个时候将调用指定的控制器,控制器处理完毕后,返回ModelAndView对象,首先返回到HandlerAdapter,最后返回到DispatcherServlet,DispatcherServlet由会将ModelAndView交给ViewResolver,最后返回一个视图对象View,最终由DispatcherServlet渲染视图,并响应客户端请求。

4. 反射与动态代理的作用分别是什么?

反射机制,就是通过字符串参数构建指定对象,通过反射机制,我们可以知道任意类对象,以及它的属性和方法。动态代理,可以在不改变原始代码的情况下,实现新的功能。

5. Integer与int类型之间有什么区别?

Java中两种数据类型,一种是原始数据类型,一种是引用类型,Integer是int的封装类,它的默认值为null,int是原始数据类型,它的默认值为0。

发布了143 篇原创文章 · 获赞 75 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_43199016/article/details/105426706