基本介绍
华为软件研发工程师的面试流程主要有:机考->技术面->综合面->HR面->发Offer。
- 机考:在华为整个面试环节通过率应该是最低的,可能只有50%左右的通过率;
- 性格测试:不是太有“个性”同学一般都能过,最近压力大的同学建议调整放松两天后再考;
- 技术面:这个大概率是目标部门的技术专家做的面试,一般情况下主要围绕你的实习&实践经验做的考察,也会有个别面试官可能会基于岗位和技术栈深入考察你的基础能力,会有手撕代码和机考复盘环节,请大家在通过机考后也不要放松算法这块的训练;
- 综合面:目标部门领导做的面试,和面试官聊的开心就好;
- HR面:主要沟通部门、岗位、职级和薪资等信息的沟通;
机考
机考主要有三道题,分值分别是100、200、300分。确保前两题中的一题半能通过基本就没太大问题,机考语言选择自己擅长的主流编程语言即可。机考练习可以使用牛客网的华为机考题集。
考点
技术技能 | 知识点 | 备注 |
---|---|---|
基础 | 输入数据的读取和处理 | 有同学机考忘记这个最基础的点 |
数据结构 | 字符串、数组、队列、栈 | |
算法 | 排序算法、迭代、递归、搜索算法、贪心算法等 |
考题
丢失报文位置
某通信系统持续向外发送报文,使用数组 nums 保存 n个最近发送的报文,用于在报文未达到对端的情况下重发。报文使用序号 sn 表示,序号 sn 按照报文发送顺序从小到大排序,相邻报文 sn 不完全连续且有可能相同。报文使用循环覆盖的方式保存,即 nums 数组填满后,从头开始保存新的报文。假设需要重发序号为 sn 的报文。请找出序号为 sn的报文在数组中的开始位置和结束位置。
快速传球
班级组织传球活动,男女同学随机排成 m 行 n 列队伍,第一列中的任意一个男同学都可以作为传球的起点,要求最终将球传到最后一列的任意一个男同学手里,求所有能够完成任务的传球路线中的最优路线(传球次数最少的路线)的传球次数。传球规则:
- 男同学只能将球传给男同学,不能传给女同学。
- 球只能传给身边前后左右相邻的同学。
- 如果游戏不能完成,返回 - 1. 说明:
- 传球次数最少的路线为最优路线。
- 最优路线可能不唯一,不同最优路线都为最少传球次数。
简易计算器
设计一款计算器软件,支持如下功能:
let var1 = 1
let var2 = var1 + 1
let var3 = var5 + 1 //var5未定义