快速业务通道

C++经典面试题

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29
----------------------

28.

数据库:抽出部门,平均工资,要求按部门的字符串顺序排序,不能含有"human resource"部门,

employee结构如下:employee_id, employee_name, depart_id,depart_name,wage

答:

select depart_name, avg(wage)
from employee
where depart_name <> ''human resource''
group by depart_name
order by depart_name

--------------------------------------------------------------------------

29.给定如下SQL数据库:Test(num INT(4)) 请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等

答:

select top 1 num
from Test
order by num desc

--------------------------------------------------------------------------

30.

输出下面程序结果。

#include <iostream.h>
class A
{
public:
virtual void print(void)
{
  cout<<"A::print()"<<endl;
}
};
class B:public A
{
public:
virtual void print(void)
{
  cout<<"B::print()"<<endl;
};
};
class C:public B
{
public:
virtual void print(void)
{
 cout<<"C::print()"<<endl;
}
};
void print(A a)
{
  a.print();
}
void main(void)
{
  A a, *pa,*pb,*pc;
  B b;
  C c;
  pa=&a;
  pb=&b;
  pc=&c;
  a.print();
  b.print();
  c.print();
  pa->print();
  pb->print();
  pc->print();
  print(a);
  print(b);
  print(c);
}

A:

A::print()
B::print()
C::print()
A::print()
B::print()
C::print()
A::print()
A::print()
A::print()

--------------------------------------------------------------------------

31.试编写函数判断计算机的字节存储顺序是开序(little endian)还是降序(bigendian)

答:

bool IsBigendian()
{
unsigned short usData = 0x1122;
unsigned char *pucData = (unsigned char*)&usData;
return (*pucData == 0x22);
}

--------------------------------------------------------------------------

32.简述Critical Section和Mutex的不同点

答:

对几种同步对象的总结

1.Critical Section

A.速度快

B.不能用于不同进程

C.不能进行资源统计(每次只可以有一个线程对共享资源进行存取)

2.Mutex

A.速度慢

B.可用于不同进程

C.不能进行资源统计

3.Semaphore

A.速度慢

B.可用于不同进程

C.可进行资源统计(可以让一个或超过一个线程对共享资源进行存取)

4.Event

A.速度慢

B.可用于不同进程

C.可进行资源统计

--------------------------------------------------------------------------

33.一个数据库中有两个表:

一张表为Customer,含字段ID,Name;

一张表为Order,含字段ID,CustomerID(连向Customer中ID的外键),Revenue;

写出求每个Customer的Revenue总和的SQL语句。

建表

create table customer
(
ID int primary key,Name char(10)
)
go
create table [order]
(
ID int primary key,CustomerID int foreign key references customer(id) , Revenue float
)
go

--查询

select Customer.ID, sum( isnull([Order].Revenue,0) )
from customer full join [order]
on( [order].customerid=customer.id )
group by customer.id

--------------------------------------------------------------------------

34.请指出下列程序中的错误并且修改

void GetMemory(char *p){
 p=(char *)malloc(100);
}
void Test(void){
 char *str=NULL;
 GetMemory=(str);
 strcpy(str,"hello world");
 printf(str);
}

A:错误--参数的值改变后,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号