JAVA程序员面试笔试宝典4
1.HTTP中GET与POST方法有什么区别?
- GET方法上传数据时,数据添加在URL后面。同时,数据大小有限制,通常在1024Byte左右。POST方法传递数据是通过HTTP请求的附件进行的,传递的数据量默认是不受限制的。
- GET方法存在安全隐患,而POST方法向服务器提交的内容在URL中并没有明文显示,对用户是不可见的,所以POST安全性更好一些。
2.cookie和session有什么区别
- cookie数据存放在客户的浏览器上,session数据保存在服务器上,因此session安全性更高。
- cookie性能更高一些,session在一定时间内保存在服务器上,因此当访问量增多时,会降低服务器性能。
- 单个cookie保存的数据不能超过4KB,而session不存在此问题。
3.什么是IoC
控制反转,有时也称为依赖注入,是一种降低对象之间耦合关系的设计思想。具体而言IoC有以下两个方面的优点:
- 通过IoC容器,开发人员不需要关注对象如何被创建,同时增加新类也非常方便,只需要修改配置文件即可实现对象的“热插拔”。
- IoC容器通过配置文件来确定需要注入的实例化对象,因此非常便于进行单元测试。
尽管如此,IoC也有自身的缺点:
- 对象通过反射实例化出来,对系统的性能有一定影响
- 创建对象的流程变得复杂
4.内连接与外连接有什么区别
内连接:返回的结果集选取了两个表所有相匹配的数据,舍弃了不匹配的数据。(可能造成信息丢失)
外连接:外连接不仅包含符合条件的所有数据行,而且还包括左表(左外连接)、右表(右外连接)或连个连接表中的所有数据行(全外连接)。
5.什么是事务
事务必须满足4个属性:
- 原子性:即当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成
- 一致性:一个事务执行前和执行之后,数据库数据必须保持一致性状态,例如银行转账
- 隔离性:多个事务并发执行时,将一个事务内部的操作与事务的操作隔离起来,不被其他正在进行的事务看到。例如,对事务T1和T2,T2要么在T1开始之前就已经结束,要么在T1完成之后再开始执行。
- 持久性:事务完成以后,对数据库中的修改是永久性的。
6.什么是游标?
游标提供了一种对从表中检索出的数据进行操作的灵活手段,它实际上是一种能从包含多条数据记录的结果集中每次提取一条记录的机制。
7.如果数据库日志满了,会出现什么情况
只能执行查询等读操作,不能执行更改等写操作,原因是任何写擦做都要记录日志。
8.什么是视图
在数据库中,存放的只是视图的定义,而不存放视图包含的数据项,这些项目仍然存放在原来的表结构中。
- 简化数据查询语句
- 使用户能从多角度看待同一数据
- 提高数据的安全性
- 提供了一定程度的逻辑独立性