Oracle面试试题
- 文档
- 2024-06-17
- 108热度
- 0评论
以下是小编为大家收集的Oracle面试试题,本文共11篇,欢迎参阅,希望可以帮助到有需要的朋友。
1. 如何建立一个备份控制文件?
解答:Alter database backup control file to trace.
2. 给出数据库正常启动所经历的几种状态 ?
解答:
STARTUP NOMOUNT C 数据库实例启动
STARTUP MOUNT C 数据库装载
STARTUP OPEN C 数据库打开
3. 哪个column可以用来区别V$视图和GV$视图?
解答: INST_ID 指明集群环境中具体的某个instance 。
4. 如何生成explain plan?
解答:
运行utlxplan.sql. 建立plan 表针对特定SQL语句,使用 explain plan set statement_id = ‘tst1′ into plan_table 运行utlxplp.sql 或 utlxpls.sql察看explain plan
5. 如何增加buffer cache的命中率?
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用 alter system setdb_cache_size 命令
6. ORA-01555的应对方法?
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本
7. 解释$ORACLE_HOME和$ORACLE_BASE的区别?
解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录
8. 如何判断数据库的时区?
解答:SELECT DBTIMEZONE FROM DUAL;
22. 解释GLOBAL_NAMES设为TRUE的用途
解答:GLOBAL_NAMES指明联接数据库的方式。如果这个参数设置为TRUE,在建立数据库链接时就必须用相同的名字连结远程数据库
9。如何加密PL/SQL程序?
解答:WRAP
10. 解释FUNCTION,PROCEDURE和PACKAGE区别
解答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和proceudre的集合
11.解释归档和非归档模式之间的不同和它们各自的优缺点
答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高。
12.解释$ORACLE_HOME和$ORACLE_BASE的区别?
答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。
13.获取某个字符字段的最后3个字符的函数是什么?
答:select substr (字段,(length(字段)-3)) from 表
14.取当前系统时间点日期(不包括年月)的SQL写法是怎样的?
答:Select substr (to_char(sysdate,’YYYYMMDDh24hh:MM:SS’),5) from dual;
15.返回大于等于N的最小整数值?
答:select ceil(N) from dual;
16.将根据字符查询转换后结果,规则为:’A’转换为’男’,’B’转换为’女’,其他字符转换为’未知’,请用一个SQL语句写出。
答:select decode(字符,’A’,’男’,’B’,’女’,’未知’) from dual;
17.如何搜索出前N条记录?
答:select * from 表 where Rownum
18.如何搜索出第N~M条记录?
答:select * from 表 where Rownum
Minus
select * from 表 where Rownum
19.有一个数据表(TEST),字段如下:
ID number
PARENT_ID number
NAME Varchar(20)
请使用PL/SQL来按父子层次关系查询出该表的所有数据
答:Select * from test a, test b Where a.parent_id = b.id;
20.怎样用SQL语句实现查找一列中的第N大值?
答:select * from (select * from 表 order by 列名 Desc) where Rownum
Minus select * from (select * from 表 order by 列名 Desc) where Rownum
1.以下命令哪个是 SQL*PLUS 命令?
A.UPDATE
B.EDIT
C.SELECT
D.ALTER TABLE
2.用SQLPLUS的_____命令可以查看表的结构信息,包括列的名称和数据类型
A DESCRIPTION
B DESC
C SHOW TABLE
D SHOW USER
3. Oracle的前端工具是 :
A SQL*PLUS
B C++
C PL/SQL
D JAVA
4. 在SQLPLUS中,如何运行SQL脚本程序
A /
B @脚本
C EXE 脚本
D 不能在SQLPLUS中直接运行脚本
5. 用命令将SQLPLUS缓冲区中的内容保存到文件中,使用下列哪种方法
A 将缓冲区的内容Ctrl+C,然后再Ctrl+V到文件中即可
B 使用SAVE命令参数是文件路径
C WRITE 方式,参数是文件路径
D Oracle会自动保存
6. 用来设置一行能够显示的字符长度的命令是
A SET LINESIZE
B SET LINE
C SET LINEBUFFER
D SET SIZELINE
7. 以下哪个命令用来设置查询显示结果的列宽
A SET COLUMN SIZE
B COLUMN 列 FORMAT 长度
C COLUMN 列 长度
D 长度 OF COLUMN
8. 如何判断数据库的时区?
解答:SELECT DBTIMEZONE FROM DUAL;
22. 解释GLOBAL_NAMES设为TRUE的用途
解答:GLOBAL_NAMES指明联接数据库的方式。如果这个参数设置为TRUE,在建立数据库链接时就必须用相同的名字连结远程数据库
9. 如何加密PL/SQL程序?
解答:WRAP
10. 解释FUNCTION,PROCEDURE和PACKAGE区别
解答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和proceudre的集合
11. 解释TABLE Function的用途
解答:TABLE Function是通过PL/SQL逻辑返回一组纪录,用于普通的表/视图。他们也用于pipeline和ETL过程。
12. 举出3种可以收集three advisory statistics
解答:Buffer Cache Advice, Segment Level Statistics, Timed Statistics
13. Audit trace 存放在哪个oracle目录结构中?
解答:unix $ORACLE_HOME/rdbms/audit Windows the event viewer
14. 解释materialized views的作用
解答:Materialized views 用于减少那些汇总,集合和分组的信息的集合数量。它们通常适合于数据仓库和DSS系统。
15. 当用户进程出错,哪个后台进程负责清理它
解答: PMON
16. 哪个后台进程刷新materialized views?
解答:The Job Queue Processes.
17. 如何判断哪个session正在连结以及它们等待的资源?
解答:V$SESSION / V$SESSION_WAIT
18. 描述什么是 redo logs
解答:Redo Logs 是用于存放数据库数据改动状况的物理和逻辑结构。可以用来修复数据库.
19. 如何进行强制LOG SWITCH?
解答:ALTER SYSTEM SWITCH LOGFILE;
20. 举出两个判断DDL改动的方法?
解答:你可以使用 Logminer 或 Streams
1、冷备份和热备份的不同点以及各自的优点
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)
2、如果你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
3、如何转换init.ora到spfile?
解答:使用create spfile from pfile 命令.
4、解释data block , extent 和 segment的区别(这里建议用英文术语)
解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.
5、给出两个检查表结构的方法
解答:
1、DESCRIBE命令
2、DBMS_METADATA.GET_DDL 包
6、怎样查看数据库引擎的报错
解答:alert log.
7、比较truncate和 命令
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.
8、使用索引的理由
解答:快速访问表中的data block
9、给出在STAR SCHEMA中的两种表及它们分别含有的数据
解答:Fact tables 和dimension tables. fact table包含大量的主要的信息而dime nsion tables 存放对fact table 某些属性描述的信息
10、FACT Table上需要建立何种索引?
解答:位图索引 (bitmap index)
11、给出两种相关约束?
解答:主键和外键
12、如何在不影响子表的前提下,重建一个母表
解答:子表的外键强制实效,重建母表,激活外键
13、解释归档和非归档模式之间的不同和它们各自的优缺点
解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高.
14、如何建立一个备份控制文件?
解答:Alter database backup control file to trace.
15、给出数据库正常启动所经历的几种状态?
解答:
STARTUP NOMOUNT ?C 数据库实例启动
STARTUP MOUNT - 数据库装载
STARTUP OPEN ?C 数据库打开
16、哪个column可以用来区别V$视图和GV$视图?
解答:INST_ID 指明集群环境中具体的 某个instance 。
17、如何生成explain plan?
解答:运行utlxplan.sql. 建立plan 表
针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table
运行utlxplp.sql 或 utlxpls.sql察看explain plan
18、如何增加buffer cache的命中率?
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice.如果有必要更改,可以使用 alter system set db_cache_size 命令
19、ORA-01555的应对方法?
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本
20、解释$ORACLE_HOME和$ORACLE_BASE的区别?
解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。
[oracle数据库 面试宝典]
甲骨文(Oracle)面试题目
个人的问题和解答,
甲骨文(Oracle)面试题目
,也许你不必在面试过程中给出完全详尽的答案,只需要通过你的解答使面试考官了解你
对ORACLE概念的熟悉程度。
1.解释冷备份和热备份的不同点以及各自的优点
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷
备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份
时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于
它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库
性能会比归档模式稍好。(因为不必将archive log写入硬盘)
2.你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
3.如何转换init.ora到spfile?
解答:使用create spfile from pfile 命令.
4.解释data block , extent 和 segment的区别(这里建议用英文术语)
解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理
存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被
称为该对象的segment.
5.给出两个检查表结构的方法
解答:1.DESCRIBE命令
2.DBMS_METADATA.GET_DDL 包
6.怎样查看数据库引擎的报错
解答:alert log.
7.比较truncate和delete 命令
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动
HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长
时间.
8.使用索引的理由
解答:快速访问表中的data block
9.给出在STAR SCHEMA中的两种表及它们分别含有的数据
解答:Fact tables 和dimension tables. fact table包含大量的主要的信息而dime
nsion tables 存放对fact table 某些属性描述的信息
10.FACT Table上需要建立何种索引?
解答:位图索引 (bitmap index)
11. 给出两种相关约束?
解答:主键和外键
12. 如何在不影响子表的前提下,重建一个母表
解答:子表的外键强制实效,重建母表,激活外键
13. 解释归档和非归档模式之间的.不同和它们各自的优缺点
解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点
,非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能
上的少许提高.
14. 如何建立一个备份控制文件?
解答:Alter database backup control file to trace.
15. 给出数据库正常启动所经历的几种状态 ?
解答:STARTUP NOMOUNT – 数据库实例启动
STARTUP MOUNT - 数据库装载
STARTUP OPEN – 数据库打开
16. 哪个column可以用来区别V$视图和GV$视图?
解答:INST_ID 指明集群环境中具体的 某个instance 。
17. 如何生成explain plan?
解答:运行utlxplan.sql. 建立plan 表
针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into pl
an_table ,运行utlxplp.sql 或 utlxpls.sql察看explain plan
18. 如何增加buffer cache的命中率?
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_adv
ice.如果有必要更改,可以使用 alter system set db_cache_size 命令
19. ORA-01555的应对方法?
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增
大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本
20. 解释$ORACLE_HOME和$ORACLE_BASE的区别?
解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。
1.解释冷备份和热备份的不同点以及各自的优点
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)
2.你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
3.如何转换init.ora到spfile?
解答:使用create spfile from pfile 命令.
4.解释data block , extent 和 segment的区别(这里建议用英文术语)
解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.
5.给出两个检查表结构的方法
解答:1.DESCRIBE命令
2.DBMS_METADATA.GET_DDL 包
6.怎样查看数据库引擎的报错
解答:alert log.
7.比较truncate和 命令
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.
8.使用索引的理由
解答:快速访问表中的data block
9.给出在STAR SCHEMA中的两种表及它们分别含有的数据
解答:Fact tables 和dimension tables. fact table包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的信息
10.FACT Table上需要建立何种索引?
解答:位图索引 (bitmap index)
11. 给出两种相关约束?
解答:主键和外键
12. 如何在不影响子表的前提下,重建一个母表
解答:子表的外键强制实效,重建母表,激活外键
13. 解释归档和非归档模式之间的不同和它们各自的优缺点
解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高.
14. 如何建立一个备份控制文件?
解答:Alter database backup control file to trace.
15. 给出数据库正常启动所经历的几种状态 ?
解答:STARTUP NOMOUNT C 数据库实例启动
STARTUP MOUNT - 数据库装载
STARTUP OPEN C 数据库打开
16. 哪个column可以用来区别V$视图和GV$视图?
解答:INST_ID 指明集群环境中具体的 某个instance 。
17. 如何生成explain plan?
解答:运行utlxplan.sql. 建立plan 表
针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table
运行utlxplp.sql 或 utlxpls.sql察看explain plan
18. 如何增加buffer cache的命中率?
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice.如果有必要更改,可以使用 alter system set db_cache_size 命令
19. ORA-01555的应对方法?
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本
20. 解释$ORACLE_HOME和$ORACLE_BASE的区别?
解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。
[oracle数据库面试宝典]
试题1:为什么你是这份工作的最佳人选?
A、我干过不少这种职位,我的经验将帮助我胜任这一岗位,
B、我干什么都很出色。
C、通过我们之间的交流,我觉得这里是一个很好的工作地点。
D、你们需要可以生产出“效益”的人,而我的背景和经验可以证明我的能力,例如:我曾经……
试题2:判断性问题,你有没有创造性?你能不能在压力下工作?
A、回答“是”或“否”,
B、回答“是”或“否”,并给出一个具体的例子。
C、回答“是”或“否”,并做进一步的解释。
试题3:描述一下你自己。
A、列举自己的'个人经历、业余兴趣爱好等。
B、大肆宣扬一下自己良好的品德和工作习惯。
C、列举3个自己的性格与成就的具体案例。
oracle经典20道笔试题
1.列出至少有一个员工的所有部门,
select dept.deptno,dept.dname
from dept,emp
where dept.deptno=emp.deptno
2.列出薪金比“SMITH”多的所有员工。
select * from emp
where sal >(select sal from emp where ename=’SMITH’)
3.列出所有员工的姓名及其直接上级的姓名。
select yg.ename,sj.ename
from emp yg,emp sj
where yg.mgr=sj.empno
4.列出受雇日期早于其直接上级的所有员工。
select yg.ename,sj.ename
from emp yg join emp sj on yg.mgr=sj.empno
where yg.hiredate
5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
select dept.deptno,dept.dname,emp.empno,emp.ename
from dept left join emp
on dept.deptno=emp.deptno
6.列出所有“CLERK”(办事员)的姓名及其部门名称。
select * from dept,emp
where dept.deptno=emp.deptno
and job=’CLERK’
7.列出最低薪金大于1500的各种工作。
select job from emp
group by job
having min(sal)>1500
8.列出在部门名称为“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
方法一:
select emp.ename
from dept,emp
where dept.deptno=emp.deptno
and dname=’SALES’
方法二:
select * from emp
where deptno=(select deptno from dept where dname=’SALES’)
9.列出薪金高于公司平均薪金的所有员工。
select * from emp
where sal>(select avg(sal) from emp)
对比:列出薪金高于本部门平均薪金的所有员工。
方法一:
select * from emp a
where a.sal>(select avg(sal) from emp b where b.deptno=a.deptno)
缺点:相关子查询,效率低。
方法二:
select empno,ename,sal from
emp a,(select avg(sal) avg_sal from emp b where b.deptno=a.deptno) b
where a.deptno=b.deptno
and a.sal>b.avg_sal
10.列出与“SCOTT”从事相同工作的所有员工。
select * from emp
where job=(select job from emp where ename=’SCOTT’)
11.列出薪金等于部门30中员工的薪金的`所有员工的姓名和薪金,
select ename,sal from emp
where sal=any(select sal from emp where deptno=30 )
12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。
方法一:
select ename,sal from emp
where sal>all(select sal from emp where deptno=30 )
方法二:
select ename,sal from emp
where sal>(select max(sal) from emp where deptno=30 )
13.列出在每个部门工作的员工数量、平均工资和平均服务期限。
select deptno,avg(trunc((sysdate-hiredate)/365)) as year
from emp
group by deptno
–参考:截断,取整函数
select trunc(99.9) from dual;
返回
99
14.列出所有员工的姓名、部门名称和工资。
select d.dname,e.ename,e.sal
from dept d,emp e
where d.deptno=e.deptno
说明:每个字段都加表前缀,效率要高些
15.列出所有部门的详细信息和部门人数。
select dept.deptno,dept.dname,count(*)
from dept,emp
where dept.deptno=emp.deptno
group by dept.deptno,dept.dname
16.列出各种工作的最低工资。
select job,min(sal) from emp group by job
17.列出各个部门的MANAGER(经理)的最低薪金。
select deptno,min(sal) from emp where job=’MANAGER’ group by deptno
18.列出所有员工的年工资,按年薪从低到高排序。
select empno,ename,sal*12 as 年薪 from emp
order by sal
19. 求各种工作工资最低的员工。
方法一:
select * from emp a
where sal=(select min(sal) from emp b where b.job=a.job)
方法二:
select emp.*
from emp a,( select job,min(sal) min_sal from emp group by job) b
where a.job=b.job and a.sal=b.min_sal
20. 列出各种工作工资前3名的员工
select * from (
select empno,ename,sal,job,
dense_rank over(partition by job order by sal desc) as 名次
from emp ) a
where a.名次
order by job;
说明:用到了Oracle强大的“分区排名技术”,其中“dense_rank()”是Oracle的解析函数。
笔试题oracle financials developer
选择题
1:下列数据中,不是C语言常量的是
A.′ ′
B.″a″
C.e-2
D.012
2:对于do-while语句,错误的说法是
A.先执行循环体后判断循环条件
B.循环体至少要执行一次
C.循环体有可能一次也不执行
D.循环体中可以包含若干条语句
3:下列说法中错误的是
A.C语言中循环嵌套的层数没有限定
B.C语言中的内部函数只能在本文件中被调用
C.用typedef语句定义的数据类型名称必须是大写字母
D.C语言中的continue语句,可以通过改变程序的结构而省略
4:以下叙述正确的是
A.宏名必须用大写的英文字母表示
B.宏定义不仅是符号替换,也可以赋值
C.宏替换是在程序编译时完成的,不占用程序运行时间
D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致
5:设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′′};那么
A.x数组的'长度等于y数组的长度
B.x数组的长度大于y数组的长度
C.x数组的长度少于y数组的长度
D.x数组与y数组的存储区域相同
选择题
1:下列数据中,不是C语言常量的是
A.′ ′
B.″a″
C.e-2
D.012
2:对于do-while语句,错误的说法是
A.先执行循环体后判断循环条件
B.循环体至少要执行一次
C.循环体有可能一次也不执行
D.循环体中可以包含若干条语句
3:下列说法中错误的是
A.C语言中循环嵌套的层数没有限定
B.C语言中的内部函数只能在本文件中被调用
C.用typedef语句定义的数据类型名称必须是大写字母
D.C语言中的continue语句,可以通过改变程序的结构而省略
4:以下叙述正确的是
A.宏名必须用大写的英文字母表示
B.宏定义不仅是符号替换,也可以赋值
C.宏替换是在程序编译时完成的,不占用程序运行时间
D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致
5:设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′′};那么
A.x数组的长度等于y数组的长度
B.x数组的长度大于y数组的长度
C.x数组的长度少于y数组的长度
D.x数组与y数组的存储区域相同
6:下列错误的是
A.char s[]=″China″;
B.char s[10]={″China″};
C.char s[10]; s=″China″;
D.char s[10]={′C′, ′h′, ′i′,;′n′, ′a′};
7:对于while语句,错误的说法是
A.用条件控制循环体的执行次数
B.循环体至少要执行一次
C.循环体有可能一次也不执行
D.循环体中可以包含若干条语句
8:执行语句“ for(s=0,i=1;i
A.22,13
B.12,10
C.22,10
D.12,13
9:设enum color {purple, black, red, white} d;, 若将d赋值为枚举常量red,则正确的是
A.d=(enum color)2;
B.d=(enum color)3;
C.d=″red″;
D.d=color;
10:执行语句“ k=5 | 3; ”后,变量 k 的当前值是
A.1
B.8
C.7
D.2
11:若定义了int a;char b;float c;,则表达式a*b-c的类型是
A.float
B.int
C.char
D.double
12:设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句:printf(″%d″ ,strlen(strcpy(str1,str2)));后的输出是
A.3
B.5
C.8
D.9
13:错误的实型(浮点型)常数是
A..0
B.0.E0
C.0.0
D.0E+0.0
14:下列运算符中,优先级最高的是
A.[]
B.++
C.%
D.&&
15:若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是
A.a[p]
B.P[a]
C.*(P+2)
D.P+2
16:以下对枚举类型的定义中正确的是
A.enum a={one,two,three};
B.enum a{one=9,two=-1,three};
C.enum a={“one”,“two”,“three”};
D.enum a{“one”,“two”,“three”};
17:若变量 a , b 已经正确定义并赋值,符合 C 语言语法的表达式是
A.a 2 +b
B.a*a+b
C.a×a+b
D.a·a+b
简答题
18:Security 公司的网络管理工程师Mr. leak最近发现有不少来自公司外部IP的请求,试图非法访问公司内部资源,为了不影响数据访问流程,
oracle financials developer笔试题
,
他不得不写一个高效的程序——一个工作在Ipv4上的防火墙,如果请求来自非授权的ip地址,则将请求丢弃。为了便于管理,通过文本文件IP.TXT来配置授权的IP地址,文件格式为每行(’/n’)一个 IP地址(或IP段),范围不超过一个B类。例如:
162.105.91.163
59.66.105.0 59.66.105.255
211.71.0.0 211.71.255.255
限制:IP段的起止地址间以空格隔开。文件不超过10万行,内存不超过4M字节。
要求:请编写一个程序,读入IP.TXT文件。并从标准输入接受一个IP地址。如果该地址在授权范围内,则在标准输出上打印Y,否则打印N.如果输入为一个空行,程序结束。
请给出思路(文字描述),完成代码,分析你采用算法的优劣。请列举测试方法和思路
甲骨文(oracle)技术笔试题
技术方面,英语的和MT差不多,
不过技术测试,主要是考java和数据库,
后面五道题,
1,什么叫Normalization.什么叫3NF,并请列出1NF和2NF..
2,什么叫revised key index
3,什么叫死锁,举一个引起数据库操作中死锁的例子
4, BYTE[] buf = BYTE[1024];
in.read(buf)
in是一个接收图像数据的网络IO流,请指出这段代码有什么问题,并请用java代码改进它
5,你正在分析一个子系统的接口,发现接口很多,
然后你同事劝你用Fecade, 问你用Fecade有什么好处
有三个用户test1,test2,test3, 三个用户都具有DBA色色权限。
用TEST1用户创建一个表T1,并将其查询权限授予TEST2:
SQL>create table t1 as select * from all_objects;
表已创建。
SQL>grant select on t1 to test2;
授权成功。
SQL>create table t1 as select * from all_objects;
表已创建。
SQL>grant select on t1 to test2;
授权成功。
用TEST2用户创建一个视图,视图的基表是TEST1.T1,并将查询权限授予TEST3:
SQL>create view v_t1 as select * from test1.t1;
视图已建立。
SQL>grant select on v_t1 to test3;
授权成功。
SQL>create view v_t1 as select * from test1.t1;
视图已建立。
SQL>grant select on v_t1 to test3;
授权成功。
TEST3用户查询视图TEST2.V_T1:
SQL>select * from test2.v_t1 where rownum
select * from test2.v_t1 where rownum
*
ERROR 位于第 1 行:
ORA-01031: 权限不足
SQL>select * from test2.v_t1 where rownum
select * from test2.v_t1 where rownum
*
ERROR 位于第 1 行:
ORA-01031: 权限不足
可以看到报了权限不足的错误,就算这里TEST3用户有DBA权限。
这到底是怎么回事呢?
其实视图的权限,有两点需要引起注意:
1. 视图中,类似于定义者权限的存储过程,是屏蔽了角色权限的。比如如果TEST1没有显式地将T1表的SELECT权限给予TEST2,那么TEST2在创建视图V_T1时也会报ORA-01031错误,即使TEST2用户拥有DBA角色权限。
2.如果在用户A的视图中,引用了其他用户B的表,用户A将视图的访问权限给予用户C,那么就变相地将用户B的表的访问权限给予了用户C,因此,用户A必须有将用户B的表的访问权限转授用户C的权限,也就是用户B在授予A权限时,必须使用with grant option。
显然这里正是由于第2点的原因,导致用户TEST3不能访问视图。用户TEST1执行下面的操作,将解决这个问题:
SQL>grant select on t1 to test2 with grant option;
授权成功。
SQL>grant select on t1 to test2 with grant option;
授权成功。
对于视图的UPDATE,DELETE权限,同样是如此。
在测试时,有一个现象,有点意思。就是如果用户TEST2没有显式地把V_T1的SELECT权限授予TEST3,而TEST3在有SELECT ANY TABLE或DBA权限时,则查询这个视图时不会报权限不足的错误。由于有SELECT ANY TABLE权限的存在,所有的用户表都可以被访问。但是显式授予表的权限时,似乎表的权限有更高的优先级,并且没有跟系统权限和角色权限进行结合。或者版本不同,表现得不一样,在我的测试中,是Oracle 9.2.0.8 for Windows。
1.军校面试问题和答案面试问题及答案参考
2.人事面试问题答案
3.华为面试问题答案
4.团总支面试问题及答案
5.面试客服问题及答案
6.教师面试问题及答案精选
7.医生面试问题及答案
8.盘点教师面试问题及答案
9.面试问题大全及答案
10.单招面试问题及答案
★
★
★
★
★
★
★
★
★
★