C软件工程师入职笔试题及答案_第1页
C软件工程师入职笔试题及答案_第2页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简答题(共 50 分)1.你常用的主机、OS、编译工具和调试工具是什么。如何查看系统进程信 息,你常用的进程管理命令有哪些? (问题尽量基于你常用的 Unix 环境作答 )。 (10 分)答:我常用的是 Sun 主机,操作系统一般是Solaris8 或 SolarislQ 编译工具包括:g+,gcc,cc 等。调试工具包括:gdb。(该项了解应聘者对编程环境的偏 好,无标准答案。)常用的进程管理命令是:查看:prstat -a 或 top管理: pldd pid 显示链接到每个进程的动态链接库pstack pid 显示十六进制与符号堆跟踪信息fuser filespwdx pid 查看进程运行

2、目录ptree pid 查看进程树信息2.C中的 malloc 和C+ +中的 new 有什么区别。(10 分)答:malloc 和 new 有以下不同:(1) new、delete 是操作符,可以重载,只能在 C+中使用。(2) malloc、 free 是函数,可以覆盖, C、 C+ 中都可以使用。(3) new 可以调用对象的构造函数,对应的 delete 调用相应的析构函数。(4) malloc 仅仅分配内存,free 仅仅回收内存,并不执行构造和析构函数。( 5) new、 delete 返回的是某种数据类型指针, malloc、 free 返回的是 void 指针。注意: mall

3、oc 申请的内存空间要用 free 释放, 而 new 申请的内存空间要用 delete 释放,不要混用。因为两者实现的机理不同。3、简述结构化的程序设计、面向对象的程序设计的基本思想。(10 分)答:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组 成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组 成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。4、一个 oracle 实例是由 SGA 和哪几个后台进程组成的? SGA 有哪些组成部分及简述它们的作用? PGA 是什么? ( 10 分)答:后台进程:系统监控和进程监控进程(SMON 和 PM

4、ON )、数据库写进程( DBWR) 、 日志写进 程( LGWR) 、 归档进 程 ( ARCH) 、 检 查点( CKPT);其它可选进程 : 调度进程( Dnnn) 、 恢复进程( RECO) 、 快照进程(SNPn)、锁进程(LCKn)、并行查询进程(Pnnn)。数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件;日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件;系统监控 (smon) :检查数据库的一致性如有必要还会在数据库打开时启动数据 库的恢复;进程监控(pmon):负责在一个 Oracle 进程失败时清理资源;检查点进程(chpt):

5、负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息;归档进程 (arcn) :在每次日志切换时把已满的日志组进行备份或归档;作业调度器(cjq):负责将调度与执行系统中已定义好的 job,完成一些预定义的工作;恢复进程(reco):保证分布式事务的一致性,在分布式事务中,要么同时 commit,要 么同时 rollback。SGA 包含: db_cache、shared_poo、l large_poo、l java_pool db_cache 数据库缓存(Block Buffer)占据 Oracle 数据库 SGA (系统共享内存 区)的主要部分,

6、Oracle数据库通过使用 LRU 算法,将最近访问的数据块存放 到缓存中,从而优化对磁盘数据的访问;shared_pool 共享池中保存数据字典高速缓冲和完全解读或编译的的 PL/SQL 块和SQL 语句及控制结构;large_pool 使用 MTS 配置时,因为要在 SGA 中分配 UGA 来保持用户的会 话,就是用 Large_pool 来保持这个会话内存;使用 RMAN 做备份的时候,要使 用 Large_pool这个内存结构来做磁盘 I/O 缓存器;java_pool:为 java procedure 预备的内存区域,如果没有使用 java proc,java_pool不是必须的。P

7、GA :程序全局区,是保存有特定服务进程的数据和控制信息的内 存结构,这个内存结构是非共享的,只有服务进程本身才能够访问它自己的 PGA 区。每个服务进程都有它自己的 PGA 区,各个服务进程 PGA 区的总和 即库实例的 PGA 区的大小。一般情况下, PGA 区都由私有 SQL 工作区和会话 内存区组成。5、你在工程中用到了 xml 技术的哪些方面 ?如何实现的 ?( 10 分) 答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的 数据组装成 XML 文件,然后将 XML 文件压缩打包加密后通过网络传送给接收 者,接收解密与解压缩后再同 XML 文件中还原相关信息进行处

8、理。在做软件 配置时,利用 XML 可以很方便的进行,软件的各种配置参数都存贮在 XML 文 件中。二、按要求补充函数源代码( 20 分)1、完成顺序查找函数 f_seq( )。其过程是:从表头开始,根据给定的模式,逐 项与表中元素比较。如果找到所需元素,则查找成功,并打印出它在表中的顺#includevoidf_seq(char*list,char*object,intlen)/list指针数组,指向字符串/object模式串/len表的长度char*p。intstrcmp(char*s,char*t)。p=list。while(_ _)/plist+lenif(strcmp(*p,obje

9、ct)=0)break。else_。/p+if(pnext=NULLp=head-next。head-next=NULL。while(_ _) /p!=NULL 或 ptemp1=head。_。 /head=p 。temp2=p。p=p-next。_。 /temp2-next=temp1 。或 head-next=temp1。或 1fromempreturn head。 / 返回逆置后的链表的头结点写 sql(共 10 分)SQLdescempNameNull?TypeEMPNONOTNULLNUMBER(4)ENAMEVARCHAR2(10)JOBVARCHAR2(9)MGRNUMBER(4

10、)HIREDATEDATESALNUMBER(7,2)COMMNUMBER(7,2)DEPTNONUMBER(2)1)查出各部门薪水最高的三个员工的部门、姓名和薪水。5 分)breakondeptnoselectdeptno,ename,salfromselectdeptno,ename,sal,row_number() over (partitionby deptno orderby sal) as rank)where rank = 3 。2)查看各部门的薪水合计,要求有总计信息。(5分)select decode(grouping(deptno),1, 总 计 ,to_char(dept

11、no) deptno, sum(sal)sum_sal from emp group by rollup(deptno。)四、编码实现冒泡排序( 20 分) 答:冒泡排序编程实现如下: #include #define LEN 10 / 数组长度void main( void ) int ARRAY10 = 0, 6, 3, 2, 7, 5, 4, 9, 1, 8 。/ 待排序数组printf( n ) 。for( int a = 0。 a LEN。 a+ ) / 打印数组内容printf( %d , ARRAYa ) 。int i = 0 。int j = 0 。bool isChange。break ondeptno skip 1/ 设定交if( ARRAYj+1 ARRAYj ) / 交换记录ARRAY0 = ARRAYj+1 。 / ARRAY0 仅做暂存 单元ARRAYj+1 = ARRAYj 。ARRAYj = ARRAY0 。isChange = 1。/ 发生了交换 ,故将交换标志置为真prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论