当前位置: 首页 > news >正文

suningin华为招聘--前人经验

suningin华为招聘--前人经验(1)

这篇文章是写给2007届的毕业生的,我想我这些日子的经历应该能给2007届的师弟和师妹们将来的校园招聘提供点帮助。 一、准备阶段: 在华为面试之前,我把《软件设计师教程》大概的复习了一遍,时间实在太紧迫了,有些概念我也只是很粗糙地掠过去。10号下午还到图书馆借了一本《程序员面试攻略》,11号下午就差不多把那本书大概地啃完。 二、笔试: 11号,收到短信通知当晚7:00在E栋笔试(只要是注册了电子简历的同学都有资格),考试种类分两种:硬件和软件,共四类题:填空,选择,改错,程序设计。基本上都是一些C/C++语言题,数据结构的树的前序、中序及后序排列,计算机网络里的IP报文中的TTL(Time to live),数据库的操作等等;程序题有两道,一道题是关于数据结构的,另外有一道是“字符串A插入字符串B中”。虽然都基础,但题量太大,考试时间太短。大家都在喊没信心。 三、面试: 第二天就有人接到通知去面试了,我们班一位同学去了,他很牛B,从第一轮到第四轮一 直很顺利。我是第三天才和我们寝室另外的一位同学才接到面试通知的(不过我听说我们这一批接到通知的笔试分数普遍都很高),当然在前三天的等待时间里,我心情很郁闷,我还以为我没有慧通的面试资格了,所以一直在玩,希望有时真的是期而不遇,遇而不期阿。(其实笔试这一轮刷的人不多,大家以后没必要像我这样子提前就爆弃了) 我下午4:00准时到凯莱大酒店,一进去就感觉一股热气,大厅里也许是因为太热或者太紧张的缘故,每个人的脸都很红,很红。大概等了半个小时,我的心也跳得好厉害,我就到门口舒缓下情绪,很快一位帅哥就领我去第一轮面试了,他问我会什么,**,这问题该怎么答阿,然后我说我是电子科学与技术专业的,计算机基本上是靠自学的,大概他体会到自学的不易,他给我出了5道编程题,虽然很多,但基本上都不很难。(我一同专业的哥们虽然只有一道题,但却是用C语言编桌球的运动轨迹,妈啊,对于C语言的图像功能我都没接触到过阿),我的题目是: 1、1到100之间的所有素数之和; 2、队列的实现; 3、选首领(有一群人围在一圈,从第一个人开始数1、2、3,数到3者退出,用循环链表实现) 4、字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其中有连续ABC子字符串的个数 ) 5、用数组存储超大数的问题。 6、询问我操作系统的进程和线程的区别 幸好这些题目在笔试前我就都已经见过了,虽然第四个题目,面试老师说我执行效率不高,但可以过得去了。哈哈,他直接通知我去进行第二轮面试了。 第二轮是资格面试,没多大问题,就聊聊家乡,聊聊自己的情况,这一关只要说话有分寸,一般都可以通过。第二轮面试完,就快到了晚饭的时间了,晚饭当然是慧通免费提供的,晚饭一过后,我就被一被称作是部长的面试官叫了进去,这一关一进去他直接拿了我《软件设计书》提问我: 1、ping命令使用的是哪种报文? 2、OSI分哪几个层,IP是在哪个层? 3、哈希表的问题 4、为什么要采取二叉树这种数据结构?(折半查找) 5、两台计算机中的进程怎么互相通信,我说通过IP呗,他说除了IP呢?我卡住了,他说你听说过五元组吗?我只好老老实实的回答说不知道,然后他在那里给我解释一通,但我还是没搞明白,回来翻潘爱民老师的《计算机网络书》 也没有。这一轮虽然第5个问题我有点卡壳,但老师说我毕竟是自学,还表扬了我,说我已经很不错了。面试完已经好晚了,华为的MM通知我第二天继续去进行第四轮的面试。 第二天,我按时到了考试地点,这一天,明显感觉气氛没有第一天的好,垂头丧气的好多。很快就通知我去面试了,这一轮面试的老师明显态度比前几轮差多了,问的问题都有点让我透不过气来,但终于挺了过去,最后他直接点到桌子上 的一个题目: void main() { char *p; *p=-130; printf("%d",*p); } 正确的答案是126,原因:-130在计算机里面存储形式是11111111-01111110(取反码的形式),因为C里面的CHAR是8位的,所以,最高位1去掉,剩下01111110。 四、些许体会   面试,就是面试,不是学习,考试。你现在会多少东西固然重要,但更重要的是你得 让面试官知道,所以面试时把你的知识表达出来是最重要的。切记!面试表达是关键,你 可以先把自己熟悉的整理一下,不至于面试的时候磕磕碰碰的。面试,好比下棋。把握局 面,掌握主动权是关键。一旦你把面试官成功引入你的领地,让他把注意力关注在你熟悉 的领域,无暇自顾,那就尽情发挥吧,已经成功了一大半。所以从面试官拿到你的简历起 ,就主动出击,别给他机会. 另外,在大肆开学初,一定要把各位的专业课翻出来看看,考软件的特别要多多看看基础的C语言,想找到好工作一定要从骨子里面重视起来。

=====================================

篇中提及的问题的解答:

1、1到100之间的所有素数之和;

 int i = 1;  int j = 0;  bool change= 1;  int sum = 0;  for (i=1; i<100; i++)  {    for (j=2; j<i; j++)   {    if(i%j==0)    {     change = 0;         break;    }   }   if(change==1)    sum +=i;   change = 1;   }  printf("%d/n",sum);

