设为首页 加入收藏

TOP

Java企业面试题整理集合(4)(二)
2014-11-23 22:16:05 来源: 作者: 【 】 浏览:9
Tags:Java 企业 试题 整理 集合
个位置。i从0一直到N-1从而完成排序。(当然也可以从数组开始端开始比较相邻两元素,把第i大的冒泡到数组的第N-i个位置。i从0一直到N-1从而完成排序。)


l 选择排序:选择排序相对于冒泡来说,它不是每次发现逆序都交换,而是在找到全局第i小的时候记下该元素位置,最后跟第i个元素交换,从而保证数组最终的有序。相对与插入排序来说,选择排序每次选出的都是全局第i小的,不会调整前i个元素了。


l Shell排序:Shell排序可以理解为插入排序的变种,它充分利用了插入排序的两个特点:1)当数据规模小的时候非常高效;2)当给定数据已经有序时的时间代价为O(N)。所以,Shell排序每次把数据分成若个小块,来使用插入排序,而且之后在这若个小块排好序的情况下把它们合成大一点的小块,继续使用插入排序,不停的合并小块,知道最后成一个块,并使用插入排序。这里每次分成若干小块是通过“增量” 来控制的,开始时增量交大,接近N/2,从而使得分割出来接近N/2个小块,逐渐的减小“增量“最终到减小到1。一直较好的增量序列是2^k-1,2^(k-1)-1,…..7,3,1,这样可使Shell排序时间复杂度达到O(N^1.5)


l 快速排序:快速排序是目前使用可能最广泛的排序算法了。一般分如下步骤:1)选择一个枢纽元素(有很对选法,我的实现里采用去中间元素的简单方法);2)使用该枢纽元素分割数组,使得比该元素小的元素在它的左边,比它大的在右边。并把枢纽元素放在合适的位置。3)根据枢纽元素最后确定的位置,把数组分成三部分,左边的,右边的,枢纽元素自己,对左边的,右边的分别递归调用快速排序算法即可。快速排序的核心在于分割算法,也可以说是最有技巧的部分。


l 还有归并排序,堆排序,桶式排序,基数排序



59. 冒泡排序的时间复杂度(易)


O(n*n)



60. 查出一个表中30到50条的数据,sql语句(易)


Select top 21 * from 表名 where id not in


(select top 29 id from 表名order by id) order by id



61.说一下存储过程如何定义,怎么用(易)


Create procedure procedue_name


[@parameter data_type][output]


[with]{recompile|encryption}


as sql_statement


解释:


output:表示此参数是可传回的


with {recompile|encryption}


recompile:表示每次执行此存储过程时都重新编译一次


encryption:所创建的存储过程的内容会被加密



使用:exec proc 存储过程名 参数列表



OSI 和 TCP/IP 模型在传输层定义两种传输协议:TCP(或传输控制协议)和 UDP(或用户数据报协议)。


TCP:


TCP 的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一个虚拟连接。TCP 在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。它通过为其发送的每个数据包提供一个序号来完成此恢复。记住,较低的网络层会将每个数据包视为一个独立的单元,因此,数据包可以沿完全不同的路径发送,即使它们都是同一消息的组成部分。这种路由与网络层处理分段和重新组装数据包的方式非常相似,只是级别更高而已。


为确保正确地接收数据,TCP 要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它



UDP:


UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ 短消息使用 UDP 协议发送消息。


许多程序将使用单独的 TCP 连接和单独的 UDP 连接。重要的状态信息随可靠的 TCP 连接发送,而主数据流通过 UDP 发送。



分为是否有主键两种情况


如果没有主键:


–将不重复的记录插入临时表


select distinct *


into temp


from test



select * from temp


–删除原表数据


delete test


–从临时表复制过来


insert into test


select * from temp


select * from test


–如果有主键


delete test2 where id not in(


select min(id) from test2 group by A,B


)


select * from test2



水平:align垂直: valign


单选按钮的值:form.控件名[i].value



容器也是 java 程序,它的主要作用是为应用程序提供运行环境。,容器用来接管安全性、并发性、事务处理、交换到辅助存储器和其它服务的责任.


以tomcat为例:Tomcat是一个后台服务进程,其它的servlet(相当于DLL)是在Tomcat容器内运行,Broswer只与Tomcat通迅; Tomcat接受browser的请求,经过一系列动作(如果是静态网页,那么装载,按http协议形成响应流;如果是动态的如JSP,那就要调用JDK 中的servlet.jsp接口,解释形成静态网页,按http协议生成响应流发送回browser)后,形成静态网页,返回响应。



答案:内置九大对象:


a) request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。


b) response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。


c) session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。


d) out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象。


e) page对象:page对象就是指向当前servlet自身,有点象类中的this指针。


f) application对象:application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。


g) exception对象:exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象。


h) pageContext对象:page

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇阿里巴巴和淘宝网校园招聘数据库.. 下一篇一分钟先生: 程序员面试真经

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: