软件工程面试题(三十七)
1、javascript取浏览器的版本 里面还有哪些对象?
<script type="text/javascript">
function getBrowser(){
var bro = navigator.userAgent.toLowerCase();
if(/msie/.test(bro)) return 'IE' + bro.match(/msie ([\d.]*);/)[1]
else if(/navigator/.test(bro)) return 'NS' + bro.match(/navigator\/([\d.]*)/)[1]
else if(/chrome/.test(bro)) return 'CR' + bro.match(/chrome\/([\d]*)/)[1]
else if(/safari/.test(bro)) return 'SF' + bro.match(/version\/([\d]*)/)[1]
else if(/opera/.test(bro)) return 'OP' + bro.match(/version\/([\d]*)/)[1]
else if(/firefox/.test(bro)) return 'FF' + bro.match(/firefox\/([\d]*)/)[1]
}
</script>
2、如何运行本地的EXE文件?
双击运行,或者在DOS窗口中通过命令运行
3、struts中的prepare怎么用?
首先Action组件实现Preparable接口的prepare()方法,在配置 Action组件时应用PrepareInterceptor拦截器。
4、Hrbernate的二级缓存讲述。
hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。
二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等。hibernate在执行任何一次查询的之后,都会把得到的结果集放到缓存中,缓存结构可以看作是一个hash table,key是数据库记录的id,value是id对应的pojo对象。当用户根据id查询对象的时候(load、iterator方法),会首先在缓存中查找,如果没有找到再发起数据库查询。
5、如果做个招聘网站性别只招男的,年龄20-30,如果不匹配就不能让他投简历,怎么实现? 填身份证时如何让该人信息全部显示出来?
使用JavaScript做客户端检验,填身份证时使用Ajax获取人员信息;
6、软件的开发过程、以及角色?
软件立项 à 需求分析 à 概要设计 à 详细设计 à 编码测试 à 验收运行
| | | |
|------------ 分析员 ---------|--------------程序员---------------|------------测试员-------|
7、Io流 InputStream及Reader的区别 ,怎样将字符流转换成字节流
InputStream 字节输入流、Reader字符输入流
OutputStreamWriter 是字符流通向字节流的桥梁
InputStreamReader 是字节流通向字符流的桥梁
8、启动线程调用那个方法 ?为什么要调用start()方法?若调用run()方法会出现什么情况?
面试题上有
9、Struts2.0 若在一个方法中返回的是null,表明什么?struts.xml还需要配置吗?为什么?struts有那些标签?struts.xml中有那些标签?
方法返回null,表示没有视图结果回应,当然自己通过流直接输出响应结果,则struts.xml只需对Action进行映射配置,而无须进行结果配置。