每日累加面试题

#面试题

1.讲一下MVC MVC设计模式: Model-View-Controller简写。
MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的设计方法。
它把软件系统分为三个基本部分:
控制器Controller:对请求进行处理,负责选择视图;
视图View:用户与程序交互的界面;
模型Model:用于业务处理2.springmvc的执行流程 SpringMVC是一个MVC框架.
springmvc的工作流程:

  1. 发送请求:在浏览器输入请求路径,发送请求.
  2. 获得处理器:根据请求路径获得对应的controller。
  3. 执行处理器:执行controller方法。如果方法返回的字符串,底层也会转换成ModelAndView。
  4. 解析视图:通过视图解析器(ViewResolver)解析ModelAndView中的视图,将逻辑视图解析成真正的视图。
  5. 渲染视图:将Model中的数据渲染到视图(View)中
  6. 响应结果:将模型数据(查询结果)渲染到jsp页面中,并将处理结果响应给浏览器。3.什么是Spring MVC框架的控制器Spring框架的核心控制器(前端控制器)是DispatherServlet
    它的核心功能就是分发请求,请求会被分发给对应处理的类处理handler。4.SpringMVC跳转一个页面,怎么返回一个json数据使用@ResponseBody注解,将返回json数据。
    1.如果在方法使用该注解,当前方法返回json数据。
    2.如果在类上使用该注解,当前类中所有的方法,都将返回json数据。
    springmvc默认用jackson对json数据进行转换,但需要添加jackson的包.5.JDK和JRE的区别 jdk是整个Java的核心,它包括了Java运行环境jre,和一堆Java工具以及Java基础的类和库,
    ?
    通过JDK开发人员将源码文件编译成字节码文件.
    ?
    jre是Java运行环境,不含开发环境,也没有编译器和调试器,jre会将class文件加载到内存中准备运行6.讲一讲Java内存的堆,栈和方法区 栈内存:调用方法将在栈中开辟内存,称为入栈,
    ?
    栈内存存放基本数据类型值和引用数据类型的地址
    ?
    栈内存中的数据,没有默认初始值,需要手动设置,方法调用完成,栈内存立即释放,称为出栈.
    ?
    ?
    堆内存:用于存放使用new创建的对象或数组,所有的对象都有内存地址值,数据都有默认初始值
    ?
    堆内存中的对象不再被指向时,jvm(虚拟机)会启动垃圾回收机制,自动清除.
    ?
    ?
    方法区:与Java堆一样,是各个线程共享的内存区域.
    ?
    存储已被Java虚拟机加载的类信息,常量,静态变量,以及编译器编译后的代码等.
    ?7.GC是什么什么要有GCGC是垃圾收集的意思
    是指JVM(虚拟机)用于释放那些不再使用的对象所占用的内存.垃圾回收可以有效的防止内存泄漏,有效的使用可以使用的内存,Java有了GC,就不需要程序员去人工释放内存空间.8.在Java中,对象什么时候可以被垃圾回收一般情况下Java中的对象可被回收的前提是:
    该对象不再被引用,然后垃圾回收器在回收的时候就会把这个对象清理掉.9.Java中会存在内存泄漏吗简单描述:会存在,内存泄漏是指程序分配的内存未释放或无法释放的现象.
    Java中内存泄漏的发生场景:全局的集合变量,不正确的单例模式的使用
    10.Java中内存泄漏产生的原因可能有哪些归的时候会引起栈内存溢出.1.静态集合类引起内存泄漏;
    2.当集合里面的对象属性被修改后,在调用remove()方法时不起作用;
    3.监听器
    4.各种连接
    5.内部类和外部模块的引用
    6.单例模式
    11.面向对象的基本特征是什么/什么是面向对象/你是如何理解面向对象装:有选择的隐藏和暴露一些数据和方法

继承 :子类可以直接实现父类中的方法,有选择的扩展

多态 :调用同一个方法展示出来不同的方法

抽象:把共同的特性抽取到一个类中

12.讲一讲你对oop(面向对象编程)的理解op指的是面向对象编程

面向对象四大特征分别是

1.封装:有选择的隐藏和暴露数据以及方法

2.继承:子类可以直接使用父类的部分数据和方法,可以有选择的扩展

3.多态:同一类的对象调用相同方法可以表现出不同的行为

