华为OD前端面经——来填坑啦

1,313 阅读4分钟

由于中途有了别的offer,这边过了一轮技术面我就拒了,挺新奇的面试体验,个人感觉华为OD招聘门槛不比一些中大厂要低

机考

  • 三道题,两道各100分,最后一道200分,150及格;不及格的话半年内没有再应聘的资格
  • ACM 模式,需要自己处理输入输出
  1. 售卖宝石的最大价格

橱窗里有一排宝石,不同的宝石对应不同的价格,宝石的价格标记为 gems[i]

0 ≤ i < n

n = gems.length

宝石可同时出售0个或多个,如果同时出售多个,则要求出售的宝石编号连续;

例如客户最大购买宝石个数为m,购买的宝石编号必须为:gems[i],gems[i+1],…,gems[i+m-1]

0 ≤ i < n

m ≤ n

假设你当前拥有总面值为 value 的钱,请问最多能购买到多少个宝石,如无法购买宝石,则返回0。

  1. 旋转寿司

旋转的寿司,点第i个,可以免费送你离你最近的下一份寿司, 要满足prices[j] < prices[i]。求第i个寿司最终能获得的总价

  1. 跳格子,求最大分数

求小明跳到终点能获得的最大分数

参数:

格子数量 n

...每个格子的分数 score数组

你可以跳最大的步数 k

综测

100多道题,总而言之,我爱加班,我爱华为文化,100多道,选择题;没过的话一年内没有应聘资格

HR 面

很神奇的点,先HR面,而且面试前要你签署隐私协议、竞业协议、交四证

  1. 自我介绍
  2. 找机会原因
  3. 职业规划
  4. 有没有考虑过考公考研
  5. 工作上有没有遇到什么难点或挑战,怎么解决
  6. 自己的优缺点
  7. 团队协作上有没有遇到什么问题
  8. 离职原因,当前薪资,预期薪资等等

一面

  1. 自我介绍
  2. hooks是用来干嘛的
  3. componentDidMount 怎么用 useEffect 表示
  4. 每次 setState,hook函数会重新跑一遍吗?
  • 只运行组件的返回值,还是把整个函数跑一遍?
  • 说下 setState 一次之后整个更新流程
  • 怎么防抖,用 hooks 怎么实现
  • 搜索的话,如果每次 inputChange 都搜索一次,太频繁了,在函数组件里怎么去解决这个
  1. useMemo 和 useCallBack 是干什么用的,什么时候用?
  • 是不是每个函数都要用 useCallback?肯定不是
  1. useCallBack 的底层实现 (缓存函数实例、依赖参数...)
  2. 闭包
  3. 你写过的代码里面,哪些属于闭包
  4. redux 里面有没有闭包? reducer
  5. 说下 React 的组件通信
  6. context 是什么,怎么用
  7. React-Redux 的通信原理
  8. dispatch 可以派发异步事件吗?thunk
  9. 前端测试 Jest
  10. 缓存类型,缓存策略(强缓存 & 协商缓存)
  11. 安全攻防
  12. 共享桌面做题

使用JS实现一个优先级队列:插入一个值push(object{v: any, priority:number})、pop()、获取队列 长度:getSize()
注:1. 只可以使用整型数据 2. 使用链表实现

最后

想跟大家说下,华为正式员工卡5年工作经验,专业方向倒是不卡。听说行情不好的前两年也有985 211的去华为OD(虽然今年人才大放送之后也不一定好),要不是中途有别的offer,我应该会走完,但是建议大家多看看吧~

  1. 虽然华为OD的薪资会比一般外包高,但是本质上还是外包的形式,你签署劳动合同是和第三方公司签订的,一般是华锐科技或者外企德科,只是干活是给华为干的,和正式员工有一定区别,薪资福利待遇,没有股票,劳动赔偿这块招聘顾问给我的说法是都有,也说有转正机会(不过听听就好)
  2. base 实在东莞松山湖,听说有欧式监狱的“美称”,加班程度可想而知
  3. 薪资结构是底薪+绩效+每周最后一周周六的加班费,可以品品