1 / 15
文档名称:

华为面试题2.doc

格式:doc   大小:53KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

华为面试题2.doc

上传人:tmm958758 2018/12/4 文件大小:53 KB

下载得到文件列表

华为面试题2.doc

相关文档

文档介绍

文档介绍:答:Windows Distributed Application Architecture(Windows分布式应用结构,简称Windows DNA)是微软创建新一代高适应性商业解决方案的框架,它使公司能够充分地挖掘数字神经系统的优点。Windows 、客户/服务器、和用于计算的PC模型结合并集成在一起的为新一类分布式计算方案而设计的应用软件体系结构
17. 网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
答:1)进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2)线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
思科
1. 用宏定义写出swap(x,y)
答#define swap(x, y)
x = x + y;
y = x - y;
x = x - y;
[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,(N)函数原型:
int do_dup(int a[],int N)
答:int do_dup(int a[],int N)    //未经调试
{
      int sun = 0;
      int sum2;
      for(int i=0;i<N;++i)
      {
        Sum+=a[i];
      }
      Sum2 = (1+N-1)*N/2;
      Return (sum-sum2);
}
3 一语句实现x是否为2的若干次幂的判断
答:方法1)int i = 512;
cout << boolalpha << ((i & (i - 1)) ? false : true) << endl; //位与为0,则表示是2的若干次幂
       2)return (x>>N==1);
int intvert(unsigned int x,int p,int n)实现对x的进行转换,p为起始转化位,n为需要转换的长度,=0b0001 0001,p=4,n=3转换后x=0b0110 0001
答:unsigned int intvert(unsigned int x,int p,int n) //假定p=4,n=3
{
unsigned int _t = 0;
unsigned int _a = 1;
for(int i = 0; i < n; ++i)//循环的目的主要是-t
{
_t |= _a;       //位或
_a = _a << 1;  
}
_t = _t << p;   //转换后_t变为1110000
x ^= _t;       /异或,将原来的位取反
return x;
}
慧通:
1. 什么是预编译,何时需要预编译:
答: 就是指程序执行前的一些预处理工作,主要指#表示的.
何时需要预编译?
1)、总是使用不经常改动的大型代码体。
2)、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
2. 下述三个有什么区别?
char * const p;
char const * p
const char *p
解答:
char * const p; //常量指针,p的值不可以修改
char const * p;//指向常量的指针,指向的常量值不可以改
const char *p; //和char const *p
3. 解释下列输出结果
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char *str5 = "abc";
const char *str6 = "abc";
char *str7 = "abc";
char *str8 = "abc";
cout << ( str1 == str2 ) << endl;
cout << ( str3 == str4 ) << endl;
cout << ( str5 == str6 ) << endl;
cout <<