以下纯属参考,未必这么考
honglei:请大家一定要注意 oracle 数据库方面的知识
现在用人单位在 java 和 c++的笔试上基本上难不倒我们
但在一些对于数据库有比较高要求的软件企业,比如做金融
很多时候,我们会有 oracle 数据库方面受挫,
从而造成在薪资水平上受压制,甚至失去这个机会。
1.对于一个数据库表,可以有 1 个主键和 多 个外键。
2.为了防止一个用户的工作不适当的影响另一个用户,应该采取(c)
a,完整控制 b,安全性控制 c,并发控制 d,访问控制
3.关系数据库中,实现实体之间的联系是通过表与表之间的(d)
a,公共索引 b,公共存储 c,公共元组 d,公共属性
4,sql 语言集数据查询,数据操纵,数据定义,数据控制功能与一体,充分体现了关
系数据库语言的特点和优点。
5,触发器可以在 插入,删除或修改特定表中的数据 中的一种或几种操作发生时自
动执行。
6,请列数据库编程中连接 sql server 数据库的三中不同技术:dsn,dsn-less,oledb
7,请举出实体间具有一对一,一对多,多对多联系的例子。
8,简要说明事务的原子性?
事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数
据修改操作要么全部执行,要么完全不执行。这种特性称为原子性。
事务的原子性要求,如果把一个事务可看作是一个程序,它要么完整的被执行,
要么完全不执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据
库。这种特性称为原子性。
假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须
是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤消(或流产)。dbms
必须确保由成功提交的事务完成的所有操纵在数据库内有完全的反映,而失败的事务
对数据库完全没有影响。
9,简要说明为什么存储过程执行速度比普通的 sql 更快而且减少网络流量?
谁都知道存储过程是预编译的
存储过程其实就是能完成一定操作的一组 sql 语句,只不过这组语句是放在数据库中
的(这里我们只谈 sql server)。如果我们通过创建存储过程以及在 asp 中调用存储过
程,就可以避免将 sql 语句同 asp 代码混杂在一起。这样做的好处至少有三个:d$y/
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可
以大大减少同数据库的交互次数。
第二、提高安全性。假如将 sql 语句混合在 asp 代码中,一旦代码失密,同时也就
意味着库结构失密。
第三、有利于 sql 语句的重用。
应用题:0s
studentba`a
学号 姓名 性别 年龄 所在系
sno sname ssex sage sdept
courseb
课程编号 课程名 学分
cno cname ccredit
学号 课程编号 成绩%\
sno cno gradepr]
1,查询所有学过课程“数据库”的学生姓名,并且按年龄从大到小排序
select stu.sname stu.sage from student stu,course,sc where stu.sno=sc.sno
and sc.cno=course.cno and course.cname=‘数据库‘
2,查询平均分数为 85 以上的学生名单和平均得分
select stu.sname from student stu,sc where stu.sno=sc.sno and avg(sc.grade
)>85;
3,新增加一门 2 个学分的课程,编原理 课程编号为 1005 (char 型)
insert into course(cno,cname,ccredit) values(‘1005’,”编译原理”,2);f}
(}'
4,在选修关系 sc 表中,建立序号和课程编号的唯一索引。
5,学生信息中,要增加身份证号码字段 类型为 char 长度 18 非空
alter table student add(credit_id char(18) not null);
6,删除 sc 表中学号已经不存在的记录
delete from sc where sno not in(select max(rowid) from sc group by sno,cno
,grade);
7,写出 sql 语句得到下列结果
所在系 男生人数 女生人数 总人数
select sdept,count(*) from student group by ssex;
所在系 15《年龄〈18 18〈年龄〈20 的人数 其他年龄的人数 总人数
第一题是综合题,
1、毕业后想从事什么样的工作,为什么?
2、你父母对你的教育上,哪些造就了你现在的个性特点?
3、你的技术专长是什么?
4、你的学习成绩怎样?拿过什么奖励金?
第二题是不定项选择题
1、给你一串出栈序列,判断栈至少长多少
2、给出先序中序判断后续
3、字符数组赋值问题,包括 for 循环和 memset 和另一个 dzero(好像是这个函数)
4、linux/Unix 中允许读写但不允许执行的命令(666 跟 777)
5、关于静态变量说法正确的是哪些
6、关于数据库中索引作用的题
7、进程的并发会影响数据一致性的(读脏数据等)
8、待补
第三题填空题
1、操作系统进程高级通信有哪些方式
2、给出一段代码,问这段代码有什么问题(指针为赋初值)
3、给出 IP,求子网掩码和可分配的主机数
4、数据库中事务的四个特点(原子性、一致性、独立性/隔离性、持久性)
5、待补
第四题数据库操作题
大致就是给出三个表,要求写 SQL 语句,包括视图建立,增删改查,SQL 函数应用等(一
共 25 分,好多)
第五题用 C 或 JAVA 写一个五子棋程序
要求写一个函数,当一颗白棋落下的时候,判断白方是否五连珠,棋盘是 13*13 大小,用数
组 A 表示,0 表示空,1 表示白棋,2 表示黑棋
然后就是一道 20 分值的数据库的题目了,一个表里有三个字段,语言,数学,英语,三门
课程的成绩分别为 70、80、58,要你写语句输出三门课程的成绩(不过成绩是要用优秀、
及格、不及格来显示的)大于 80 分为优秀、60 分以上为及格、60 分以下为不及格。要求你
写出设计的思路,然后再写语句。
最后一部分也是 20 分值的题,有两道题,任选一道,第一道是看程序填空的,考的是递归
算法;第二道是用 JAVA 写的,实现折半查找。