华为最新面试题目及答案

时间:2025-01-18 11:34:50 俊豪 面试问题

华为最新面试题目及答案

  在日复一日的学习、工作生活中,我们需要用到试题的情况非常的多,试题可以帮助参考者清楚地认识自己的知识掌握程度。你知道什么样的试题才能切实地帮助到我们吗?下面是小编为大家整理的华为最新面试题目及答案,希望对大家有所帮助。

华为最新面试题目及答案

  华为最新面试题目及答案 1

  软件测试岗位

  笔试选择题:

  1. 对计算机软件和硬件资源进行管理和控制的软件是(D)

  A.文件管理程序

  B.输入输出管理程序

  C.命令处理程序

  D.操作系统

  2. 在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(A)

  A.错误推测法测试

  B.路径分析测试

  C.语句覆盖测试

  D.条件覆盖测试

  笔试判断题:

  1. 软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作(×)

  2. 发现错误多的模块,残留在模块中的错误也多。(√)

  面试问答题:

  1. 在您以往的工作中,一条软件缺陷(或者叫BUG)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?

  答:一条BUG记录最基本应包含:编号、BUG所属模块、BUG描述、BUG级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等。要提交高质量的软件缺陷记录,需要参与需求以及详细的设计等前期文档,设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,再向外发布。

  技术研发岗位

  算法类:

  1. 最长回文子串 -- 中心扩散法

  题目:给你一个字符串 `s`,找到 `s` 中最长的回文子串。

  答案:

  class Solution {

  String max = "";

  public String longestPalindrome(String s) {

  for(int i = 0; i < s.length(); i++){

  //回文串是偶数

  dfs(s, i,i);

  //回文串是奇数

  dfs(s, i, i + 1);

  }

  return max;

  }

  void dfs(String s, int left, int right){

  String tmp;

  while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)){

  tmp = s.substring(left, right + 1);

  if(tmp.length() > max.length()){

  max = tmp;

  }

  left--;

  right++;

  }

  }

  }

  ```

  2. 插入后的最大值 -- 逻辑思维能力

  题目:给你一个非常大的整数 `n` 和一个整数数字 `x` ,大整数 `n` 用一个字符串表示。`n` 中每一位数字和数字 `x` 都处于闭区间 `(1, 9)` 中,且 `n` 可能表示一个负数。你打算通过在 `n` 的十进制表示的任意位置插入 `x` 来最大化 `n` 的数值。但不能在负号的左边插入 `x`。

  答案:

  class Solution {

  public String maxValue(String n, int x) {

  int len = n.length();

  String res = "";

  if(!n.substring(0,1).equals("-")){

  for(int i = 0; i < n.length(); i++){

  String tmp = n.substring(i,i + 1);

  //注意integer会自动拆箱,可以直接比较

  if(Integer.parseInt(tmp) < x){

  res = res + x + n.substring(i);

  break;

  }

  res = res + tmp;

  }

  if(res.length() == len){

  res = res + x;

  }

  }else{

  res = "-";

  for(int i = 1; i < n.length(); i++){

  String tmp = n.substring(i,i + 1);

  if(Integer.parseInt(tmp) > x){

  res = res + x + n.substring(i);

  break;

  }

  res = res + tmp;

  }

  if(res.length() == len){

  res = res + x;

  }

  }

  return res;

  }

  }

  ```

  数据结构与算法岗位

  1. 解释栈和队列的区别,以及它们的实际用途。

  答:栈是一种后进先出的数据结构,就像一个桶,只能从一端进出,最后放入的元素最先被取出。常用于函数调用栈、表达式求值、括号匹配等场景。队列是一种先进先出的数据结构,类似于排队,元素从一端进入,从另一端出去。常用于任务调度、消息队列、广度优先搜索等场景。

  2. 实现一个二叉查找树(Binary Search Tree)。

  答:以下是一个简单的二叉查找树的Java实现:

  class TreeNode {

  int val;

  TreeNode left;

  TreeNode right;

  TreeNode(int val) {

  this.val = val;

  this.left = null;

  this.right = null;

  }

  }

  class BinarySearchTree {

  TreeNode root;

  public void (int val) {

  root = (root, val);

  }

  private TreeNode (TreeNode node, int val) {

  if (node == null) {

  return new TreeNode(val);

  }

  if (val < node.val) {

  node.left = (node.left, val);

  } else if (val > node.val) {

  node.right = (node.right, val);

  }

  return node;

  }

  public boolean search(int val) {

  return search(root, val);

  }

  private boolean search(TreeNode node, int val) {

  if (node == null) {

  return false;

  }

  if (val == node.val) {

  return true;

  } else if (val < node.val) {

  return search(node.left, val);

  } else {

  return search(node.right, val);

  }

  }

  }

  ```

  操作系统岗位

  1. 什么是进程和线程的区别?

  答:进程是系统进行资源分配和调度的基本单位,拥有独立的内存空间和系统资源,不同进程之间相互隔离。线程是进程中的执行单元,是CPU调度的基本单位,多个线程共享进程的`内存空间和系统资源,线程间的通信和切换成本相对较低。

  2. 解释死锁的概念,并提供一些防范死锁的方法。

  答:死锁是指多个进程或线程在运行过程中,因争夺资源而造成的一种僵局,若无外力作用,这些进程或线程都将无法继续向前推进。防范死锁的方法有:破坏互斥条件,如采用资源共享的方式;破坏请求和保持条件,如进程在运行前一次性申请所有需要的资源;破坏不可剥夺条件,如允许系统剥夺进程已占有的资源;破坏循环等待条件,如对资源进行编号,规定进程按顺序申请资源等。

  财经专员岗位

  1. 递延所得税的原理,递延所得税资产和负债可以抵消吗,什么情况下抵消?

  答:递延所得税是由于会计和税法在确认收入、费用等方面的时间差异而产生的。递延所得税资产是指未来预计可以用来抵税的资产,递延所得税负债是指未来预计需要多交税的负债。在某些情况下,递延所得税资产和负债可以抵消,当企业同时满足以下条件时:企业拥有以净额结算当期所得税资产及当期所得税负债的法定权利;递延所得税资产及递延所得税负债是与同一税收征管部门对同一纳税主体征收的所得税相关或者是对不同的纳税主体相关,但在未来每一具有重要性的递延所得税资产及负债转回的期间内,涉及的纳税主体意图以净额结算当期所得税资产和负债或是同时取得资产、清偿负债。

  2. 主要责任人和代理人的区别?

  答:主要责任人是指在向客户转让商品前能够控制该商品的企业,其在转让商品时应按总额法确认收入;代理人是指在向客户转让商品前不能控制该商品的企业,其在转让商品时应按净额法确认收入,即仅确认其作为代理人所获取的佣金收入等。主要区别在于对商品的控制权以及收入确认的方式不同。

  华为最新面试题目及答案 2

  华为

  1)笔试 可以选择JAVA和C++。

  2)面试:

  一面:技术面,40分钟,问的很细,UML,单点登录,J2EE

  二面:综合面,20分钟 一个项目完整的经历

  三面:HR,职业规划,优势与劣势,期望工资与工作地点。

  四面:老总面.

  华为面试题及答案

  1、局部变量能否和全局变量重名

  答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

  2、如何引用一个已经定义过的全局变量

  答:extern

  可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

  3、全局变量可不可以定义在可被多个.C文件包含的头文件中 为什么

  答:可以,在不同的C文件中以static形式来声明同名全局变量。

  可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

  4、语句for( ;1 ;)有什么问题 它是什么意思

  答:和while(1)相同。

  5、do……while和while……do有什么区别

  答:前一个循环一遍再判断,后一个判断以后再循环

  6、请写出下列代码的输出内容

  以下是引用片段:

  include

  main()

  {

  int a,b,c,d;

  a=10;

  b=a++;

  c=++a;

  d=10a++;

  printf("b,c,d:%d,%d,%d",b,c,d);

  return 0;

  }

  答:10,12,120

  7、static全局变量与普通的全局变量有什么区别 static局部变量和普通局部变量有什么区别 static函数与普通函数有什么区别

  全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能 使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。

  从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。

  static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

  static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;

  static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;

  static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

  8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。

  9、设有以下说明和定义:

  typedef union {long i; int k[5]; char c;} DATE;

  struct data { int cat; DATE cow; double dog;} too;

  DATE max;

  则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____

  答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20

  data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.

  所以结果是 20 + 32 = 52.

  当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

  10、队列和栈有什么区别

  队列先进先出,栈后进先出

  11、写出下列代码的输出内容

  以下是引用片段:

  include

  int inc(int a)

  {

  return(++a);

  }

  int multi(inta,intb,intc)

  {

  return(c=ab);

  }

  typedef int(FUNC1)(int in);

  typedef int(FUNC2) (int,int,int);

  void show(FUNC2 fun,int arg1, intarg2)

  {

  INCp=&inc;

  int temp =p(arg1);

  fun(&temp,&arg1, arg2);

  printf("%d ",arg2);

  }

  main()

  {

  int a;

  show(multi,10,&a);

  return 0;

  }

  答:110

  12、请找出下面代码中的所以错误

  说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

  以下是引用片段:

  1、include"string.h"

  2、main()

  3、{

  4、 charsrc="hello,world";

  5、 char dest=NULL;

  6、 int len=strlen(src);

  7、 dest=(char)malloc(len);

  8、 char d=dest;

  9、 char s=src[len];

  10、 while(len--!=0)

  11、 d++=s--;

  12、 printf("%s",dest);

  13、 return 0;

  14、}

  答:

  方法1:

  以下是引用片段:

  int main()

  {

  char src ="hello,world";

  int len = strlen(src);

  char dest = (char)malloc(len+1);//要为分配一个空间

  char d = dest;

  char s = &src[len-1];//指向最后一个字符

  while( len-- != 0 )

  d++=s--;

  d = 0;//尾部要加

  printf("%s ",dest);

  free(dest);// 使用完,应当释放空间,以免造成内存汇泄露

  return 0;

  }

  方法2:

  以下是引用片段:

  include

  include

  main()

  {

  char str[]="hello,world";

  int len=strlen(str);

  char t;

  for(int i=0; i

  {

  t=str;

  str=str[len-i-1]; str[len-i-1]=t;

  }

  printf("%s",str);

  return 0;

  }

  1.-1,2,7,28,,126请问28和126中间那个数是什么 为什么

  第一题的答案应该是4^3-1=63

  规律是n^3-1(当n为偶数0,2,4)n^3+1(当n为奇数1,3,5)

  答案:63

  2.用两个栈实现一个队列的功能 要求给出算法和思路!

  设2个栈为A,B, 一开始均为空.

  入队:

  将新元素push入栈A;

  出队:

  (1)判断栈B是否为空;

  (2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;

  (3)将栈B的栈顶元素pop出;

  这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好。3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么

  函数名: atol

  功 能: 把字符串转换成长整型数

  用 法: long atol(const char nptr);

  程序例:

  以下是引用片段:

  include

  include

  int main(void)

  {

  long l;

  char str ="98765432";

  l = atol(lstr);

  printf("string = %s integer = %ld ", str, l);

  return(0);

  }

  13.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现

  c用宏定义,c++用inline

  14.直接链接两个信令点的一组链路称作什么

  PPP点到点连接

  15.接入网用的是什么接口

  16.voip都用了那些协议

  17.软件测试都有那些种类

  黑盒:针对系统功能的测试

  白合:测试函数功能,各函数接口

  18.确定模块的功能和模块的接口是在软件设计的那个队段完成的

  概要设计阶段

  19.

  enum string

  {x1,x2,x3=10,x4,x5,}x;

  问x= 0x801005,0x8010f4 ;

  20.

  unsigned char p1;

  unsigned long p2;

  p1=(unsigned char )0x801000;

  p2=(unsigned long )0x810000;

  请问p1+5= ;

  p2+5= ;

  选择题:

  21.Ethternet链接到Internet用到以下那个协议

  A.HDLC;B.ARP;C.UDP;D.TCP;E.ID

  22.属于网络层协议的是:

  A.TCP;B.IP;C.ICMP;D.X.25

  23.Windows消息调度机制是:

  A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;

  24.

  unsigned short hash(unsigned short key)

  {

  return (key>>)%256

  }

  请问hash(16),hash(256)的值分别是:

  A.1.16;B.8.32;C.4.16;D.1.32

  找错题:

  25.请问下面程序有什么错误

  int a[60][250][1000],i,j,k;

  for(k=0;k

  华为销售的`面试经历

  面试在一个大礼堂进行,几十个学生被分成4人一个小组,每个小组有一个面试官。面试过程很“残酷”,只要不入面试官的法眼,或是答不上面试官的提问,面试官就会说:你可以走了,也就是被当场淘汰。

  那天和我分一组的是另外3个男生,我刚走到面试官面前还没来得及坐下,面试官只瞄了我一眼就冷冷地对我说:“你可以走了,我觉得你不合适!”

  我很震惊,说实话也觉得很没面子。可是我没走,嘴上没说,心里满满的是不服气:你根本不认识我,凭什么看一眼就认为我不合适,凭什么就让我走?不过,当时我并没有吭声,因为我也觉得当面“质问”面试官,既没礼貌也显得我很没风度。我想,等面试结束后再与面试官理论也不迟。

  另外3个男生都坐下了,我可不管他们是怎么想的,我也坐下了。面试官到底没赶我走,只是当我不存在,然后开始对着其中一个男生发问:“你最得意的一件事情是什么?”可能是因为紧张,那个男生竟不知如何作答,支支吾吾地说自己还没有工作,也没有做出什么特别的成就,所以也没什么得意的事。我心里很着急,觉得他的回答有点偏题,我可不愿意他在第一道坎上就被淘汰。于是在边上悄悄地提醒他:“你可以说一件在学校里做过的你自己感到最满意的事情……”

  面试官看了我一眼,我也不以为然:你不至于给我加上一条作弊的罪名吧,这种时候该帮人一把的。反正我已经是“不合适的人”了——这应该就叫“无欲则刚”吧。

  不过,接下来的形势可不容乐观,3个男生相继被淘汰了,最后桌前就剩下我一个。面试官还没跟我对上话呢。不过,到现在看上去面试官是有话要说了。我还是不动声色。终于面试官开口了:“那3个人应该是你的竞争者,可我刚刚看你一直在帮助他们,你为什么要帮助他们?他们答不上来不是对你更好?如果他们都淘汰了,岂不是你的机会就来了?”我说:“我不以为他们是我的竞争对手,如果都能通过面试,将来大家可能还是同事,有困难自然是要帮一下的。”

  对我的回答,面试官不置可否,却又拾起了先前那个话题:“我刚刚已经对你说,你不合适,你可以走了。可你为什么不走呢?”

  机会来了,该是我说话的时候了。我的“不满”终于有机会宣泄了:“我觉得你并不了解我,所以我要留在这里给你一个了解我的机会。第一,我非常仰慕华为,因为我被华为的企业文化和用人理念所吸引,所以我很郑重地投出了我的简历,也很高兴能参加这次面试。可是我完全没有想到我遭遇到如此当头一棒。第二,我还想对你说一句,我认为你的态度对一个面试者来说很不友善。因为今天我是面试者,明天我可能是你们的员工;我更可能是华为的潜在的客户。可是你今天这样不友善的态度给我留下了深刻的印象,今天我可能成不了你的员工,但明天我可能不再愿意成为华为的客户。第三,你的不友善今天影响了我对华为的看法,明天还有可能影响到我所有的朋友对华为的看法,你知道,你可能赶走了不少你们的潜在客户!”

  面试官笑了,对我的表现非常满意。因为从一开始,面试官早就给我出了一道压力面试题:如何面对挫折。要知道,这次招的是销售员,在未来的工作中,他面对的会是无穷无尽的拒绝和白眼,人家的态度可能比这位面试官坏好几倍。如果他连面试的还算礼貌的冷脸都无法面对,那他将来如何面对未来的困难呢?另外,面试官对我在面试中愿意帮助别人也表示认同,这恰恰显示了我的团队合作精神。 我这才恍然大悟,对面试官的态度表示赞同,也为自己顺利通过了面试感到高兴。

【华为最新面试题目及答案】相关文章:

华为面试题目08-27

2015华为笔试题目及答案10-24

华为英文面试题目08-03

华为英语面试题目10-15

华为面试代码笔试题目07-13

华为面试,面试流程,面试题目分享08-27

华为集体面试题目10-25

华为认证最新试题及答案08-28

华为面试流程、题目及工资水平08-07