面试可能问到的问题

一、写一段小文本,描述spring纯注解事务编程要点。
1)spring容器注册
数据源,JdbcTemplate
事务,<tx:annotaion-driven />
1)写DAO类
在事务方法上面,注解事务@Transectional
2)在spring容器检测




二、写一段小文本,描述单例模式、工厂模式、代理模式的含意。


单例模式:在某一特定的环境下,一个类的对象永远只有一个


工厂模式:如果一个类有工厂方法,那么这个方法一定具有两个特点,
第一,生产产品功能,new 产品类(),第二,返回已生产的产品,return 产品类对象,这种方式称为工厂模式


代理模式:一个真正的工作任务,由另一个代理类表现出来,这个任务仍然是由原有工作类完成的,这种方式,就叫做代理模式。


三、写一段小文本,描述springjcbc模块
 1、模块功能
        也称为springDAO模块,是spring独立封装jdbc,采用sql技术处理数据表增删改查操作的工具。
  2、编程要点
        1)配置数据源
          包括JdbcTemplate
        2)写M部分
          包括PO类,DAO类;注解方式引用JdbcTemplate数据源工具
          采用jdbcTemplate类对象处理数据表增删改查操作

        3)在spring容器中检测数据表增删改查操作


数据库范式:表示数据表规范化程度


数据库第一范式:数据表中的数据符合结构化条件,即任何一列


的数据不能细分。


数据库第二范式:数据表中的数据在符合第一范式的基础上,非主键字段与主键之间,必须有依赖关系。


数据库第三范式:数据表中的数据,在符合第二范式的基础上,非主键字段之间,不能产生依赖关系


外键:本表中的某一字段,引用另一个表的主键,则本表这个字段就是外键。
子表:有外键字段的是字表
主表:主键字段被引用的表是主表

视图:
用一个简单的单表,代表一个复杂查询的快捷方式,这个复杂查询可以是一个,也可以是N个表


数据视图不保存数据
不加快查询速度
可以简化业务模型
主要用于查询
可能进行增、删、改操作,要依据情况

外连接:


一对主子表查询时,用主表的主键去关联子表的外键,当子表有数据时,显示数据,当子表无数据时,用空显示



一、写一段小文本,描述String/StringBuffer/StringBuilder关键点。
1.String:
(1)String的值是不可变的,String的操作都是改变赋值地址而不是改变值操作。
(2)String s1 = "a"+"b"; 


2.StringBuffer:
(1)它是可变类,并且线程安全;
(2)每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,       //类似的还有vector,hashtable,由于支持同步,就会降低速度,但线程是安全的
   不会分配新的容量,当字符串大小超过容量时,会自动增加容量。 
(3)StringBuffer st1 = new StringBuffer(); 
   st1.append(a).append(b).append(c);


3.StringBuilder:
(1)它是线程不安全的;
(2)一般来说,StringBuilder类比StringBuffer速度要快一点。
(3)StringBuilder st2 = new StringBuilder(); 
   st2.append(a).append(b);      //类似还有ArrayList ,hashMap


基本数据类型和引用数据类型的区别

基本类型,缺省值为0
浮点型,0.0
布尔 缺省值 为 true;主要是在前台录入时,如果用基本数据类型,会变成相应的缺省值
引用类型的缺省值为空


1.SpringMVC的开发要点
  一、开发所需环境:
   1)构建一个javaWeb项目
      
   2)加载springmvc组件环境
      
   3)配置文件
     a> web.xml
        关联spring容器.xml
        请求后缀*.action
        字符集utf-8
     b>spring容器.xml
       开启springmvc注解
       指明jsp所在目录与后缀
       数据源
       mybatis的其他设置      
      
   二、注解方式的编程要点:
       1)写一个springmvc的控制器
          @Controller,当前类
          @RequestMapping,多级
          请求方法
          请求参数,通过pojo类传递
          
       2)建立一个JavaWeb项目
       3)加载SpringMVC组件
       4)修改web.xml文件
           1)springmvc的容器.xml文件放在/WEB-INF/后某个目录
           2)请求后缀
           3)字符集,utf-8
       5)配置springmvc的容器文件
           1)控制器所有package目录
           2)jsp文件,2个要素
             所在目录
             后缀
            <property name="prefix" value="/" />
            <property name="suffix" value=".jsp" />
       6)Jsp页面检测
          1)写一个jsp
            /WEB-INF/.../.../...jsp
          2)写一个控制器
             @Controller
             @RequestMapping,多级
          3)浏览器检测


      一.web项目部署的意义

