中软面试题2007-10-17 20:46
收集了一些中软的面试题: 1 写一个servlet,实现以下功能:已知数据源JNDI地址为“jdbc/db2DataSource”,请用这
个名字获得数据库连接,并执行SQL:“SELECT A,B FROM MYTABLE”,把执行结果输出到文本文件“out.txt”,并将请求转发到“/application/test.jsp” da:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup(\DataSource ds = (DataSource)envContext.lookup(\Connection conn = ds.getConnection();
//etc.在tomcat中,获取jdni资源的方法是java:/comp/env/定义的名字,在weblogic中直接使用定义的名字就可以找到,在jboss和websphere中,则使用java:定义的jndi名字即可。 2 链表逆序问题 冒泡法排序函数: 思想是什么? void bubble(int a[],int n) {
int i,j,k;
for(i=1,i for(j=0;j k=a[j]; a[j]=a[j+1]; a[j+1]=k; } } ATM测试怎么测试ATM机? 出栈入栈怎么测试和解决网络故障 还有个程序涉及到栈的问题?什么是网络故障测试? 简答题. 1. 避免死锁的方法有哪些? (死锁是不可避免的) 银行家算法 2. 在Sybase数据库中注册用户与数据库用户有什么区别? 当SQL SERVER创建注册用户后,该用户就能合法进SQL SERVER,该注册用户信息会放在master数据库中的 syslogins表中。但只有注册用户成为某一数据库用户,并且对该用户赋予某些权限时,该注册用户才能在限制条件下使用数据库中的表。 在数据库中用要创建一个用户,使用 SQL 命令 CREATE USER 3. 在MS SQL_Server 数据库中通过什么约束保证数据库的实体完整性 可以通过建立唯一的索引、PRIMARY KEY约束、UNIQUE约束或IDENTITY约束来实现实体完整性 4. 内存有哪几种存储组织结构.请分别加以说明 5. JAVA中的Wait() 和notify()方法使用时应注意些什么? 调用 wait() / notify() 的前提都是已经获得了一个对象的锁,所以 wait()/notify() 都必须在 synchronized 块中调用。 在已经获得了一个对象的锁的前提下,调用 wait() 会使当前线程放弃这个锁,同时通知线程调度程序,把自已放进一个等待这个锁的线程队列中去,等待再次获得这个锁。 在已经获得了一个对象的锁的前提下,调用 notify() 会通知线程调度程序,唤醒其它等待这个锁的线程队列中的线程,notifyAll() 唤醒所有这类线程。 核心是:要访问某个同步方法(同步在某个对象上)的类都必须先获得某个对象的锁,线程调度程序(JVM的一部分)为每一个对象锁维护一个线程队列,并把已经获得这个锁的线程调度至运行;而当一个线程失去这个锁时,就把它再度放入这个队列;当这个对象锁可以获得时,等待这个锁的线程会获得 notify(),从而让它有机会再去寻求上锁执行。 6. 用户输入一个整数.系统判断,并输出是负数还是非负数,请设计测试用例. 7. 操作系统中的同步和互诉解决了什么问题 解决死锁问题 8. UNIX 中init Init进程负责所有的核心系统功能的有序启动(和关闭),这些功能位于 内核之外。为此,它必须有能力创建(或孵化spawn)大量进程。 init进程是系统中所有进程的父进程,init进程繁衍出完成通常操作所需的子进程,这些操作包括: 设置机器名、检查和安装磁盘及文件系统、启动系统日志、配置网络接口并启动网络和邮件服务,启动打印服务等。 二. 编写类String 的构造函数,析构函数和赋值函数 已知类String 的原型为 class string { public: string(const char *str=null);//普通构造函数 string(const string &other);//拷贝构造函数 ---string(void); string &operate=(const string &other);//赋值函数 private: char * m-data;//用于保存字符串 }; 请编写string 的上述4个函数 三. 有关内存的思考题 1. void getmemory(char *p) { p=(char*)mallol(100); } void test(void) { char * str =null; getmemory(str); strcpy(str,”hello,world”); printf(str); } 请问运行Test函数会有什么样的结果 2. char*getmemory(void) { char p[]=”hello world”; return p; } void test(void) { char *str=null; str=Getmemory(); printf(str); } 请问运行Test 函数会有什么样的结果. 4 写一个函数生成一个四位的随机数,而且要四位数中的每一位数字不相同限.......... 答:public int generatorInt(){ int[] array={0,1,2,3,4,5,6,7,8,9}; Random rdm=new Random(); int number=0; int tep=10; int base=1000; boolean first=true; for(int j=0;j<4;j++){ int i; if(first){ i=rdm.nextInt(--tep)+1; number+=array[i]*base; array[i]=array[tep]; first=false; }else{ i=rdm.nextInt(tep); number+=array[i]*base; array[i]=array[--tep]; } base/=10; } return number; } 5.www页面访问的大致过程如下: 语言不 用户在浏览器中输入要访问的WWW页面的____地址(http://hostname/directory/file);浏览器通过____ 查询上述输入信息所指的WEB服务器的IP地址;浏览器通过网络与该IP地址处的WEB服务器的______服务端之间建立一条______连接;浏览器依照相关协议发送_____命令;WEB服务器根据命令取出文档,发送回来;浏览器释放连接,显示该文档. (1) A.URL B.EMS C.NDS D.DNS (2)A.NAT B.EMS C.NDS D.DNS (3)A.HTML B.HTTP C.SMTP D.SNMP (4)A.RTP B.IP C.TCP D.UDP (5)A.TCP B.GET C.UDP D.PUT 一.选择题 1.一株查找二叉树,其结点A、B、C、D、E、F依次存放在一个起始地址为n(假定地址以字节为单位顺序编号)的连续区域中,每个节点占4个字节:前两个字节存放结点值,后两个字节依次放左指针、右指针. 若该查找二叉树的根结点为E,则它的一种可能的前序遍历为____ ,相应的层次遍历为____. 在以上两种遍历情况下,结点C的左指针LC的存放地址为_____ ,LC的内容为______ 结点A的左指针RA的内容为_______. 供选择的答案 (1) A. EAFCBD B.EFACDB C.EABCFD D.EACBDF (2) A. EAFCBD B.EFACDB C.EABCFD D.EACBDF (3) A.n+4 B.n+10 C.n+12 D.n+13 (4) A.n+9 B.n+8 C.n+12 D.n+13 (5) A.n+4 B.n+8 C.n+12 D.n+16 2.虚存页面调整算法有多种,______ 调度算法不是页面调度算法. 供选择的答案 A.后进先出 B.先进先出 C.最近最少使用 D.随机选择 3.在软件开发过程中常用图作为描述工具.如DFD就是面向_______分析方法的描述工具.在一套分层DFD中,如果某一张图中有N个加工(Process),则这张图允许有_____ 张子图.在一张DFD图中,任意两个加工之间_____ .在画分层DFD时,应保持_____ 之间的平衡.DFD中从系统的输出流到系统的输出流的一连串连续变换形成一种信息流,这种信息可分为_____两类. A.(1)数据结构 (2)数据流 (3)对象 (4)构件 B.(1)0 (2)1 (3)1-N (4)0-N C.(1)有且仅有一条数据流 (2)至少有一条数据流 (3)可以有0条或多条名字互不相同的数据流 (4)可以有0或多条数据流,但允许其中存若干条名字相同的数据流. D.(1)父图与其子图 (2)同一父图的所有子图 (3)不同父图的所有子图 (4)同一子图的所有直接父图. E.(1)控制流和变换流 (2)变换流和事务流 (3)事务流和事件流 (4)事件流和控制流 4.用二进制加法器对二一十进制编码的十进制数求和,当和的本位十进制数二一十进制编码小于等于1001且向高位无进位时,_____ ;当和小于等于1001且向高位存进位时,_____;当和大于1001时,_____ (1)-(3) A:不需进行修改 B:需进行加6修改 C:需进行减6修改 D:进行加6或减6修改,需进一步判别. 5.www页面访问的大致过程如下: 用户在浏览器中输入要访问的WWW页面的____地址(http://hostname/directory/file);浏览器通过____ 查询上述输入信息所指的WEB服务器的IP地址;浏览器通过网络与该IP地址处的WEB服务器的______服务端之间建立一条______连接;浏览器依照相关协议发送_____命令;WEB服务器根据命令取出文档,发送回来;浏览器释放连接,显示该文档. (1) A.URL B.EMS C.NDS D.DNS (2)A.NAT B.EMS C.NDS D.DNS (3)A.HTML B.HTTP C.SMTP D.SNMP (4)A.RTP B.IP C.TCP D.UDP (5)A.TCP B.GET C.UDP D.PUT 6.假设某计算机具有1MB的内存(目前使用的计算机往往具有64MB以上内存),并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制____位.为使4字节组成的字段从存储器中一次读出,要求存放存储器中的字边界对齐,一个字节的地址码应_____若存储器周期为200ns,且每个周期可访问4个字节,则该存储器带宽为_____bit/s假如程序员所用的地址为______,而真正访问内存的地址称为_______ A.(1)10 (2)16 (3) 20 (4)32 B.(1)最低两位00 (2)最低两位为10 (3)最高两位为00 (4)最高两位为10 C.(1)20M (2)40M (3)80M (4)160M D.(1)有效地址 (2)程序地址 (3)逻辑地址 (4)物理地址 E.(1)指令地址 (2)物理地址 (3)内存地址 (4)数据地址 7.英语题 Soon,more of the information we receive via the internet could come _____in digital wrappers. Wrappers are made up ______ softwore code that’s targeted to do specific things with the data _____within them such as helping to define queries for search engines They also keep _____from_____access to that code. (1) A.Package B.packaged C.packages D.packaging (2)A.of B.off C.on D.out (3)A.close B.closed C.enclose D.enclosed (4)A.insiders B.money C.outsiders D.warehouse (5)A.gain B.gained C.gains D.gaining 二.设计题 1.在VC中怎样获得父窗口的指针(写出代码) 2.怎样创建一个临时文件