4.抽象:将一些事物的共同性抽离出来归为一个类
13.Java中实现多态的机制是什么ava中,靠的是父类和接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法
14.Overload和Override的区别法重写:
1.也叫子类的方法覆盖父类的方法,要求返回值、方法名和参数都相同.
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能超出父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
方法重载:
在同一个类中的两个或两个以上的方法,拥有同名的方法名,但是参数不同,方法体不同,常见的重载的例子就是类的构造函数
15.构造器是否被override构造器不能被继承,所以不能被重写(override),但是可以被重载(overloading)
16.抽象类和接口的区别抽象类是什么:
含有abstract修饰符的class即为抽象类
特点:
1.不能创建的实例对象
2.可以有抽象方法
3.可以有构造方法,但构造方法不能是抽象的
4.抽象方法必须子类进行实现,如果子类只实现部分方法,该子类必须是抽象的
接口是什么:
含有interface修饰符就是
特点:
1.接口中的所有方法都必须是抽象的
2.接口中的方法定义默认为public abstract类型
3.接口中的成员变量类型默认为public static final
区别是什么:
1.单继承多实现:一个类可以实现多个接口,但只能继承一个抽象类
2.构造方法:抽象类可以有构造方法,接口中不能有构造方法
3.变量:抽象类中可以有普通成员变量,接口中只有常量
4.方法:抽象类可以包含非抽象的普通方法,接口中只有常量
5.修饰符:抽象类中的抽象方法可以使用public和proted进行修饰,但接口中的抽象方法只能使用public abstract修饰
6.静态方法:抽象类中可以包含静态方法,接口中不能包含静态方法
7.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型.
(JDK1.8新特性,接口可以有默认方法和静态方法)

17.抽象类不能被实例化那他的构造器是用来干什么的子类继承抽象类时,构造函数不会被覆盖
而且,在实例化子类对象是首先调用的是抽象类中的构造函数再调用子类中的
在这个阶段初始化抽象类字段或执行其他与子类相关的代码
18.java中有没有多继承java的类是单继承的,即每个类只能继承一个类
但是,Java中接口支持多继承,即一个接口可以继承多个接口

19.四类八种及其取值范围1.整形:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)
2.浮点型:float(4个字节)、double(8个字节)
3.字符型:char(2个字节)
4.布尔型:boolean(1个字节)
byte的取值范围为 -2的7次方到2的7次方-1
short -2的15次方到2的15次方-1
int -2的31次方到2的31次方-1
long -2的63次方到2的63次方-1

1.MVVM表示什么用是什么MVVM是model-View-ViewModel的简写,本质上是MVC的改进版
主要目的是分离视图与模型的,通过ViewMOdel视图模型将V和M连接起来
模型发生变化,通过MVVM框架自动更新视图动态
视图发生变化,通过MVVM框架自动更新模型数据
2.简述什么是单页,以及单页的优缺点 单页web应用,只有一个web页面的应用,是加载单个HTML页面并在用户与程序交互式动态更新该页面的web应用程序
单页面的优点:
–用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小
–前后端分离
–页面效果会比较炫酷
单页面的缺点:
–不利于seo
–导航不可用,如果一定要导航需要自行实现前进,后退
–初次加载时耗时多
–页面复杂度提高很多
3.Vue中的src文件夹一般都是放置那些文件/文件夹 src目录为前端开发的源码目录
–assets:文件夹用来放置静态资源目录
–components:功能组件
–views:页面组件
–router:路由文件
–store: vuex的数据
–app.vue:首页,初始化页面
–main.js:入口文件
4.Vue中的生命周期以及作用 –beforeCreate:初始化前
–created:初始化完成,一般完成”页面加载成功后”的相关操作
–beforeMount:挂载前,双向数据绑定前
–mounted:挂载完成,双向数据绑定完成
–beforeUpdate:更新前
–updated:更新完成
–beforeDestroy:销毁前
–destroyed:销毁完成
5.前后台分离,跨域问题如何解决–使用Nginx代理:Nginx统一程序入口,通过Nginx分发到不同的服务
–JSONP,通过

12.Vue的导航和守卫是什么什么作用vue-router提供的导航狗子主要用来拦截导航,让它完成跳转或取消
以在路由导航发生时执行钩子:全局的,单个路由独享的、组件级别的

1、全局钩子
router.beforeEach注册一个全局的before钩子
2、某个路由独享的钩子
在路由配置上直接定义beforeEnter钩子
3、组件内的钩子
beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave,在路由组件内直接定义路由导航钩子
13.Vuex的五大核心属性是什么uex是一个专门为Vue.js应用设计的状态管理架构

Vue有五个核心概念,state,getters,mutations,actions,modules.
state=>基本数据
getters=>从基本数据派生的数据
mutations=>提交更改数据的方法,同步
actions=>像一个装饰器,包裹mytations,使之可以异步
modules=>
14.字符串的方法有哪些代表什么意思indexOf:返回字符串的索引 lastIndexOf:返回字符串的最后的索引 substr(i,v):从第i个索引开始截取v个长度的字符 substring

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月8日
下一篇 2019年10月8日

相关推荐