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

Java面试宝典之问答系列

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

以下内容,由兆隆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云学院”,,,,,,敬请期待

相关推荐

iis部署php项目(iis发布php)

1.启动iis服务器最后点击确定就完成了2.打开iis点击进入即可3.创建网站进入添加网站。添加注意事项如图所示!启动、浏览、重启、停止网站这个如图所示。需要说明的是只要修改了配置就必须重启下网站4...

Win10安装Apache和PHP(apache安装php模块)

说明:虽然PHPStudy之类的软件给我们提供了方便的集成环境,但是其使用的是非线程安全的PHP版本(NotThreadSafe,NTS),某些功能不可以使用。所以,我们还需要自己再安装一个Apa...

两个php框架在一个网站上开发好吗

框架就是通过提供一个开发Web程序的基本架构,PHP开发框架把PHPWeb程序开发摆到了流水线上。换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为稳定的程序,...

Ubuntu linux 上的 Nginx 和 Php 安装

教程-在UbuntuLinux上安装Nginx1.安装Nginx服务器和所需的包。apt-getupdatebrapt-getinstallnginx2.在Nginx配置文件...

网站开发初级(3) 之 PHP运行环境搭建

这篇文章主要是讲windows下php环境的搭建这里我们用的是phpstudy,作为入门学者足够了,解压安装就能用了,适当配置下基本能应付我们的开发要求下载地址:http://rj.baidu.co...

真实案例:优化用老PHP7.4的网站让其速度提高4倍

我让反应迟钝的PHP应用程序性能提升了4倍,而且我甚至没有改动任何源代码。没有重构,没有重写,只是进行了一系列精心规划的配置调整和部署优化。这篇文章将详细告诉你我是如何做到的。如果你的PHP应用程序运...

mac下快速搭建本地php开发环境(macbook开发php)

本教程主要是告诉大家,怎么快速的在mac下搭建php+mysql服务。一、安装CommandLineTools苹果系统下很多开发工具是基于CommandLineTools,所以安装它是首先。...

php手把手教你做网站(二十)vue+tp6简单案例(demo)

很多时候搭建好了环境,但是不知道怎么入手去开发。下面我们通过简单案例说明如何快速入门开发模块:例1:开发helloworld模块搭建好环境,新建项目以后,进入项目所在文件夹,依次进入src/compo...

Windows安装phpstudy(windows安装docker desktop)

说明:phpstudy是一个PHP+MySQL+Apache的集成环境,可以减少单独部署各个所需软件的麻烦,以及更加方便地切换版本。phpenv、wamp等软件的作用一样。由于环境的不同,安装过程中可...

服务器安装PHP网站的运行环境(php的服务器app)

首先要确认的是你的服务器的系统,Windows、或者linux系统。要想在Windows系统里运行php网站,可以选择iis或者Apache,如果你单独的去安装,可能会花很多时间去配置这个软件直接问题...

折腾群晖NAS:使用群晖web功能搭建个人博客「 小白玩NAS系列」

大家好,今天分享给大家如何利用群晖自带的web功能,来搭建一个属于自己的个人网站或者博客。搭建群晖web环境1、首先进入套件中心,下载webstation,群晖自带的web环境,安装会提示安装PHP...

黑客搭建钓鱼平台,手把手教你如何钓鱼?

跨站脚本攻击XSS:通过HTML注入篡改了网页,插入了恶意的脚本,从而用户浏览网页时,控制用户浏览器的一种攻击那么,我们搭建一个XSS钓鱼平台吧,注意:这个平台仅用于学习和测试,小伙伴们不要动有坏心思...

PHP 环境 搭建教程(php环境搭建apache)

PHP是一种编程语言,很多网站都用PHP语言编写,我们有时候需要测试一个网站,就需要PHP环境才能运行,又要安装Apache、又要安装MySQL……真的非常麻烦。其实我们可以使用PHP集成...

php手把手教你做网站(六)IIS创建站点注意事项

站点名称:随便填写;应用程序池:创建站点的时候会自动生成对应的,默认就好;物理路径:选择站点所在目录;类型:本地一定是http,网上可能会有https;IP地址:默认端口默认,如果是别的端口,网址访问...

分享PHP网站开发过程中的一些经验

现在的网站建设语言有几种,分别是ASP.NET,PHP,JSP这三种最为常见,这三种语言做出来的网站各有各的特点,asp属于最成熟的建站模式,jsp一般使用在大型网站系统上,对于php是目前比较流行的...