C软件工程师入职笔试题及答案.doc_第1页
C软件工程师入职笔试题及答案.doc_第2页
C软件工程师入职笔试题及答案.doc_第3页
C软件工程师入职笔试题及答案.doc_第4页
C软件工程师入职笔试题及答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

北京华电祥云软件系统有限公司Unix C/C+软件工程师入职笔试题及答案一、 简答题(共50分)1 你常用的主机、OS、编译工具和调试工具是什么。如何查看系统进程信息,你常用的进程管理命令有哪些?(问题尽量基于你常用的Unix环境作答)。(10分)答:我常用的是Sun主机,操作系统一般是Solaris8或Solaris10。编译工具包括:g+,gcc,cc等。调试工具包括:gdb。(该项了解应聘者对编程环境的偏好,无标准答案。)常用的进程管理命令是:查看:prstat -a 或 top管理:pldd pid 显示链接到每个进程的动态链接库pstack pid 显示十六进制与符号堆跟踪信息fuser filespwdx pid 查看进程运行目录ptree pid 查看进程树信息 2 中的malloc和中的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指针。注意:malloc申请的内存空间要用free释放,而new申请的内存空间要用delete释放,不要混用。因为两者实现的机理不同。3、简述结构化的程序设计、面向对象的程序设计的基本思想。(10分)答:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。4、 一个oracle实例是由SGA和哪几个后台进程组成的?SGA有哪些组成部分及简述它们的作用?PGA是什么?(10分)答:后台进程:系统监控和进程监控进程(SMON和PMON)、数据库写进程(DBWR)、日志写进程(LGWR)、归档进程(ARCH)、检查点(CKPT);其它可选进程:调度进程(Dnnn)、恢复进程(RECO)、快照进程(SNPn)、锁进程(LCKn)、并行查询进程(Pnnn)。数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件;日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件;系统监控(smon) :检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复;进程监控(pmon):负责在一个Oracle 进程失败时清理资源;检查点进程(chpt):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息;归档进程(arcn) :在每次日志切换时把已满的日志组进行备份或归档;作业调度器(cjq):负责将调度与执行系统中已定义好的job,完成一些预定义的工作;恢复进程(reco):保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback;SGA包含:db_cache、shared_pool、large_pool、java_pooldb_cache:数据库缓存(Block Buffer)占据Oracle数据库SGA(系统共享内存区)的主要部分,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不是必须的。PGA:程序全局区,是保存有特定服务进程的数据和控制信息的内存结构,这个内存结构是非共享的,只有服务进程本身才能够访问它自己的PGA区。每个服务 进程都有它自己的PGA区,各个服务进程PGA区的总和即库实例的PGA区的大小。一般情况下,PGA区都由私有SQL工作区和会话内存区组成。5、你在项目中用到了xml技术的哪些方面?如何实现的? (10分)答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。 二、按要求补充函数源代码(20分)1、完成顺序查找函数f_seq( )。其过程是:从表头开始,根据给定的模式,逐项与表中元素比较。如果找到所需元素,则查找成功,并打印出它在表中的顺序号。如果查找整个表仍未找到所需对象,则查找失败。(10分)#include void f_seq(char *list,char *object,int len)/list 指针数组,指向字符串/object 模式串/len 表的长度char *p;int strcmp(char *s,char *t);p=list;while (_) /plist+lenif (strcmp(*p,object)=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; /Match while statenmentreturn head; /返回逆置后的链表的头结点三、 写sql。(共10分) SQL desc emp; Name Null? Type - - - EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) 1) 查出各部门薪水最高的三个员工的部门、姓名和薪水。(5分)答:break on deptno; select deptno,ename,sal from ( select deptno,ename,sal, row_number() over (partition by deptno order by sal) as rank from emp ) where rank = 3 ;2)查看各部门的薪水合计,要求有总计信息。(分)答:break on deptno skip 1; select decode(grouping(deptno),1,总计,to_char(deptno) 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; / 设定交换标志 for( i = 1; i = i; j- ) / 对当前无序区ARRAYi.LEN自下向上扫描 if( ARRAYj+1 ARRAYj ) / 交换记录 ARRAY0 = ARRAYj+1; / ARRAY0仅做暂存单元 ARRAYj+1 = ARRAYj; A

温馨提示

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

评论

0/150

提交评论