人力资源javasqloracle面试题汇总精编版.docx

上传人:b****5 文档编号:7543700 上传时间:2023-01-24 格式:DOCX 页数:20 大小:28.95KB
下载 相关 举报
人力资源javasqloracle面试题汇总精编版.docx_第1页
第1页 / 共20页
人力资源javasqloracle面试题汇总精编版.docx_第2页
第2页 / 共20页
人力资源javasqloracle面试题汇总精编版.docx_第3页
第3页 / 共20页
人力资源javasqloracle面试题汇总精编版.docx_第4页
第4页 / 共20页
人力资源javasqloracle面试题汇总精编版.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

人力资源javasqloracle面试题汇总精编版.docx

《人力资源javasqloracle面试题汇总精编版.docx》由会员分享,可在线阅读,更多相关《人力资源javasqloracle面试题汇总精编版.docx(20页珍藏版)》请在冰豆网上搜索。

人力资源javasqloracle面试题汇总精编版.docx

人力资源javasqloracle面试题汇总精编版

1.(口述题)请简述迅雷、BT等p2p下载软件的实现原理。

如何资源分布。

解释:

A想来B家做客,但是遭到了B的管家NAT B的拒绝,理由是:

我从来没有听我家B提过你的名字,这时A找到了A,B都认识的朋友server,要求server给B报一个信,让B去跟管家说A是我的朋友,于是,B跟管家NAT B说,A是我认识的朋友,这样A的访问请求就不会再被管家NAT B所拒绝了.简而言之,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.实现一个冒泡排序

解释:

ArrayListlist=newArrayList();

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;

if((list.get(j-1)).compareTo(list.get(j))>0){//比较两个整数的大小

a=list.get(j-1);

list.set((j-1),list.get(j));

list.set(j,a);

}

}

}

for(Integers:

list){

System.out.println(s.intValue());

}

8.查出总成绩大于100分的学生信息

1

Zhang

Sql

60

2

li

C#

50

3

wang

Java

70

4

zhang

Java

55

5

li

Sql

60

6

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_OutCursorFOR v_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_OutCursorFOR v_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_OutCursorFOR v_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释放资源,无法同步。

29.启动一个线程是用run()还是start()?

解释:

30.在控制台输入ip(202.168.23.45),然后,用.分割开并且每组数据不能超过255,最后,在控制台输出分割后的ip。

31.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?

是用==还是equals()?

它们有何区别?

32.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?

33.Collection和Collections的区别?

34.HashMap和Hashtable的区别?

35.Arraylist与Vector区别?

解释:

ArrayList不能同步,但性能更高,Vector提供了同步机制。

36.集合二分法

解释:

使用范围:

在一个有序的集合里查找指定数字。

Intstart,end,index;

Strat=0;

End=list.size()-1;

Index=(start-end)/2;

If(list(index)>指定数字){

End=index;

}elseif{

Start=index;

}else{

Break;

}

37.写出一个排序算法

38.Jndi是什么?

解释:

为开发人员提供了查找和访问各种命名和目录服务的通用,统一的接口。

目前可访问的目录及服务:

dns,xnam,novell目录服务,ldap,corba对象服务,文件系统,注册表,rmi,sdml,nis

39.Java序列化是怎么实现的?

解释:

1。

将对象实例相关的类元数据输出2。

递归的输出类的超类直到不再有超类。

3。

开始从最顶层的超类输出对象实例的实际数据值。

4。

递归输出实例数据

40.Servlet是否线程安全?

41.如何读取Excel文件的数据,填充到数据库中,实习思路是什么?

42.如果有重复的数据怎么办?

以前的数据我想保留不可以删除,如何实习?

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技术?

如何实现的。

51定义函数和存储过程的区别是什么,什么情况下只能用自定义函数,什么情况下只能用存储过程

52.subString的用法,lenght的用法,replace的用法

53.写出一条Sql语句:

取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:

ID可能不是连续的。

54.SqlConnection,SqlCommand,SqldataReader,SqlDataAdapter的用法

55SSQL:

请取出tb_send表中日期(SendTime字段)为当天的所有记录?

(SendTime字段为datetime型,包含日期与时间)。

56SSQL中更新触发器中如果有更新该表语句是否会造成死循环以及原因。

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将sdfdshelloW

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1