2、队列的实现;(用数组或者链表,定义好输入和输出即可) 3、选首领(有一群人围在一圈,从第一个人开始数1、2、3,数到3者退出,用循环链表实现)  n个人围成一圈,从第一个人开始依次从1到m循环报数,当报到m的时候此人出圈,直到圈 中只剩一人为止.求最后一个人的原始编号。      int   yuesefu(int   n,int   m)      {             int   i,r=0;             for   (i=2;i<=n;i++)   r=(r+m)%i;             return   r+1;      }  

4、字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其中有连续ABC子字符 串的个数)  int countABC(* s)  {   int i = 0;   int j = 0;   int num = 0;   scanf("%s",s);   int len = strlen(s);   for (i=0; i<len-3; i++)   {    j = strcmp(s+i,"ABC");    if(j==0)     num++;   }

 } 5、用数组存储超大数的问题。  这是数组得一个应用,思想是我们定义一个数组,让每一个元素得值都是从后到前以十  进制得方式存贮得,如过到了9下一位就要让前一个元素进位为1,9变为0同时。 下面这个例子是要求一个40位的 n!的值  int data[40];//存储40位书的整数数组  int digit;//数据位数变量  int i,j,r,k;  int n;//用户输入值    for(i=1; i<40+1; i++)   data[i]=0;

 data[0]=data[1]=1;  digit=1;

 printf("enter a number :");  scanf("%d",&n);

 for(i=1; i<n+1; i++)  {   for(j=1; j<digit+1; j++)    data[j]*=i;   for(j=1; j<digit+1; j++)   {    if(data[j]>10)    {     for(r=1; r<digit+1; r++)     {      if(data[digit]>10)//大于10时候位数加1       digit++;      data[r+1]+=data[r]/10;//进位增加      data[r]=data[r]%10;//去掉进位后得值     }    }   }   printf("%d! = ",i);   for(k =digit; k>0; k--)    printf("%d",data[k]);   printf("/n");

 } 6、询问我操作系统的进程和线程的区别  进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元 实现系统对应用的并发性。进程和线程的区别,简而言之:        一个程序至少有一个进程,一个进程至少有一个线程.  线程的划分尺度小于进程,使得多线程程序的并发性高。  另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大 地提高了程序的运行效率。

========================================= 1、ping命令使用的是哪种报文?  PING命令使用ICMP的哪种code类型:Echo reply(回显请求报文)

2、OSI分哪几个层,IP是在哪个层?  osi:物理层、链路层、网络层、传输层、会话层、管理层、应用层。        tcp/ip:主机网络层、互联层、传输层、应用层。ip是在互联层 3、哈希表的问题  主要用于快速查找检索方面 4、为什么要采取二叉树这种数据结构?   他折半查找,可以减少查找比较次数 5、五元组  二元组的定义:<K,R>  三元组的定义:<D,F,A>  五元组的定义:<V,O,G,M,S>  V是值的集合,O是操作的集合,G是构成名字的文法,M是存储的集合,S是从G能构成的名字 几个到M的映射.  iP报文中的五元组(即源IP地址,源端口号,目的IP地址,目的端口,协议)。  半相关  综上所述,网络中用一个三元组可以在全局唯一标志一个进程:  (协议,本地地址,本地端口号)  这样一个三元组,叫做一个半相关(half-association),它指定连接的每半部分。

 全相关  一个完整的网间进程通信需要由两个进程组成,并且只能使用同一种高层协议。也就是 说,不可能通信的一端用TCP协议,而另一端用UDP协议。因此一个完整的网间通信需要 一个五元组来标识:  (协议,本地地址,本地端口号,远地地址,远地端口号)  这样一个五元组,叫做一个相关(association),即两个协议相同的半相关才能组合 成一个合适的相关,或完全指定组成一连接。

本文来自:http://blog.sina.com.cn/s/blog_4a37152c01000698.html

相关文章:

  • 俞黎敏与JAVA脚本编程
  • 与Thoughtworks 第三届敏捷软件大会同行
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • Solaris 应用程序设计——孙勇
  • 互动网8周年店庆,诚邀各CSDN会员参加
  • 顶尖图形学专家Steve Cunningham 先生中国行
  • 记录一本优秀图书是如何出版的?
  • 互动网8周年网庆:InfoQ华章 程序员沙龙——云计算
  • 与《Java 编程思想》齐名的《Java 核心技术,卷1,第8版》最新版上市
  • 李松峰谈HTML之路
  • 《Java核心技术》每一位Java学习者的必备读物
  • Java-SOA-UI-Dojo 好书诚邀译者——华章公司
  • 全球38位顶尖高手、众多语言之父经典之作9月15日全国首映
  • 华章IT与PHPChina社区携手合作——“PHP蓝宝书”有奖书评征集活动
  • IT四大名著
  • [case10]使用RSQL实现端到端的动态查询
  • 【翻译】babel对TC39装饰器草案的实现
  • ESLint简单操作
  • java第三方包学习之lombok
  • Redis在Web项目中的应用与实践
  • Sublime text 3 3103 注册码
  • V4L2视频输入框架概述
  • 离散点最小(凸)包围边界查找
  • 深入浅出Node.js
  • 收藏好这篇,别再只说“数据劫持”了
  • 算法系列——算法入门之递归分而治之思想的实现
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (十六)一篇文章学会Java的常用API
  • (算法)Travel Information Center
  • (一)u-boot-nand.bin的下载
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转载)Google Chrome调试JS
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 8.0 发布到 IIS
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET NPOI导出Excel详解
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • ??myeclipse+tomcat
  • @Transient注解
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [cb]UIGrid+UIStretch的自适应
  • [CentOs7]图形界面
  • [go] 策略模式
  • [Java][算法 双指针]Day 02---LeetCode 热题 100---04~07
  • [jQuery]div滚动条回到最底部