转:华为的部分面试题

本文精选了一系列编程面试题目并提供了详细解答,涵盖对称数判断、数据结构、网络模型、C++特性等多个方面,旨在帮助读者更好地准备技术面试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

本节摘抄自“海边的卡夫卡”:

两道编程,一道是在一个串里面删除从i到j之间的一段,还有就是求一个数是否是对称数(付源码)。

循环   除10,商除10,余数乘10,  
  判断结果  
   
  int   print_num(int   num)  
  {  
          int   over   =   0;  
          int   quotient   =   0;  
   
          quotient   =   num;  
          while(1)  
          {  
                  over   =   over*10   +   quotient%10   ;  
                  quotient=quotient/10;  
                  if   (   quotient   ==     0   )  
                          break;  
          }  
   
          printf("num   =   <%d>/n",num);  
          printf("over   =   <%d>/n",over);  
   
          if   (num   ==   over   )  
                  return   1;  
          else  
                  return   0;  
  }  
 
 笔试完毕,基本还比较顺利。

 接下来就比较惨了。先来个MM。真的第一次见计算机这么牛的,好公司就是好公司啊。

 首先问了编程第一题的思路,接着问了几题数据结构的问题。总结一下。
 1、说一下你知道的查找有哪几种?
 2、怎么遍历一个树?什么是平衡二叉树?一个树怎么调整成平衡二叉树?
 3、OSI七层模型和TCP/IP五层模型?socket在第几层(传输层和表示层之间)?有没有用过socket编过程?
 4、说一下程序是怎么编译的?
 5、还有就是上面说的extern C的问题了。
 6、线程和进程的区别?哪些资源是可以共享的?

 这基本是第一轮了。

 接下来来个年纪稍长的。拿我简历看了看?
 1、问我做过系统的架构是怎么样的?分几个模块?
 2、ER模型应该要避免什么?多对多的关系我们应该如何处理?index有什么用?
 3、用递归写一个n的阶乘。
 4、一道程序题:
 int a[10];
 int *p;
 p=a+1;
 p=p+2;
 p=a++;

 p 指向哪个地址?迷惑性很大,还好复习了,主要是这个a+1;
 5、接下来写了个把字符串逆序的程序?“TEXT”->“TXET”。因为我用了malloc,所以顺道问了如何在栈上分配地址?

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

       Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?   

  Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?  

  Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?  

  Q4:请问C++的类和C里面的struct有什么区别?   

  Q5:请讲一讲析构函数和虚函数的用法和作用?   

  Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?   

  Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。   

  Q8:8086是多少尉的系统?在数据总线上是怎么实现的?

 

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

本节摘自  Leo2232001  :

要求:
/////////////////////input.txt样例////////////////////////////////
1+3/7*2=
4+2/*asjdff*/5-8=
5%2+5-2/*4=6/*i**ifdg***/*84o*/*1-2=
……………………………………… //更多表达式省略
/////////////////////////////////////////////////////////////////

/////////////////////output.txt样例////////////////////////////////
1+3/7*2=43
4+2/*asjdff*/*5-8=6
5%2+5-2/*4=6/*i**ifdg***/*84o*/*1-2=??
……………………………………… //更多表达式省略
/////////////////////////////////////////////////////////////
1.要求用JAVA实现。
2.若在命令行参数中指明了 input.txt 和 output.txt,请计算出input.txt中每一行表达式的值,并写入到output.txt文件中
3.2.若在命令行参数中只指明了 input.txt,则新建一个output.txt,计算出input.txt中每一行表达式的值,并写入到output.txt文件中
3.若在命令行参数中没有指明 input.txt 和 output.txt,则输入一个类似4+2/*asjdff*/*5-8这样的表达式,计算1000次这个表达式的值,在屏幕中输出结计算结果和所用时间。
4.要求最多在180分钟内完成。

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

1.STRYCPY的原式是
char *strcpy(  ,   );要完成这个函数。不能调用c的字符串函数。 还有个比较什么的,不怎么记得了

2.申请一段内存空间,用参数传回地址。再写一个main函数调用生成什么,要求程序可以运行没有错误生成。

3。双向链表中插入一个数字。

4 用*打印一个菱形,实心。大小为参数

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

 

1.杨辉三角

用链表实现

2.约瑟夫环

3.大数阶乘

4.有序表合并

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值