1.将项目对外发布,容器是Tomcat,weblogic等等。

1. 拷贝开发环境下的web目录

2. 收集jar包

3. 同步开发环境下的代码,即Tomcat下面的内容会随着开发环境的改变而同时改变。


一、写一段小文本,描述springmvc+mybatis的开发要点。
1、在springmvc正常工作基础上
2、springmvc+mybatis容器.xml配置
数据源
集成mybatis.cfg.xml,SqlSessionFactory
集成MyBatis的IMapperDAO接口
事务管理器,transactionManager
注解事务,<tx:annotation-driven />
3、写mybatis注解IMapperDAO接口
4、写mybatis的DAO类
@Service,类上面
@Autowired,在IMapperDAO类属性上面
@Transactional,事务方法上面
5、写控制器
@Autowired,引入MyBatis的DAO类
在提交方法中,直接用dao类对象
      
1)封装:


       同一个类的2个不同对象的属性与方法是独立的


    2)继承:
     
      子类无条件地拥有父类的属性与方法,但是只能使用父类作用域可以用到的属性或方法


    3)多态:
       
       在继承时,一个覆盖方法的每一个不同实现,便是这个方法的一个多态。


    4)抽象:


       一个方法只有声明,没有具体实现

一、jsp四种数据链传递数据的区别:
     1、page
        当前请求的jsp页面传递数据有效,(只有JSP有此对象,servlet无此对象这部分应该省略)
     2、request
        请求的一瞬间,转发的相关页面传递数据有效
     3、session
        某个客户的会话周期内(打开到关闭浏览器或者设置的会话时间内),相关页面之间,传递数据有效
     4、application
        当前应用服务器所有的客户端的请求,共享数据有效

一、写一段小文本,描述spring几个常用模块的作用。
1、IOC模块
Inversion Of Controll,反转的控制
表示构建一个类对象,不是自己的代码直接new 构造函数出来的,而是spring容器,通过反射技术构建出来的,这一过程就称为IOC
2、aop模块
Aspect Oriented Programming,面向切面编程
spring监控代码运行的工具
3、jdbc模块
Java Database Connectivity,java数据库连接
也称为DAO模块,是采用sql技术处理数据表增删改查操作的工具
4、ORM模块
Object/Relation Mapping,对象关系映射
将sql语句转换成java对象,通过操作java对象,处理数据增删查改操作
spring无自己的orm组件,需要与orm组件,例如与mybatis集成,集成后处理数据表操作。
5、WEB模块,也称为springmvc模块
比Jsp更好用的Jsp,有固定的mvc代码结构,可以完成Bs的管理软件页面快速开发
这个mvc框架功能非常强大,例如
各种数据类型转换
数据自动收集(request.getParameter(...))
各类校验
国际化
拦截器
文件上传
excel/xml/jso格式数据输出
。。。

二、写一段小文本,描述spring-aop的前置、后置、环绕、异常的含意
AOP前置是在进入方法还没执行时进行监测
AOP后置是在方法执行完还未返回时进行监测
环绕前置和后置的结合
AOP异常是当代码出现异常时进行监测

一、char有几个字节

2到6个字节

原型设计模式:生成一个类对象,不是直接new 类()出来的,而是用某个类对象拷贝出来的。
装饰模式:一个工作任务,经过一些点缀,表面上看起来发生一些改变,这每一次改变,就是一次装饰,这种设计方式就装饰设计模式

二、描述springmvc+mybatis注解方式处理事务编程。
1、在springmvc正常工作基础上




2、springmvc+mybatis容器.xml配置
数据源
集成mybatis.cfg.xml,SqlSessionFactory
集成MyBatis的IMapperDAO接口
事务管理器,transactionManager
注解事务,<tx:annotation-driven />
3、写mybatis注解IMapperDAO接口


