华为面试小结

我的华为提前批面试经验

机试

  很简单 就不多说了  和下面这位大神差不多  但是 我只做出一道题目  不过一道题目有够资格面试了

1面 是技术面  首先看看你的简历

问了一点你的项目 可能是太简单了  然后他就会问别的基础的嵌入式的 东西

         首先考的是malloc  malloc 虽然有的时候可以用一个大数组替代但是太浪费资源了

另外在  操作系统  似乎会经常用到  malloc函数 

         写一个关于的malloc的函数  什么双指针

要用双指针  才能正确返回地址。

void malloc_pp(int**p,unsigned int t)

{

         *p =(int *) malloc(t*int);

}

第二个是写  数组的插入和删除  比较简单 我用了一个临时变量很简单了

第三个  是树的遍历输出,忘光了

第二面也是 技术面

  问的是回形输出数组里的元素 但是脑子有点乱  没想出来。。。下面是网上的

#include <stdio.h>
int main()
{
  int row,col;
  int i,j,n,time=0,t;
  t = 0;
  row = 10;
  col = 10;
  int array[100][100];
  for(i=0;i<row;i++)
  for(j=0;j<col;j++)//你好像写成了:for(j=0;j<row;j++)
  array[i][j] = t++;
  for (n=0;;n++)
  {
    for (i=n;i<col-n;i++)
  {
    printf("%4d\n",array[n][i]);
    time++;//每执行一次输出操作,time的值增加一
  }
  printf("\n");
  if(time==row*col)break;
  for (j=n+1;j<row-n;j++)
  {
    printf("%4d\n",array[j][col-n-1]);
    time++;
  }
  printf("\n");
  if(time==row*col)break;
  for (i=col-2-n;i>=n;i--)
  {
    printf("%4d\n",array[row-n-1][i]);
    time++;
   }
  printf("\n");
  if(time==row*col)break;
  for (j=row-2-n;j>n;j--)
  {
  printf("%4d\n",array[j][n]);
  time++;
  }
    printf("\n");
    if(time==row*col)break;
  }
  return 0;
}

好像还问了类型的隐式转换

  好像是  unsigned char 和  char 之间的 隐式转换

 

这是一个大神的  姑且转载

华为面试总结

 

刚开始找实习的时候在华为官网上注册了简历,收到机考通知的时候已经在实习了,所以没有去参加。前几天又收到机考通知,决定去试试。考试前一天晚上去刷了两道PAT的题目,第二天就去机考了。机考的时候先做性格测试题,题目有点多,按照自己的想法去做就行。接下来是做三道编程题,两个小时时间。第一题是交叉排序,输入一个串数字,把奇数位的数字从小到大排,偶数位的数字从大到小排,例如输入7 3 5 9 输出5 9 7 3。这题排序是很简单,都写烂了。关键是输入,以前做的题目都是第一个输入数组的长度,再输入数组的每个元素,但这个并没有。只能靠自己计算元素的个数了。第二题是还是排序,如果有连续的整数就只输出头尾两个,例如输入7,11,5,6,9 输出5 7 9 11。做这个题目被坑了好久,还好最终做出来了。第三个题目是一个由0和1组成的矩阵,从里找出一个最大的全部由1组成的正方形。我用最暴力的方法,扫描所有情况选出最大值,没想到竟然通过了。三题做完,先行离开,估计差不多也用了两个小时时间。

又过了几天终于收到华为面试的通知,于是问了下上一届进了华为的学长面试的大概流程和注意要点,学长给的建议是面试的时候带上简历、成绩单和荣誉证书复印件,准备一个项目,在项目中自己负责哪些模块,遇到哪些困难,怎么解决。成绩单没办法,学校教科办都放假了。把荣誉证书复印出来附在简历后面确实有用,几轮面试的时候面试官都会仔细看看你的荣誉证书。至于项目,我简历上项目经历写了四个,每个都是切身参与的,应付考官应该没问题。

收到面试通知第二天就去香格里拉酒店面试了。第一面是技术面,一上来就给题目做,第一道是切豆腐问题,一块豆腐切成27块最少要几刀。我一想这个问题很简单,每个方向切两刀,8刀就可以。下一题是找规律:

1

11

21

1211

111221

下一行是什么?当时我看了半天实在做不出来,放弃了。第三题是跑马问题,25匹马选出最快的3匹,每次只能5匹马比赛,没有秒表。这道题要自己做出来的话估计还要想好久,最终还是在面试官的引导下才做出来的。接下来三道C语言的题目,很基础。一题求结构体大小,一题看类似strncpy的函数,只是复制指定长度字符串长度后会加’\0’。可惜标准库中的strncpy函数我记错了,我以为strncpy也是会加’\0’的,这题又掉坑里了。最后一题,一个字符串中间有个’\0’求strlen 和 sizeof 。接下来就开始问项目,面试官具体问了两个项目都问的非常细。

第二面的时候,坐下来面试官就说你自我介绍一下,我吧啦吧啦介绍完,面试官问我不用中间变量的方法怎么交换两个变量。我暗自得意了一下,关于变量互换我还发过博客的http://blog.csdn.net/u013407923/article/details/50753236。我说这个有两种方法,我就吧加减和异或两种方法写出来了。面试官问我加减的方法有没有什么问题,我说如果把这个方法写成函数,用指针传参数进去,如果传进去的地址一样就会有问题。面试官又问除了这个还有什么问题,我说没有问题,即使两个变量相等也没有问题,甚至两个变量相加超出整形的表示范围也没有问题。面试官没继续问我下一题,shell脚本怎么执行。这个问题又简单了,我说有可执行权限的怎么怎么执行,没有可执行权限有怎么怎么执行。面试官又问我要编辑shell脚本怎么办,我说vim或其他编辑器打开就可以。第三个问题我还真不知道,两个不同网卡配置成相同的网段能不能通信。问完三个问题又开始问项目,吧啦吧啦又问了好久。最后面试官说我这关你是过了,你有什么问题要问吗。我就问了下我这种种情况进华为哪些部分比较合适。

第三面还是自我介绍,当我介绍到做项目的时候就开始问我项目里面的问题了,简单了解了下项目大概内容,问了两个细节问题。最后问我还有什么想了解的有什么想问的,我说暂时没有了。第三轮面试时间比较短一些。不管怎么说三轮算是都面下来了,结果怎样就等通知了。

转载于:https://www.cnblogs.com/eat-too-much/p/5918254.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值