# 21. 华为od面试

# 1. 类似牛客网的机试

先看算法题输入输出格式:oj处理输入输出 (opens new window) 机考注意事项

  1. 密码输入检测 (opens new window)
  2. 求最多可以派出多少支团队 (opens new window)
  3. 智能驾驶 (opens new window): 深度优先算法

# 2. 性格测试

好像是120道选择题,120分钟。乐观、忧虑、轻松、一致性 微信图片_20240314211723 微信图片_20240314211709 微信图片_20240314211719

# 3. hr资格面

离职原因尽量不要直接说薪资问题,讲发展业务这块都可以的。资面大概20分钟,不涉及太多技术问题,主要是聊天沟通~

注意事项:综面资面 (opens new window)

# 4. 技术一面

面试过程用的华为的WeMeeting会议软件,mac电脑中使用WeMeeting共享屏幕在LeetCode中答题会卡死。。卡了几次,换了windows电脑没问题。

  1. vue2与vue3区别。vue2-vs-vue3 (opens new window)
  2. 需求开发协作流程介绍。
  3. 岛屿数量 (opens new window) 岛屿数量

# 5. 技术二面

  1. 项目介绍
  2. 项目过程中遇到的难题
  3. 性能优化过程中使用的方法,性能指标有哪些?fcp是啥意思,之前都干了啥
  4. 浏览器缓存有哪些?区别?(cookie、sessionStorge、localStorge)
  5. 代码规范有哪些
  6. 事件委托
  7. BFC (opens new window)
  8. 盒模型 (opens new window)
  9. js基础类型和引用类型
  10. 算法题:给你一个整数数组,去除一个数,求乘积最大值
// 给你一个整数数组,去除一个数,求乘积最大值
function maxValue(arr) {
    let all = 1;
    let max = -Infinity;
    let left = 0;
    let zero = 0;
    for(let i=0; i<arr.length; i++) {
        all *= arr[i];
        if (arr[i] < 0) {
            left++;
        } else if (arr[i] === 0) {
            zero++;
        }
    }
    if (zero > 1) {
        return 0;
    }
    if (zero === 1) {
        if (left % 2 !== 0) { // 负数不是2的倍数
            return 0;
        }
    }
    
    for(let i=0; i<arr.length; i++) {
        let n = all;
        let cur = arr[i];
        max = Math.max(max, n/cur);
    }
    return max;
}
// let arr = [-1, 0, 1, 3];  0
// let arr = [2, 3, 4];  12
// let arr = [-2, -3, 4];  6
// let arr = [-2, 3, 4];  12
console.log(maxValue(arr))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

# 6. 主管面

就问了下之前的业务,需求开发流程,线上运营问题后处理流程。介绍了下要搞的具体业务。

# 总结

  1. 机试390分。机试后知道一定过。
  2. 性格测试乐观、忧虑、轻松、一致性。面完后知道大概率过。
  3. hr随便聊聊,怎么看od,目标薪资等。面完后知道一定过。
  4. 技术一面,之前开发协作流程,vue区别,一道算法题过。面完后知道一定过。
  5. 技术二面,问的比较多,项目问题,技术基础,一道算法题过。面完后知道一定过。
  6. 看你语言组织和逻辑,了解你之前的业务和开发以及处理问题的过程。

面试过程中总有一种为了面试而面试的感觉,而且面试是大部分是晚于面试约定的时间,导致我觉得里面太忙了连面试的时间都没。定级D3(这个定级开始hr说和你机试和面试有关系,但是我基本面试算法题全过,面试也聊的挺好,也才D3,所以我觉得定级和你学校以及之前base关系是最大的),薪资涨幅20%左右,最后由于薪资涨幅不高,别的地方也了解到加班多,内部压抑。最后由于性价比不高,我也有其他offer了,就拒绝了。总结下,如果和你上一份工资相比涨幅40%以上,或者找不到更好的工作,可以接受,不是为了钱的话还是算了。当然如果你是为了转华为正式,那你学校首先要非常好而且要做好卷的准备,目标要到头部10%,没决心的话还是算了,毕竟学校都这么好了为啥不考虑其他大厂呢?