聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 软通动力面试题集

软通动力面试题集

时间:    下载该word文档

1.Struts的运行机制:
Webstruts-config.xmlActionMapping,配置应用程序
1.ActionServlet接收用户请求
2.ActionServlet根据应用程序配置填充ActionForm
3.ActionServlet根据ActionMapping调用Actionexecute方法4.Action调用业务逻辑类Model在简单的程序中也可以在Actionexecute
方法中执行业务处理
5.业务逻辑类将处理结果返回给ActionAction将处理结果保存在适当的作用
域范围之内(sessionrequest等)
6.Actionexecute方法向ActionServlet返回ActionForward指明下一步调
用的ActionJSP视图
7.JSP视图取得保存在作用域之中的业务处理结果并负责显示HTML页面大家最好用自己的话来总结出来!2.常用的集合以及介绍:(应重点复习)
常用集合setmaplist
setmapcollection接口的子接口set接口的实现类:(无序,不可重复)HashSetTreeSet
List接口的实现类(有序,可重复)
ArrayList(数据列表linkedList(链表)Map接口的实现类:(键值对,根据key去查valueHashMapTreeMapHashtableArrayListlinkedList的区别(
ArrayList是用数组实现的,便于搜索和查找,因为数组有下标,不擅长插入和删除操作。
Linkedlist是链表实现的,链表是一个个节点链接起来的,擅长插入和删除,搜索和查询的效率比较低。
HashMapHashTable区别(HashMap不同步,空键值,效率高
HashTable同步,非空键值,效率较低。3.遍历map的方法:
使用Map接口提供的方法entrySet(;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;
publicclassMapTest{publicstaticvoidmain(String[]args{Mapmap=newHashMap(;map.put("a","中国";map.put("b","ABC";map.put("c",1000;/*for(Iterator>it=map.entrySet(.iterator(;it.hasNext(;{Entryentry=it.next(;System.out.println(entry;System.out.println(entry.getKey(;System.out.println(entry.getValue(;}*/for(Iteratorit=map.keySet(.iterator(;it.hasNext(;{Objectkey=it.next(;System.out.println(key;Objectvalue=map.get(key;System.out.println(value;}



}}
4.字符串相加用“+”和append(的区别
用“+“号每加一次创建一个对象比如:字符串常量池中有原字符串:”abc之后要加”de,加过之后内存中会有”abc”、abcde”两个字符串!但”abc”会失去原本指向它的引用变成垃圾回收机制回收的对象!
Append(只是将字符串追加到原字符串的尾部,始终都是一个对象!5.垃圾回收机制原理:
当一个对象赋值为null或者没有指引指向他的时候,那么这个对象就符合垃圾回收机制回收的范围,java虚拟机会不定时的对垃圾进行回收,回收对象之前会调用被回收对象的finalize(方法!
注意Java虚拟机何时来回收垃圾不确定!6.如何实现多线程:
继承Thread类或者实现Runnable接口
那种好处多:因为java是单继承所以一般会采用实现Runnable接口两种实现方式的区别:
继承Thread类可以创建本类对象直接调用start(方法运行线程(也就是说本类对象就是一个线程个人理解)
实现Runnable接口必须用Threadthread=newThread(来获得一个线程!7.代码的重构:
代码的输入、输出不变,只是改变中间实现代码!8.MVC思想
modelviewcontroller的缩写,model代表业务逻辑(通过javabeanEJB组建实view是应用表示面(jsp页面产生controller是提供应用处理过程的控制(一般是一个servlet。通过这种设计模式把应用逻辑、处理过程、显示逻辑分成不同的组件实现,可提高组件的交互和重用性。
9.struts1struts2的区别(见最后一页)10:讲解一下Spring
11:hibernate是怎么工作的原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory3.打开Sesssion
4.创建事务Transation5.持久化操作6.提交事务7.关闭Session
8.关闭SesstionFactory
12:hibernate的一级和二级缓存是什么
Hibernate提供了两级缓存,第一级是Session的缓存。由于Session对象的生命周期通常对应一个数据库事务或者一个应用事务,因此它的缓存是事务范围的缓存。第一级缓存是必需的,Session的缓存是内置的,不能被卸载。第二级缓存是一个可插拔的的缓存插件,它是由SessionFactory负责管理。由于SessionFactory对象的生命周期和应用程序的整个过程对应,因此第二级缓存是进程范围的缓存,第二级缓存是可选的,可以在每个类或每个集合的粒度上配置第二级缓存。
Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;查不到,再查询数据库,把结果按照ID放入到缓存。
13:hibernate的连接池
14:怎么接收dwr返回的数组或集合15:怎么读取一个文本文件(流)
16javascript中这么去掉字符串的空格
17:用ajax的时候怎么运行后台返回的javascript代码18:存储过程是用来干什么的19怎么终止一个线程
抛出异常和等待run(方法结束。20.悲观锁和乐观锁?
21.Oracle中实现序列用什么关键字?



Sequence
22.数据库中有哪些函数?23.解析XML的方法?
DOM解析和SAX解析
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问
SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML顺序访问
24.用递归法求n的阶乘?
25.Orcale中左右连接用“+”怎样连接
Oracle数据库左连接“+”在右边,右连接“+”在左边。26.Equals方法和==的区别。
equals(方法是用来比较两个字符串值是否相等
==是用来比较对象引用是否相等(也就是是否为同一个对象27.线程池的问题。
线程池就像数据库连接池一样,是一个对象池。所有的对象池都有一个共同的目的,那就是为了提高对象的使用率,从而达到提高程序效率的目的。比如对于Servlet它被设计为多线程的(如果它是单线程的,你就可以想象,当1000个人同时请求一个网页时,在第一个人获得请求结果之前,其它999个人都在郁闷地等待)如果为每个用户的每一次请求都创建一个新的线程对象来运行的话,系统就会在创建线程和销毁线程上耗费很大的开销,大大降低系统的效率。因此,Servlet多线程机制背后有一个线程池在支持,线程池在初始化初期就创建了一定数量的线程对象,通过提高对这些对象的利用率,避免高频率地创建象,从而达到提高程序的效率的目的。
28.struts1的一些配置问题web.xmlstruts-config.xml中的一些配置。29.JavaScript的一个操作流程。
30.一些简单的sql语句,比如说现在数据库中有10记录,要求你写一个语句保留第二条
和第五条记录,将其他的记录全部删除。31.存储过程、触发器
32.ThrowThrows的区别
throw语句用来明确地抛出一个“异常”
throws用来标明一个成员函数可能抛出的各种“异常”
33.在异常捕获时trycatchfinally中可不可以没有catch语句块。
可以,但try块不能单独执行,后面必须跟catch或者finally、或者两者都有。34.面向对象有哪些特征,你如何理解?
抽象、继承、封装、多态
35.什么是多线程?线程的状态有那几个?创建线程的方法?启动线程用什么方法?线程
同步包括的方法?
答:多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。
线程状态有:就绪、运行、挂起、结束启动线程用start(方法。线程同
步包含的方法:线程睡眠sleep(、线程让步:yield(、等待其他线程结束join(等。
36.StringstringBufferStringBuilder的区别
String字符串常量StringBuffer字符串变量(线程安全)StringBuilder字符串变量(非线程安全)
String是不可变的对象,因此在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String
StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用37.垃圾回收机制的原理?finalfinallyfinalize的区别?
回收机制就是当一些资源被创建使用之后或不在调用的话就会变成垃圾,垃圾的话会占用空间,这时候就需要释放空间给其他程序使用,所以JAVA拥有自动垃圾回收机制,会在适当的时候自动调用垃圾回收释放资源,程序员也可以手动调用释放资源等等



免费下载 Word文档免费下载: 软通动力面试题集

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服