4、写mybatis的DAO类
@Service,类上面
@Autowired,在IMapperDAO类属性上面
@Transactional,事务方法上面


5、写控制器
@Autowired,引入MyBatis的DAO类
在提交方法中,直接用dao类对象


一、写一段文本,描述事务定义及定义acid

要实现某个业务,要涉及到数据库多个相互关联的操作,这些操作要么全部成功,要么全部失败,如果的失败,则回到原始状态。

则这样的一个业务,就称为一个事务。

一、        关于事务的属性,acid

1、         原子性,Atomicity

表示一个事务的一系关联的动作合起来是一个最小单位,不可以分离的单位。

2、   一致性,Consistency

表示一个事务的多个相互关联的动作,按原计划进行,没错误发生,称为该事务的一致性

3、         隔离性,Isolation

多个事务同时进行时,彼此不受到影响,每个事务都可以独立完成。

理解:将每个事务设想一个独立的多线程,或进程

4、         持久性,Durability

表示一个事务一旦完成,不能反悔,或撤消,不能再回到原始状态。




三、描述div+css编程关键要点,css属性,标签
1.float
作用:通过css定义float让div样式层块,向左或向右(靠)浮动。
语法:
float:none 不使用浮动
float:left 靠左浮动
float:right 靠右浮动


2.margin
外边距,指的是控件边缘相对于父空间的边距
语法:
(1)margin-left:10px; 左外边距
(2)margin-right:10px; 右外边距
(3)margin-top:10px; 上外边距
(4)margin-bottom:10px; 下外边距
(5)margin:10px; 四边统一外边距
(6)margin:10px 20px; 上下、左右外边距
(7)margin:10px 20px 30px; 上、左右、下外边距
(8)margin:10px 20px 30px 40px; 上、右、下、左外边距


3.padding
作用:内边距,指的是控件的内容相对于控件的边缘的边距
语法:
(1)padding-left:10px; 左内边距
(2)padding-right:10px; 右内边距
(3)padding-top:10px; 上内边距
(4)padding-bottom:10px; 下内边距
(5)padding:10px; 四边统一内边距
(6)padding:10px 20px; 上下、左右内边距
(7)padding:10px 20px 30px; 上、左右、下内边距
(8)padding:10px 20px 30px 40px; 上、右、下、左内边距


4.list-style:no-style
作用:把图像设置为列表中的列表项目标记
属性:
list-style-type     设置列表项标记的类型。ul.circle {list-style-type:circle;}
list-style-position  设置在何处放置列表项标记。ul{list-style-position:inside;}
list-style-image     使用图像来替换列表项的标记。ul{list-style-image:url("/i/arrow.gif");}


5. clear
作用:属性规定元素的哪一侧不允许其他浮动元素
语法
img
  {
  float:left;
  clear:both;//在左右两侧均不允许浮动元素。
  clear:left;//在左侧不允许浮动元素。
  clear:right;//在右侧不允许浮动元素。
  }


6.<div>标签
作用:是一个块级元素,可定义文档中的分区或节
语法:
<body>
<div >
 <p>text</p>
  ...
</div>
</body>






7.<ul>
作用:定义无序列表的标签
语法:
<ul>
  <li>红色</li>
  <li>蓝色</li>
  <li>白色</li>
</ul>


8. <tr> 定义 HTML 表格中的行
<th>定义表格内的表头单元格
<td>定义 HTML 表格中的标准单元格
语法:
<table border="1">
  <tr>
    <th>姓名</th>
    <th>年龄</th>
  </tr>
  <tr>
    <td>王小明</td>
    <td>18</td>
  </tr>
</table>


一、接口和抽象类的区别

(接口里所有方法均为抽象方法,所有的属性是常量,public static final 这几个关键词不用写,方法前面只能是public abstract,可以省略;一个接口可以继承多个接口;

一个类可以实现多个接口;抽象类可以没有抽象方法)

考试时,或面试时

抽象类:可以有抽象方法,也可以有具体方法,一个实现子类,只能继承一个抽象类   

接口:接口的方法全是是抽象方法,一个接口可以继承多个接口,一个实现子类,可实现多个接口

猜你喜欢

转载自blog.csdn.net/qq_34520606/article/details/78366813