百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Java面试宝典之问答系列

moboyou 2025-03-28 13:07 19 浏览

以下内容,由兆隆IT云学院就业部根据多年成功就业服务经验提供:

1. 写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT No , Name AS ‘姓名’ ,Num1 ,Num2,(Num1+Num2) AS ‘总和’

FROM Custom

1.何为“事务处理”,谈谈你对它的理解。事务处理是指一个单元的工作,这些工作要么全做,要么全部不做。作为一个逻辑单元,必须具备四个属性:自动性、一致性、独立性和持久性。自动性是指事务必须是一个自动的单元工作,要么执行全部数据的修改,要么全部数据的修改都不执行。一致性是指当事务完成时,必须使所有数据都具有一致的状态。在关系型数据库中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。所有的内部数据结构,在事务结束之后,必须保证正确。独立性是指并行事务的修改必须与其他并行事务的修改相互独立。一个事务看到的数据要么是另外一个事务修改这些事务之前的状态,要么是第二个事务已经修改完成的数据,但是这个事务不能看到正在修改的数据。

3.常用的数据结构有哪些?请枚举一些。(不少于5个)链表、堆栈、二叉树、队列、图、堆,集合。

4.什么是OOP?什么是类?请对比类和对象实例之间的关系。OOP是Object_oriented Programming(面向对象编程)的缩写。这主要是为了区别于以前的面向过程的程序设计!指的是用对象的观点来组织与构建系统,它综合了功能抽象和数据抽象,这样可以减少数据之间的耦合性和代码的出错几率。使用面向对象编程技术可以使得软件开发者按照现实世界里人们思考问题的模式编写代码,可以让软件开发者更好地利用代码直接表达现实中存在的对象,将问题空间直接映射到解空间!类:即class 在面向对象的程序设计中,专门用“类”来表示用户定义的抽象数据类型(user_defined abstract type)。它将具有相同状态、操作和访问机制的多个对象进行了抽象。类具有继承、数据隐藏和多态三种主要特性。利用类的这三种特性可以更好地表示现实世界中事物。类是同一类对象实例的共性的抽象,对象是类的实例化。对象通常作为计算机模拟思维,表示真实世界的抽象,一个对象就像一个软件模块,可以为用户提供一系列的服务---可以改变对象的状态、测试、传递消息等。类定义了对象的实现细节或数据结构。类是静态的,对象是动态的,对象可以看作是运行中的类。类负责产生对象,可以将类当成生产对象的工厂(Object factory).

5.有一组数字(3,10,6,8,98,22),请编程排序(升降序皆可),语言不限,算法不限,但须注明是何种算法。//下面使用简单的冒泡法进行排序!

#include "iostream.h" template class CBubble{

private: type *pArray; int size;public:CBubble(type a[],int sizeArray);void sort();void display();};

template CBubble::CBubble(type a[],int sizeArray)

{ pArray=a; size=sizeArray/sizeof(type);}

