华为一面

1,225 阅读2分钟

视频面试,用的是zoom。大概分为两个阶段吧

手撕代码

  • 大概30分钟,看个人能力
  • 共享屏幕后,面试过会给你一道题目,然后在自己的ide上做。主要是让面试官看到你的解题思路,代码风格,逻辑能力。
  • 不管有没有写完,面试官应该都会叫停,然后会说出你算法的一些问题(这个很好),以及面试官自己的解题方法(怎么优化之类的)
  • 我的题目如下: 版本号排序:
  • 给定一个数组,其中包含多个版本号,对版本号进行降序排序。
  • 相同版本号前提下,正式版 > beta > alpha
例一:
输入:['1.0.10', '1.0.3', '1.0.9', '2.0.alpha', '2.0', '2.0.beta']
输出:['2.0', '2.0.beta', '2.0.alpha', '1.0.10', '1.0.9', '1.0.3']
解释:2.0 > 2.0.beta > 2.0.alpha,因为2.0是正式版

技术栈相关

大概30分钟

我的比较零碎,很多都答的不好,然后面试官就转移了方向,唉。

  • 为什么离职?
    • 回答:
      • 技术栈比较落后,感觉没有发展前景
      • 公司人员配比不完善,感觉不重视前端
  • 主要技术栈是什么?
    • 回答:
      • vue相关,会一点node
  • 有没有封装过公共组件?
    • 回答:
      • table组件
      • 附件预览组件
  • react的事件绑定原理?比如onClick为什么会执行?
    • 回答:
      • 通过React.createElement将事件当作属性传入,然后将该方法中绑定到dom上
  • 怎样实现输入框输入完成300ms之后,请求数据?
    • 回答:
      • 封装为指令,将binding.value包装为防抖回调即可
  • a标签上同时绑定href和onClick,哪个先执行?
    • 回答:
      • 只知道onClick是冒泡阶段执行的,但不清楚href的执行时机
  • 既然提到了冒泡,有3个div,父 -> 子 -> 孙都绑定click事件,分别alert 1,2,3,怎样实现只alert 3,1
    • 回答:
      • 只能想到判断当前点击元素是否是子div来跳过执行。
  • vuex了解的怎么样?说下组件的通信
    • 回答:
      • props、事件总线、provide等。
  • 不同标签页之间怎么传值?
    • 回答:
      • localStorage
      • postMessage
  • 有什么想问的?
    • 回答:
      • 华为很注重算法吗?
        • 嗯,算法还是比较重要的,巴拉巴拉...
      • 华为的技术栈?
        • 主要用angular9和10
        • 不要担心,vue源自angular,上手会很快,而且有完善的培养计划(感觉有希望通过)