面试题总结(旧)

面试题总结(旧)

1、get与post的区别

GET提交的数据放在URL中,POST则不会。这是最显而易见的差别。这点意味着GET更不安全

(POST也不安全,因为HTTP是明文传输抓包就能获取数据内容,要想安全还得加密)

GET回退浏览器无害,POST会再次提交请求(

GET方法回退后浏览器再缓存中拿结果,POST每次都会创建新资源)

GET提交的数据大小有限制(是因为浏览器对URL的长度有限制,GET本身没有限制),POST没有

GET可以被保存为书签,POST不可以。这一点也能感受到。

GET能被缓存,POST不能

GET只允许ASCII字符,POST没有限制

GET会保存再浏览器历史记录中,POST不会。这点也能感受到。

2、JavaEE企业级三层架构

WEB层:负责与用户交互并对外提供服务接口

业务逻辑层:实现业务逻辑模块

数据持久层:将业务逻辑层处理的结果持久化,方便后续查询

对应框架:

WEB层:SpringMVC/Struts1/Struts2

业务逻辑层:Spring

数据持久层:Hibernate/MyBatis/SpringDataJPA/SpringJDBC

3、MVC设计模式

可以看做是对WEB层的细化

Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。

View(视图) - 视图代表模型包含的数据的可视化,比如HTML,JSP,Thymeleaf,FreeMarker等等

Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开,目前的技术代表是Servlet,Controller

我的理解:

View层一些jsp页面展现给用户看

Controller层接收用户的请求并决定调用哪个模型

model层即处理任务的一些业务规则(我觉得可以理解为一些函数方法?)

4、SSH(spring+struts2+hibernate)框架

struts2 负责MVC的分离,控制业务跳转,通过xml文件可以掌握系统各部分之间的联系

hibernate是负责数据持久层,实现与数据库之间的交互

spring相当于一个容器框架,可以对一些其他框架进行整合(控制反转(IoC)和面向切面(AOP)

由SSH构建系统的基本业务流程是:

1、在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。

2、在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。

3、在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果

5、struts1与strut2的区别:

和Struts1.x最大的革命性的不同是,Struts2处理Action过程中调用的方法(“execute”方法)是不带参数的。

6、面向对象思想

面向过程:以“执行者”的角度解决问题(设计算法)

面向对象:以“组织者”的角度解决问题(拿什么来用)

面向对象:封装、继承、多态(三大特性)

封装:一个类的属性 私有化 提供get set方法

继承:子类继承父类 有共性的东西可以互用

多态:接口多种不同的实现方式

7、JDK/JRE/JVM

JDK:java开发工具包

JRE:java运行环境

JVM:java虚拟机(是实现java跨平台的核心,但JVM本身并不是跨平台的) 不同的平台需要安装不同的JVM,一处编译 到处运行。

8、接口和抽象类的区别

接口:Java不允许多重继承,一个类通过继承接口的方式,从而来继承接口的抽象方法

JDK1.8之前:

抽象类:方法可以有抽象的,也可以有非抽象,有构造器

接口:方法都是抽象,属性都是常量,默认有public static final修饰

JDK1.8之后:

接口里面可以有实现的方法,注意要在放的声明上加上default或者static

9、ArrayList和LinkedList

ArratList:数组,连续一块内存空间(查找快,因为是连续的内存空间,方便寻址,但删除、插入慢,因为需要发生数据迁移)

LinkedList:双向链表,不是连续的内存空间(查找慢,因为需要通过指针一个个寻找,但删除、插入快,因为只要改变前后节点的指针指向即可)

10、AJAX

三要素(异步交互模式、XMLHttpRequest对象请求(现在以json为主)、回调函数)

AJAX引擎,通过回调函数进行局部刷新

11、JavaScript原型机制:

扩展原有类的特性

JavaScript:web编程语言

(基本: html:负责定义页面的内容 css:负责定义页面的样式 javascript:负责控制页面的行为)

jQuery是一个JavaScript函数库

jQuery 是目前最流行的 JS 框架

12、bootstrap:前端开发框架
13、消息中间件:异步、解耦、限流削峰
14、缓存

高频被访问、不是经常改变的数据 放入 缓存(不需要经常读数据库)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值