templatevoid CBubble::sort(){ type temp; for(int i=0;i<size-1;i++) for(int j=0;jpArray[j+1])//升序{temp=pArray[j+1];pArray[j+1]=pArray[j];pArray[j]=temp;}}

templatevoid CBubble::display(){for(int i=0;i<size;i++)cout<<pArray[i]<<endl;}

void main(void){int a[]={3,10,6,8,98,22};CBubble intData(a,sizeof(a));cout<<"The original data are :"<<endl;intData.display();intData.sort();cout<<"After sorting ,the data are:"<<endl;intData.display();

}


SQLhttp://www.jactiongroup.net/reference/html/index.html //书


http://blog.csdn.net/hbuzhang/archive/2004/12/07/207202.aspx //书

connection connconn.setAuto(false)//表示手动提交conn.commit// 提交conn.rollback();//事务回滚

-内联接use pubsselect a.au_fname, a.au_lname, p.pub_name from authors a inner join publishers p on a.city = p.city order by p.pub_name asc, a.au_lname asc, a.au_fname asc

--左外联接use pubs select a.au_fname, a.au_lname, p.pub_name from authors a left join publishers p

on a.city = p.city order by p.pub_name asc, a.au_lname asc, a.au_fname asc

-使用子查询USE pubs GO SELECT distinct pub_name FROM publishers WHERE pub_id IN (SELECT pub_idFROM titlesWHERE type = 'business') GO

--如果平均价格少于 $30,WHILE 循环就将价格加倍,然后选择最高价。

--如果最高价少于或等于 $50,WHILE 循环重新启动并再次将价格加倍。

--该循环不断地将价格加倍直到最高价格超过 $50 USE pubs GO

WHILE (SELECT AVG(price) FROM titles) < $30

BEGIN

UPDATE titles

SET price = price * 2

SELECT MAX(price) FROM titles

IF (SELECT MAX(price) FROM titles) > $50

BREAK

ELSE

CONTINUE

END

在兆隆已经毕业60000于名学子,均已成功就业!

---如果平均价格少于 $30,WHILE 循环就将价格加倍,然后选择最高价。

--如果最高价少于或等于 $50,WHILE 循环重新启动并再次将价格加倍。

--该循环不断地将价格加倍直到最高价格超过 $50

USE pubs

GO

WHILE (SELECT AVG(price) FROM titles) < $30

BEGIN

UPDATE titles

SET price = price * 2

SELECT MAX(price) FROM titles

IF (SELECT MAX(price) FROM titles) > $50

BREAK

ELSE

CONTINUE

END

CREATE PROCEDURE au_info

@lastname varchar(40),

@firstname varchar(20)

AS

SELECT au_lname, au_fname, title, pub_name

FROM authors a INNER JOIN titleauthor ta

ON a.au_id = ta.au_id INNER JOIN titles t

ON t.title_id = ta.title_id INNER JOIN publishers p

ON t.pub_id = p.pub_id

WHERE au_fname = @firstname

AND au_lname = @lastname

GO

EXECUTE au_info 'Dull', 'Ann'--或者

EXECUTE au_info @lastname = 'Dull', @firstname = 'Ann'--创建存储过程CREATE PROCEDURE titles_sum @TITLE varchar(40),@SUM money OUTPUT

AS

SELECT @SUM = SUM(price)

FROM titles

WHERE title LIKE @TITLE

GO

DECLARE @TOTALCOST money

EXECUTE titles_sum 'The%', @TOTALCOST OUTPUT

select @TOTALCOST

go

CREATE PROCEDURE Oakland_authors

AS

SELECT au_fname, au_lname, address, city, zip

FROM authors

WHERE city = 'Oakland'

and state = 'CA'

ORDER BY au_lname, au_fname

GO

--sp_helptext Oakland_authors

ALTER PROCEDURE Oakland_authors

AS

SELECT au_fname, au_lname, address, city, zip

FROM authors

WHERE state = 'CA'

ORDER BY au_lname, au_fname

GO

--sp_helptext Oakland_authors

--提交事务后,所有书籍支付的版税增加 10%。

begin transaction MyTransaction

update roysched

set royalty = royalty * 1.10

commit transaction MyTransaction

--rollback transaction MyTransaction

select royalty from roysched

--select @@trancount

--1.创建试验实验表

create table temptrigger

( id_temp varchar(2) not null primary key,

temp_name varchar(10) null,

temp_age int null)go

insert temptrigger values('01','张三','10')

insert temptrigger values('02','李四','11')

insert temptrigger values('03','王五','12')

insert temptrigger values('04','赵六','11')

select * from temptrigger go

--2.创建insert , update触发器

create trigger temptrigger_modify

on temptrigger

for insert,update

as

begin

if (select temp_age from inserted) > 15

begin

rollback transaction

print '年龄不能超过15岁!'

end

end

--insert temptrigger values('04','大朋','17')

--insert temptrigger values('05','大朋','17')

--insert temptrigger values('05','大朋','14')

--update temptrigger set temp_age='18' where id_temp = '01'

--update temptrigger set temp_age='9' where id_temp = '01'

-3.创建delete 触发器--drop trigger temptrigger_delete

create trigger temptrigger_delete

on temptrigger

for delete

as

begin

print @@rowcount

if @@rowcount > 1

begin

rollback transaction

print '一次删除记录不能多于1条'

end

end

--delete from temptrigger

--delete from temptrigger where id_temp='01'

--创建聚集索引create clustered index clindx_titleid on roysched(title_id)--sp_help roysched

--创建非聚集索引create nonclustered index unclindx_titleid on roysched(title_id)--sp_help roysched

--查看索引统计dbcc show_statistics(roysched,titleidind)

--更新索引统计update statistics authors

--重建索引dbcc dbreindex('roysched',unclindx_titleid)

--删除索引drop index
roysched.unclindx_titleid-sp_help roysched

在兆隆 非高薪 不就业

1--创建ssn(社会保险号)的基于varchar的自定义数据类型。

--用于存储11位社会保险号(999-99-999)的列。该列不能

--为null。use pubs exec sp_addtype ssn , 'varchar(11)' , 'NOT NULL'

--查看创建的数据类型--sp_help ssn

--使用创建的数据类型create table mytable( myid varchar(2) primary key, myssn ssn)

4-删除创建的数据类型--drop table mytable--exec sp_droptype ssn

o是包含一个或多个 Transact-SQL 语句的组,从应用程序一次性地发送到 Microsoft SQL Server 执行。批作为一个整体执行,以GO命令结束。批处理是客户端作为一个单元发出的一个或多个 SQL 语句的集合。每个批处理编译为一个执行计划。

触发器o触发器是在对表进行插入、更新或删除操作时自动执行的存储过程o触发器通常用于强制业务规则o触发器可以确保数据的完整性和一致性

事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位(构成单一逻辑工作单元的操作集合)如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。

如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除

o是在多用户环境中对数据访问的限制封锁就是事务 T 在对某个数据对象(如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。(锁蕴含的基本概念是用户需要对表的排它访问)o从程序员的角度看:分为乐观锁和悲观锁。乐观锁:完全依靠数据库来管理锁的工作。悲观锁:程序员自己管理数据或对象上的锁处理。

子查询:一个 SELECT 语句嵌套在另一个 SELECT 语句中。

索引是一个数据库对象,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,然后根据指定的排序次序排列这些指针 优点提高查询执行的速度。 强制实施数据的唯一性。 提高表之间联接的速度。 缺点 存储索引要占用磁盘空间。数据修改需要更长的时间,因为索引也要更新。

o视图o是一种虚拟表,通常是作为来自一个或多个表 的行或列的子集创建的。o视图本质上讲,就是保存在数据库中的select查询o视图并不是数据库中存储的数据值的集合。o对最终用户的好处– 结果更容易理解– 获得数据更容易

o对开发人员的好处– 限制数据检索更容易– 维护应用程序更方便

存储过程o使用一个名称存储的预编译T-SQL语句和流程控制语句的集合o由数据库开发人员或数据库管理员编写

o用来执行管理任务或应用复杂的业务规则 优点o执行速度更快o首次运行时,进行优化和编译得到执行计划并将该计划存储在系统表中,以后直接运行。o实现多个程序共享应用程序逻辑o组件式编程o能够屏蔽数据库的结构,实现更高的安全性

o减少网络流通量

数据库设计和建模必要性o好的数据库结构有利于:-节省数据的存储空间-能够保证数据的完整性-方便进行数据库应用系统的开发o设计不好的数据库结构将导致-数据冗余、存储空间浪费-内存空间浪费

不管数据库的大小和复杂程度如何,可以用下列基本步骤来设计数据库:–收集信息–标识对象–设计数据模型–标识每个对象 存储的信息类型–标识对象之间的关系

o数据模型是一种标识实体类型及其实体间联系的模型。典型的数据模型由网状模型、层次模型和关系模型。

什么是规范化从关系数据库的表中,除去冗余数据的过程称为规范化。精简数据库的结构从表中删除冗余的列标识所有依赖于其它数据的数据

三级范式

第一范式的定义: 如果一个表中没有重复组(即行与列的交叉点上只有一个值,而不是一组值),则这个表属于第一范式(常记成1NF)。简而言之:"每一字段只存储一个值"。例如:职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码)

第二范式的定义:如果一个表属于1NF,任何属性只依赖于关键字,则这个表属于第二范式(常记成2NF )。简而言之:必须先符合1NF的条件,且每一行都能被唯一的识别。 将1NF转换成2NF的方法是添加主键。学号,课程名,成绩

第三范式的定义:如果一个表属于2NF,且不包含传递依赖性,则这个表是第三范式(常记成3NF)。满足3NF的表中不包含传递依赖。简而言之:没有一个非关键属性依赖于另一个非关键属性。学号,课程号,成绩,学分学号,姓名,所在系,系名称,系地址一、连接各种数据库方式速查表

下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。

1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID

String user="test";

String password="test";

Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();

String url="
jdbc:db2://localhost:5000/sample"; //sample为你的数据库名

String user="admin";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

3、Sql Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";

//mydb为数据库

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

4、Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance();

String url ="
jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名

Properties sysProps = System.getProperties();

SysProps.put("user","userid");

SysProps.put("password","user_password");

Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance();

String url =

"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

user=testuser;password=testpassword"; //myDB为数据库名

Connection conn= DriverManager.getConnection(url);

6、MySQL数据库

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"

//myDB为数据库名

Connection conn= DriverManager.getConnection(url);

7、PostgreSQL数据库

Class.forName("org.postgresql.Driver").newInstance();

String url ="
jdbc:postgresql://localhost/myDB" //myDB为数据库名

String user="myuser";

String password="mypassword";

Connection conn= DriverManager.getConnection(url,user,password);

8、access数据库直连用ODBC的

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");

Connection conn = DriverManager.getConnection(url,"","");

Statement stmtNew=conn.createStatement() ;

罗英保

2005 05

什么是类与对象?

所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。

类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。

属性与方法?

不同对象具有相同特点,就可能抽象为一定的类,那么这些特点基本上可以分为两类,一类是描述对象静态状态的,就是对象的属性,在程序设计中,可以称之为变量;另一类是描述对象的动作,就是对象的方法,在程序设计中我们称之为函数。属性和方法是一个对象所具备的两大基本要素,也是我们后面编程工作的核心。

什么是封装?

只要有足够的方法,就没必要直接去操作对象属性,只要调用这些方法就可以实现要完成的任务,这种现象称为封装,它通过对象方法对其属性的操作把对象属性封装在一个对象内部,对象与外界打交道全部通过其自身的方法来实现,有效的把对象属性隐藏在对象内部。

编写 java文件的注意事项?

在记事本中编写java文件,在保存时一定要把文件名和扩展名用双引号括起来,否则将默认保存为文本文件,如果要保存的java 文件名为Program1.java,则在保存时在文件名文本框中一定要输入”Program1.java”。

如何编译java程序?

单击开始|运行命令,在命令行上输入cmd,按回车键(在 window98中输入command,按回车键),即可打开一个命令窗口,将目录转换到编写java源程序所在的目录,输入javac filename.java

如何执行java程序?

同样在命令窗口中输入java filename,

基本数据类型?

Java的数据类型可以划分为4大类:整数,浮点数,字符型,布尔型。其中整数可以划分为:byte,short,int,long.浮点数可以划分为float,double.

更多精彩,请关注微信公众号“兆隆IT云学院”,,,,,,敬请期待

相关推荐

Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录

首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...

Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用

一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...

Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用

原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...

FILTER函数介绍及经典用法12:FILTER+切片器的应用

EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...

office办公应用网站推荐_office办公软件大全

以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...

WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!

办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...

收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程

原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...

Excel函数公式教程(490个实例详解)

Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...

Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!

工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...

Excel中的SCAN函数公式,把计算过程理清,你就会了

Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...

Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效

在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...

Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!

在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...

Excel新版本,IFS函数公式,太强大了!

我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...

Excel不用函数公式数据透视表,1秒完成多列项目汇总统计

如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...