javasqloracle面试题汇总.docx
- 文档编号:25221146
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:26
- 大小:29.54KB
javasqloracle面试题汇总.docx
《javasqloracle面试题汇总.docx》由会员分享,可在线阅读,更多相关《javasqloracle面试题汇总.docx(26页珍藏版)》请在冰豆网上搜索。
javasqloracle面试题汇总
java、sql、oracle面试题汇总
讲明:
A想来B家做客,然而遭到了B的总管NATB的拒绝,理由是:
我从来没有听我家B提过你的名字,这时A找到了A,B都认识的朋友server,要求server给B报一个信,让B去跟总管讲A是我的朋友,因此,B跟总管NATB讲,A是我认识的朋友,如此A的访咨询要求就可不能再被总管NATB所拒绝了.简而言之,UDP打洞确实是一个通过server储存下来的地址使得彼此之间能够直截了当通信的过程,server只管关心建立连接,在建立间接之后就不再介入了.
2.爱护数据库的完整性、一致性、你喜爱用触发器依旧自写业务逻辑?
什么缘故
讲明:
尽可能用约束(包括CHECK、主键、唯独键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式能够保证不管何种业务系统访咨询数据库都能坚持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。
3.A=10,b=20在不使用第三变量使两值互换
讲明:
a=10,b=8
a=a-b
b=b+a
a=b-a
4.override与重载的区不
讲明:
override是把继承于父类的方法给覆盖掉
重载是同一个函数名同意不同类型、个数的参数,完成不同的功能,调用起来方便
5.抽象类跟接口的区不
讲明:
抽象类能够有非抽象方法,接口中只能有抽象方法。
接口能够实现多继承。
6.try{}里有一个return语句,那么紧跟在那个try后的finally{}里的code会可不能被执行,什么时候被执行,在return前依旧后?
讲明:
inally里的代码会执行,在return之前执行
7.实现一个冒泡排序
讲明:
ArrayList
list.add(76);
list.add(4);
list.add(786);
list.add(43);
list.add(21);
list.add(432);
list.add(10);
for(inti=0;i for(intj=1;j Integera; a=list.get(j-1); list.set((j-1),list.get(j)); list.set(j,a); } } } for(Integers: list){ System.out.println(s.intValue()); } 查出总成绩大于100分的学生信息 1ZhangSql602liC#503wangJava704zhangJava555liSql606 li Java 65 讲明: select*fromtablewhereidin(selectname,sum(gade)astotalfromtablegroupbynamehavingtotal>100) Where在分组之前过滤数据,条件不能包含聚组函数,having在分组之后过滤数据,条件中经常包含聚组函数。 带聚合函数的select中只能有聚合函数和分组列。 9.有一个学生表,有学生姓名,语文成绩,数学成绩。 请写出查询语文成绩和数学成绩在60分以上的学生信息,并能查出语文成绩和数学成绩之和大于130分的学生信息,请用一句SQL拼写出来。 讲明: select*fromtablewhereyuwen>60andshuxue>60andyuwen+shuxue>130 10.&和&&的区不? 讲明: 运算p1&&p2时,Java先运算p1,若p1为true再运算p2;若p1为false,则不再运算P2 11.什么是事务? 什么是锁? 讲明: 事务是指一个工作单元,它包含了一组数据操作命令,同时所有的命令作为一个整体一起向系统提交或撤消要求操作,即这组命令要么都执行,要么都不执行。 锁是在多用户环境中对数据的访咨询的限制。 SqlServer自动锁定特定记录、字段或文件,防止用户访咨询,以爱护数据安全或防止并发数据操作咨询题,锁能够保证事务的完整性和并发性。 12.什么是索引,有什么优点? 讲明: 索引象书的名目类似,索引使数据库程序无需扫描整个表,就能够在其中找到所需要的数据,索引包含了一个表中包含值的列表,其中包含了各个值的行所储备的位置,索引能够是单个或一组列,索引提供的表中数据的逻辑位置,合理划分索引能够大大提升数据库性能。 13.视图是什么? 游标是什么? 讲明: 视图是一种虚拟表,虚拟表具有和物理表相同的功能,能够对虚拟表进行增该查操作,视图通常是一个或多个表的行或列的子集,视图的结果更容易明白得(修改视图对基表不阻碍),猎取数据更容易(相比多表查询更方便),限制数据检索(例如需要隐藏某些行或列),爱护更方便。 游标对查询出来的结果集作为一个单元来有效的处理,游标能够定位在结果集的特定行、从结果集的当前位置检索一行或多行、能够对结果集中当前位置进行修改、 15.什么是储备过程? 有什么优点? 讲明: 储备过程是一组予编译的SQL语句,它的优点有1.承诺模块化程序设计,确实是讲只需要创建一次过程,以后在程序中就能够调用该过程任意次。 2.承诺更快执行,如果某操作需要执行大量SQL语句或重复执行,储备过程比SQL语句执行的要快。 3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。 4.更好的安全机制,关于没有权限执行储备过程的用户,也可授权他们执行储备过程。 16.什么是触发器? 讲明: 触发器是一种专门类型的储备过程,动身器要紧通过事件触发而被执行的,触发器的优点: 1.强化约束,触发器能够提供比CHECK约束。 2.跟踪变化,触发器能够跟踪数据库内的操作,从而不承诺未经承诺许可的更新和变化。 3.联级运算,例如某个表上的触发器中包含对另一个表的数据操作,而该操作又导致该表上的触发器被触发。 17.销售主表(订单号,业务员,客户名称,合同日期) 销售子表(订单号,产品编号,销售数量,销售金额) 产品表(产品编号,产品名称) 请按照以下条件,写出分不sql语句 1.统计合同日期为2006年10月的各业务员的销售数量和销售金额 2.统计合同日期为2006年10月的各产品的销售数量和销售金额 3.运算业务员‘张三'销售的产品为'维生素b‘的平均价格 18.什么叫做sql注入,如何防止? 请那个举例讲明。 讲明: sql注入,确实是利用程序员对用户输入数据的合法性检测不严或不检测的特点,有意从客户端提交专门代码,猎取服务端信息。 例如: “select*fromuserswhereusername=‘”+v_name+“'andpwd=‘”+v_pwd+“'”; If(obj! =null){ 验证通过 } 用户名随便输入,密码输入: aaa'or'1'='1 如何防止: PreparedStatement 19.请写出javascript弹出确认框的函数。 讲明: confirm(‘是否删除') 20.你以为大数据量下的列表显示分页应该如何处理? 请叙述一下你的方法 讲明: typerefCursorTypeisREFCURSOR;--游标类型定义,用于返回数据集 proceduresp_Page(p_PageSizeint,--每页记录数 p_PageNoint,--当前页码,从1开始 p_SqlSelectvarchar2,--查询语句,含排序部分 p_OutRecordCountoutint,--返回总记录数 p_OutCursoroutrefCursorType) as v_sqlvarchar2(3000); v_countint; v_heiRownumint; v_lowRownumint; begin ----取记录总数 v_sql: ='selectcount(*)from('||p_SqlSelect||')'; executeimmediatev_sqlintov_count; p_OutRecordCount: =v_count; ----执行分页查询 v_heiRownum: =p_PageNo*p_PageSize; v_lowRownum: =v_heiRownum-p_PageSize+1; v_sql: ='SELECT* FROM( SELECTA.*,rownumrn FROM('||p_SqlSelect||')A WHERErownum<='||to_char(v_heiRownum)||' )B WHERErn>='||to_char(v_lowRownum); --注意对rownum不名的使用,第一次直截了当用rownum,第二次一定要用不名rn OPENp_OutCursorFORv_sql; endsp_Page; /***************************************************************** *功能描述: 大数据量分页通用储备过程(重载1,举荐使用) *创建人: 夏春涛 *创建时刻: 2005-07-01 *****************************************************************/ proceduresp_Page(p_PageSizeint,--每页记录数 p_PageNoint,--当前页码,从1开始 p_SqlSelectvarchar2,--查询语句,含排序部分 p_SqlCountvarchar2,--猎取记录总数的查询语句 p_OutRecordCountoutint,--返回总记录数 p_OutCursoroutrefCursorType) as v_sqlvarchar2(3000); v_countint; v_heiRownumint; v_lowRownumint; begin ----取记录总数 executeimmediatep_SqlCountintov_count; p_OutRecordCount: =v_count; ----执行分页查询 v_heiRownum: =p_PageNo*p_PageSize; v_lowRownum: =v_heiRownum-p_PageSize+1; v_sql: ='SELECT* FROM( SELECTA.*,rownumrn FROM('||p_SqlSelect||')A WHERErownum<='||to_char(v_heiRownum)||' )B WHERErn>='||to_char(v_lowRownum); --注意对rownum不名的使用,第一次直截了当用rownum,第二次一定要用不名rn OPENp_OutCursorFORv_sql; endsp_Page; /***************************************************************** *功能描述: 大数据量分页通用储备过程(重载2) *创建人: 夏春涛 *创建时刻: 2005-07-01 *****************************************************************/ proceduresp_Page(p_PageSizeint,--每页记录数 p_PageNoint,--当前页码,从1开始 p_SqlSelectvarchar2,--查询语句,含排序部分 p_OutCursoroutrefCursorType) as v_sqlvarchar2(3000); --v_countint; v_heiRownumint; v_lowRownumint; begin /* ----取记录总数 v_sql: ='selectcount(*)from('||p_SqlSelect||')'; executeimmediatev_sqlintov_count; p_OutRecordCount: =v_count; */ ----执行分页查询 v_heiRownum: =p_PageNo*p_PageSize; v_lowRownum: =v_heiRownum-p_PageSize+1; v_sql: ='SELECT* FROM( SELECTA.*,rownumrn FROM('||p_SqlSelect||')A WHERErownum<='||to_char(v_heiRownum)||' )B WHERErn>='||to_char(v_lowRownum); --注意对rownum不名的使用,第一次直截了当用rownum,第二次一定要用不名rn OPENp_OutCursorFORv_sql; endsp_Page 21.shorts1=1;s1=s1+1;有什么错? shorts1=1;s1+=1;有什么错? 讲明: 第一句,编译期出错,第二句正确,属于方法重载。 22.简述spring的AOP和IOC 讲明: ioc(操纵反转)是一种设计模式,由传统的在程序中操纵依靠转移到由容器操纵,将相互依靠的对象分离,在spring文件中描述依靠,依靠只在使用时建立。 Aop(面向切面)是一种编程思想,oop的延伸,将系统中非核心业务提取出来,单独处理。 23.Tomcat的开启在哪个文件夹,改端口号的是哪个文件? 讲明: tomcat/bintomcat/confserver.xml 24.Jdk配置环境变量 讲明: JAVA_HOMEC: \JDK1.6.0 25.Java中访咨询数据库的步骤? Statement和PreparedStatement之间的区不? 讲明: 1。 注册驱动2。 取得连接对象3。 取得Statement4。 调用sql5。 处理ResultSet6。 关闭资源 26.在操纵台输入ip(202.168.23.45),然后,用.分割开同时每组数据不能超过255,最后,在操纵台输出分割后的ip。 27.编程题: 写一个Singleton出来。 讲明: classText{ privatestaticTextt=newText(); privateText(){} publicstaticTextgetInstance(){ if(t==null){ t=newText(); } returnt; } } classText{ privatestaticTextt=newText(); publicstaticsynchronizedTextgetInstance(){ if(t==null){ t=newText(); } returnt;}} 28.sleep()和wait()有什么区不? 讲明: sleep不开释锁,可实现同步,wait开释资源,无法同步。 启动一个线程是用run()依旧start()? 讲明: 30.在操纵台输入ip(202.168.23.45),然后,用.分割开同时每组数据不能超过255,最后,在操纵台输出分割后的ip。 31.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==依旧equals()? 它们有何区不? 32.try{}里有一个return语句,那么紧跟在那个try后的finally{}里的code会可不能被执行,什么时候被执行,在return前依旧后? Collection和Collections的区不? HashMap和Hashtable的区不? Arraylist与Vector区不? 讲明: ArrayList不能同步,但性能更高,Vector提供了同步机制。 集合二分法 讲明: 使用范畴: 在一个有序的集合里查找指定数字。 Intstart,end,index; Strat=0; End=list.size()-1; Index=(start-end)/2; If(list(index)>指定数字){ End=index; }elseif{ Start=index; }else{ Break; } 写出一个排序算法 Jndi是什么? 讲明: 为开发人员提供了查找和访咨询各种命名和名目服务的通用,统一的接口。 目前可访咨询的名目及服务: dns,xnam,novell名目服务,ldap,corba对象服务,文件系统,注册表,rmi,sdml,nis Java序列化是如何实现的? 讲明: 1。 将对象实例有关的类元数据输出2。 递归的输出类的超类直到不再有超类。 3。 开始从最顶层的超类输出对象实例的实际数据值。 4。 递归输出实例数据 Servlet是否线程安全? 如何读取Excel文件的数据,填充到数据库中,实习思路是什么? ? 如果有重复的数据如何办? ? 往常的数据我想保留不能够删除,如何实习? ? 43.写一个方法传参(intage1)方法实现的功能是查找person类 如果存在age大于age1返回true否则返回false 44.写一个copy方法将已知的类赋给另一个类 45.按照某个字段通过排序查询前几条数据 46.查询性不男的数据,并以ID从小到大排序 47.用模糊查询姓王的人员 讲明: select*fromtablewherenamelike‘王%' 48.删除生日在一段时刻的数据 讲明: select*fromtablewhereto_char(shengri,‘YYYY-mm-dd')betweenriqi1andriqi2 49.查询全部数据,有相同就返回一条 讲明: select*fromtablegroupbyname Idnameidname 1a1a 2b2b 3c3c 4b 50.在项目中那些地点使用到了XML技术? 如何实现的。 定义函数和储备过程的区不是什么,什么情形下只能用自定义函数,什么情形下只能用储备过程 52.subString的用法,lenght的用法,replace的用法 53.写出一条Sql语句: 取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意: ID可能不是连续的。 54.SqlConnection,SqlCommand,SqldataReader,SqlDataAdapter的用法 SSQL: 请取出tb_send表中日期(SendTime字段)为当天的所有记录? (SendTime字段为datetime型,包含日期与时刻)。 SSQL中更新触发器中如果有更新该表语句是否会造成死循环以及缘故。 57.递归法求10! 58.struts2运行的全流程, 讲明: 游扫瞄器发来的要求会被调度给struts2,这时struts2清理环境上下文(ActionContextCleanUp)做好相应的预备,与此如果Web框架配置了其他的框架过滤器(如siteMesh),那么struts2同时将用户的要求先通过此过滤器,该过滤器完成处理以后,struts2再通过ActionMapper等操纵器 调度,查找配置文件struts.xml,调度相应URL操纵器,预备调相应的action,如果此action配置了有关的拦截器,则按照拦截器的性质分不在action执行前后执行这些拦截器,Action与业务模型相互协作处理完成对应的用户逻辑后,将进一步唤醒视图模块以产生应答用户要求的页面。 同时,如果在此应用配置中配置了其他的框架过滤器,那么struts2将操纵权转交给此过滤器并完成整个应答。 struts2采纳的是pull-mvc模式,‘拉出式'是指视图组件按照要求从操纵器中将模型信息拉出来作为响应。 这与传统的Model2的方式不同,传统的Model2没有使用模型来治理信息,而是直截了当使用视图来访咨询信息。 “分级”是指对视图数据在存放,在struts2中,“值堆栈”用来为视图提供信息。 struts2MVC是一个java轻量级Web应用程序开发框架,它支持多视图,承诺用户使用不同的视图技术而不需要改变数据的生成逻辑。 它同时也包含了一个强有力的表达式语言来遍历其环境栈,一个小而有用的标签库, 59.用for,while,switch将sdfdshelloWwerorld输出helloWord,每次只能输出一个字符 讲明: 1.Stringa=”helloWord”; Stringb=”sdfdshelloWwerorld”; for(inti=0;i Stringc=a.subString(i,i+1); for(intj=0;j Stringd=b.subString(j,j+1); if(c.equals(d)){ System.out.print(c); break; } } } 2.Stringa=”helloWord”; Stringb=”sdfdshelloWwerorld”; inti=0; while(i Stringc=a.subString(i,i+1); i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javasqloracle 试题 汇总