企业面试题总汇(3)

2019-07-13 19:37

到个查询中(即使它们的间没有关系)

(2)删除重复记录: 最高效删除重复记录思路方法 ( 使用了ROWID)例子: DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO);

(3)用TRUNCATE替代DELETE: 当删除表中记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复信息. 如果你没有 COMMIT事务,ORACLE会将数据恢复到删除的前状态(准确地说是恢复到执行删除命令的前状况) 而当运用TRUNCATE时, 回滚段不再存放任何可被恢复信息.当命令运行后,数据不能被恢复.因此很少资源被,执行时间也会很短. (译者按: TRUNCATE只在删除全表适用,TRUNCATE是DDL不是DML)

(4)选择最有效率表名顺序(只在基于规则优化器中有效): ORACLE 解析器按照从右到左顺序处理FROM子句中表名FROM子句中写在最后表(基础表 driving table)将被最先处理在FROM子句中包含多个表情况下,你必须选择记录条数最少表作为基础表如果有3个以上表连接查询,那就需要选择交叉表(ersection table)作为基础表, 交叉表是指那个被其它表所引用表.

(5)WHERE子句中连接顺序.: ORACLE采用自下而上顺序解析WHERE子句,根据这个原理,表的间连接必须写在其它WHERE条件的前, 那些可以过滤掉最大数量记录条件必须写在WHERE子句末尾.

(6)SELECT子句中避免使用 ' * ': ORACLE在解析过程中, 会将'*' 依次转换成所有列名, 这个工作是通过查询数据字典完成, 这意味着将耗费更多时间

(7)减少访问数据库次数: ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引利用率, 绑定变量 , 读数据块等;

(8)在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数

据库访问检索数据量 ,建议值为200 (9)使用DECODE来减少处理时间: 使用DECODE可以避免重复扫瞄相同记录或重复连接相同表. (11) 用Where子句替换HAVING子句;

17、列举JSP的内置对象,同一应用中页面有哪些方法?

九大内置对象:

1.输出输入对象:request对象、response对象、out对象

2.通信控制对象:pageContext对象、session对象、application对象 3.Servlet对象:page对象、config对象 4.错误处理对象:exception对象

① 、直接在URL请求后添加 如:

< a href=\直接传递参数< /a> 特别的在使用response.sendRedirect做页面转向的时候,也可以用如下代码: response.sendRedirect(\,可用request.getParameter(name)取得参数

②、jsp:param 它可以实现主页面向包含页面传递参数,如下:

1. < jsp:include page=\> 2. < jsp:param name=\ value=\ /> 3. < /jsp:include> 还可以实现在使用jsp:forward动作做页面跳转时传递参数,如下:

1. < jsp:forward page=\> 2. < jsp:param name=\ value=\ /> 3. < /jsp:forward> 通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数 3、设置session和request通过显示的把参数放置到session和request中,以达到传

递参数的目的 session.setAttribute(name,value); request.setAttribute(name,value) 取参数: value=(value className)session.getAttribute(name);

value=(value className)request.getAttribute(name);

大家肯定已经注意到了,在取参数的时候,做了类型转换,这是因为放置在session和request中的对象的属性被看作 java.lang.Object类型的了,如果不转换,在将直付给value时会报classcastexception异常。

18、JSP如何获取HTML FORM中的数据?

html页面的表单

1. 在表单中,action动作和method合起来表示把数据交给mujsp.jsp页面去处理, 在jsp页面呢,用

<% request.getParmerter(\>获取html页面传递过来的数据,

要注意的是,有时候连个页面之间的传递会出现中文乱码现象, 解决乱码的做法是:在jsp页面加上

1. <% request.setCharacterEncoding(\ 2. request.setCharacterEncoding (\> 这样就不用担心编码问题了

另一种:是form表单提交方式获取表单数据。

19、JSP中redirect和forward的区别是什么?(类似12)

forward是使用同一个request,也就是说用forward传递后可以在页面中获取request

中的变量或属性。

redirect是新建一个request用新建的request传递。

比如有三个jsp文件,第一个里面有

20、JSP中对象的传递有哪些方法?

request,session,application,cookie

区别:page的生命周期最短,依次是request,session,application.他们保存在服务器端. cookie是保存在客户端的,用来解决HTTP无状态问题.

范围不同,最小的是page然后request,session,application范围依次增大.

21、Http协议中返回状态200、404、302、301、500、502各式什么含义?

200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

404 (未找到) 服务器找不到请求的网页。

500 (服务器内部错误) 服务器遇到错误,无法完成请求。

502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

22、描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理

实现sessionid的保存和传输。是cookie,将http的请求变得有状态。session的实现是

web服务器的事情,不过很显然默认是利用会话cookie,也就是存放在浏览器内存里的那种cookie来实现的,在cookie里只是存放了SessionID,然后在服务器上建立了一张表,对应客户端的SessionID。这张表是存放在服务器上的进程中的,也就是服务器的内存里,也就是Application里。当客户端请求服务器的时候,如果服务器发现这是一个新的请求,就会分配给他一个SessionID,也就是在浏览器写入一个sessionID的cookie。你可以试一下,在你请求过一次服务器之后,在服务器遍历客户端所有的cookie,就会发现这个叫做SessionID的cookie。

但是,这只是session实现sessionid状态记录的一种方法,如果客户端浏览器禁用了cookie,很多网站还是可以正常登录,还是可以正确识别浏览器的身份,这就是通过url重写的方式,每次交互都携带sessionid的信息。

还有一种方式,就是表单重写,有些服务器会在表单中增加隐藏域,来回传递sessionid。 所以在了解了这个session的原理之后我们可以自己来造一个自己的session,可以使用cookie,也可以使用url重写方式,也可以使用表单方式。 session的结束问题

还有知道了session的原理就会明白一个session会话如何结束,除非服务器端可以清除一个session会话,客户端是没有能力清除session的,关闭浏览器的时候并不能够结束当前的会话(忽略浏览器关闭事件),在不依赖于cookie的session中最明显,你可以记下你的sessionID那串字符串,关闭浏览器,打开,把sessionID自己替换,你就可以恢复刚才的会话了。所谓的20分钟session超时,是服务器每隔20分钟对于不活动的session清除而已。

还有要指出的是依赖于cookie的session是存放在浏览器内存中的,所以一个浏览器的进程就会产生一个session,可以通过任务管理器查看进程,对于IE来说,只有双击桌面上的


企业面试题总汇(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:管理运筹学第三版习题答案(全)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: