华为——工作累,笔试面试也累

 华为的笔试太bt了,开始是素质考试,题量大,头很晕,然后是技术考试,题目也不少。总之把人累得一蹋糊涂。

接着是三轮面试,一轮技术,二轮小组群面,三轮就是跟你讨论地点了。

 

发信人: window (pja), 信区: Job
标 题: 华为软件面试式题大全
发信站: 武汉白云黄鹤站 (Thu Nov 2 17:09:06 2000), 转信
 c 语言
 1. 编写一种排序方法
 2. 链表倒序
 3
 4
还有不用函数实现小写字符串变大写。呵呵。
写出 c 语言库函数memcopy(*p1,*p2,int n )算法
 
1、int    i=10,   j=10,   k=3;   k*=i+j;   k最后的值是___ 
60  
 2、进程间通信的方式有__    __   __   __等。 
http://blog.csdn.net/lne818/archive/2006/07/31/1005041.aspx  
Linux 下进程间通信的几种主要手段简介:
 
    1. 管道( Pipe )及有名管道( named pipe ):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
 
    2. 信号( Signal ):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身; Linux 除了支持 Unix 早期信号语义函数 sigal 外,还支持语义符合 Posix.1 标准的信号函数 sigaction (实际上,该函数是基于 BSD 的, BSD 为了实现可靠信号机制,又能够统一对外接口,用 sigaction 函数重新实现了 signal 函数);
 
    报文( Message )队列(消息队列):消息队列是消息的链接表,包括 Posix 消息队列 systemV 消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。
 
    共享内存:使得多个进程可以访问同一块内存空间,是最快的可用 IPC 形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
 
    信号量( semaphore ):主要作为进程间以及同一进程不同线程之间的同步手段。
 
套接口( Socket ):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由 Unix 系统的 BSD 分支开发出来的,但现在一般可以移植到其它类 Unix 系统上: Linux System V 的变种都支持套接字。   
3、网桥是独立于___协议的,(后面还有一句话,记不得了)     
网络层
 4、struct    A    
 {     
 char    t:4;    
 char    k:4;    
 unsigned    short   i:8;    
 unsigned    long   m;    
 }     
 sizeof(A)=___(不考虑边界对其)
Vc 8
该错题:     
 1、下面的函数实现在一个固定的数上加上一个数,有什么错误,改正     
 int    add_n(int   n)    
 {     
 static    int   i=100;    
 i+=n;     
 return    i;    
 }     
I 每次都变化
 2、就是大家说的少一个free的那道题     
 3、就是const    字符串不能被修改的问题     
 4、char    p[5];    
 char*    s="12345";    
 strcpy(p,s);     
 5、class    A    
 {     
 public:     
 A()    {   p=this;   }    
 ~A()    {   if(p!=NULL)   {   delete   p;   p=NULL;   }   }    
 A*    p;    
 };     
  这个问题我说一下,可能出题者自己也没意识到这个问题,因为在趋势的考试中这样     
  error 也出现了。     
  显然,出题者的意图是: delete   this 之后,不能操作这个对象了,所以, p=NULL 是错     
  误的。但是还有一个错误: big-three 原则,定义了析构函数,缺少了 copy   ctr operato    
 r=      
发信人: xjtuwolf (西北望,射天狼), 信区: job
标 题: 华为面试题(软件)
发信站: 兵马俑BBS (Fri Nov 28 13:35:14 2003), 转信(bbs.xjtu.edu.cn)
 
 
第一题:
     指针的使用,地址的概念
第二题:
     编程把一个整数分解质因子并打印
第三题:
     编程打印如下图案 ( 不能用数组 , 递归 , 不考虑空格 )
                       1
                      121
                     12321
                      121
                       1
 
发信人: evileye (邪眼), 信区: job
标 题: 华为最后三个大题
发信站: 饮水思源 (2004 年11月12日10:23:03 星期五), 站内信件
 
1.A,B,C,D 四个进程, A buf 里面写数据, B,C,D buf 里面读数据,
A 写完,且 B C D 都读一次后, A 才能再写。用 P V 操作实现。
 
2.将单向链表reverse,如ABCD变成DCBA,只能搜索链表一次。
 
3.将二叉树的两个孩子换位置,即左变右,右变左。不能用递规(变态!)
其实也可以类似于二叉树的非递归遍历,比如前序遍历,只不过 visit 变成交换左右孩子节点。
先将根节点压栈,然后进入 while 循环,条件栈不空
将节点出栈,交换其左右节点,然后再将左右节点进栈
发信人: autumn (秋天不该那么绝望的), 信区: job
标 题: 华为D卷最后四大题
发信站: 饮水思源 (2004 年11月12日12:41:17 星期五), 站内信件
 
1、 A1,A2....An B 交换资源,求写出 PV 操作的序列
 
2、非递归实现废物不拉屎数列.
 
3、折半查找干啥用的?
   实现之.
 
4、实现有序链表上的插入
 
题目概要:一射击选手射击 10 次共得 89 环,每次射击获得环数范围为 [0,10] 。请给出他射击
结果的所有可能性
 
1、int    i=10,   j=10,   k=3;   k*=i+j;   k最后的值是___     
 2、进程间通信的方式有__    __   __   __等。     
  3 、网桥是独立于 ___ 协议的,(后面还有一句话,记不得了)   
网络层   
 4、struct    A    
 {     
 char    t:4;    
 char    k:4;    
 unsigned    short   i:8;    
 unsigned    long   m;    
 }     
 sizeof(A)=___(不考虑边界对其)
 
1、下面的函数实现在一个固定的书上加上一个数,有什么错误,改正     
 int    add_n(int   n)    
 {     
 static    int   i=100;    
 i+=n;     
 return    i;    
 }     
 2、就是大家说的少一个free的那道题     
 3、就是const    字符串不能被修改的问题     
 4、char    p[5];    
 char*    s="12345";    
 strcpy(p,s);     
 5、class    A    
 {     
 public:     
 A()    {   p=this;   }    
 ~A()    {   if(p!=NULL)   {   delete   p;   p=NULL;   }   }    
 A*    p;     
 };     
 这个问题我说一下,可能出题者自己也没意识到这个问题,因为在趋势的考试中这样     
 的error也出现了。     
 显然,出题者的意图是:delete    this之后,不能操作这个对象了,所以,p=NULL是错     
 误的。但是还有一个错误:big-three原则,定义了析构函数,缺少了copy    ctr和operato     
 r=。     
   
 
.要求采用非递归的方法,把二叉树的每一个非叶子节点的左右孩子节点互换,试编写函数。   
  函数原型:void    exchange(node   *t){     ...   }//t为二叉树的根节点。   
 树节点结构:   
 typedef    struct   node    
 {        int   data;  
          node   *left;  
          node   *right;  
 };   
变相的二叉树遍历题目,可以采用先序遍历,层次遍历等
typedef   struct   node  
 {  
    int   key;  
    struct   node   *llink,*rlink;  
 }NODE;  
 void   exchange(NODE   *root)  
 {  
    NODE   *r,*p,stack[MAX];  
 int   top=0;  
 stack[++top]=root;  
 while(top>0)  
 {  
 p=stack[top--];  
 if(p!=NULL){  
    r=p->llink;  
    p->llink=p->rlink;  
    p->rlink=r;  
 stack[++top]=p->llink;  
 stack[++top]=p->rlink;  
 }  
 }  
 }  
 
任意给定 9 个自然数,请给出一定的规则(一条或几条)判断是否能组成九宫图。   
  据华为经理说这是小学的奥赛题。
从小到大排序,设中间位置(第 5 )个数为    m ,则必须符合   
   
  一、    m-d,   m-c,   m-b,   m-a,   m,   m+a,   m+b,   m+c,   m+d   的模式   
  这里已经假设了    0<=a<=b<=c<=d   
  根据    a,   b,   c,   d   的不同有几种可能。   
   
  或者是:   
  二、    d   =   c   =   b   =   a   =   0  
   
  或者是:   
  二、    a   =   0  
  三、    b   =   c   >   0;  
  四、    d   =   b   或者    d   =   2b  
   
   
  或者是:   
  二、    d   >   c   >   b   >   a   >   0  
  三、    c   =   a   +   b  
  四、    d   =   a   +   c   或者    d   =   b   +   c
 
int   a[10][10]={...};  
  要求对 a 进行排序 , 使之 :  
 1   每行从左到右为非减序列 ;  
 2   每列从上到下为非减序列 ;
当作一维数组直接排序就可以了
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值