HW机考总结

Posted by Shi Hai's Blog on September 24, 2024

基本介绍

华为软件研发工程师的面试流程主要有:机考->技术面->综合面->HR面->发Offer。

  • 机考:在华为整个面试环节通过率应该是最低的,可能只有50%左右的通过率;
  • 性格测试:不是太有“个性”同学一般都能过,最近压力大的同学建议调整放松两天后再考;
  • 技术面:这个大概率是目标部门的技术专家做的面试,一般情况下主要围绕你的实习&实践经验做的考察,也会有个别面试官可能会基于岗位和技术栈深入考察你的基础能力,会有手撕代码和机考复盘环节,请大家在通过机考后也不要放松算法这块的训练
  • 综合面:目标部门领导做的面试,和面试官聊的开心就好;
  • HR面:主要沟通部门、岗位、职级和薪资等信息的沟通;

机考

机考主要有三道题,分值分别是100、200、300分。确保前两题中的一题半能通过基本就没太大问题,机考语言选择自己擅长的主流编程语言即可。机考练习可以使用牛客网的华为机考题集

考点

技术技能 知识点 备注
基础 输入数据的读取和处理 有同学机考忘记这个最基础的点
数据结构 字符串、数组、队列、栈
算法 排序算法、迭代、递归、搜索算法、贪心算法等

考题

丢失报文位置

某通信系统持续向外发送报文,使用数组 nums 保存 n个最近发送的报文,用于在报文未达到对端的情况下重发。报文使用序号 sn 表示,序号 sn 按照报文发送顺序从小到大排序,相邻报文 sn 不完全连续且有可能相同。报文使用循环覆盖的方式保存,即 nums 数组填满后,从头开始保存新的报文。假设需要重发序号为 sn 的报文。请找出序号为 sn的报文在数组中的开始位置和结束位置。

快速传球

班级组织传球活动,男女同学随机排成 m 行 n 列队伍,第一列中的任意一个男同学都可以作为传球的起点,要求最终将球传到最后一列的任意一个男同学手里,求所有能够完成任务的传球路线中的最优路线(传球次数最少的路线)的传球次数。传球规则:

  1. 男同学只能将球传给男同学,不能传给女同学。
  2. 球只能传给身边前后左右相邻的同学。
  3. 如果游戏不能完成,返回 - 1. 说明:
  4. 传球次数最少的路线为最优路线。
  5. 最优路线可能不唯一,不同最优路线都为最少传球次数。

简易计算器

设计一款计算器软件,支持如下功能:

let var1 = 1
let var2 = var1 + 1
let var3 = var5 + 1 //var5未定义

参考文档