华为od 前端岗位面试分享

11,248 阅读4分钟

前言

由于之前在一家中小公司试用期内被迫“毕业”,又是去年毕业的工作经验不多而且还是个渣渣二本,机缘巧合下遇到了od招聘,以下是我面试OD的全部历程。

一、机考

第一题:最长连续子序列 
nums=[1,2,3,4,2sum=6
返回最长连续子集和为sum的 长度  没有就返回-1
如:1+2+3 = sum = 6  =>  [1,2,3]  => [1,2,3].length = > 3
return 3

第二题:数组组合最小值
nums=[123,24,53,6,32,12]
数组中任意三位组合出最小数字

第三题:好像是什么机器的采样过滤没看懂  我直接pass了

二、性格测试

性格测试尽量选择积极乐观的、可信赖的和精力充沛、合群的性格。避免表现出焦虑、紧张,敏感等负面情绪。然后题目可能重复出现,要保持前后一致。

性格测试攻略:www.libin.mobi/?p=2000

三、技术一面

算法题

【快递运输】一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同事不让货车超载,需要计算最多能装多少个快递
注:快递体积不受限制,快递数最多1000个,货车载重最大50000。
输入描述:
第一行输入每个快递的重量,用英文逗号分隔,如:5,10,2,11
第二行输入货车的载重量,如20
输出描述:
输出最多能装多少个快递
示例:
输入
5,10,2,11
20
输出
3
  1. 盒模型
  2. 哪些方法能脱离文档流
  3. 垂直水平居中有哪些方法
  4. js中 堆和栈 存储方式
  5. 事件循环 even loop
  6. 原型和原型链
  7. es6 新特性
  8. var let const 区别
  9. 箭头函数 与 普通函数的区别
  10. v-model
  11. vue响应式原理
  12. vue组件通信
  13. diff算法
  14. 做过哪些前端优化
  15. webpack 打包配置有了解过吗
  16. 有个用户名的输入框需要做是否已存在的校验 你会怎么做
  17. xss攻击 和xsrf攻击
  18. 从浏览器输入一个url到网页呈现的过程
  19. 之前团队规模 开发流程 及 开发规范
  20. 你们是怎么高效的完成团队合作的 (前后端配合)
  21. 之前团队 怎么控制 代码质量 code review
  22. 职业规划

四、技术二面

  1. 自我介绍
  2. 介绍一下项目
  3. 项目中的难点及怎么解决
  4. 在前端领域中有没有遇到一些困难

算法题

对应力扣953题链接:leetcode.cn/problems/ve…

某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。
给定一组用外星语书写的单词 words,以及其字母表的顺序 order,
只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。
​
示例 1:
输入:words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"
输出:true
解释:在该语言的字母表中,'h' 位于 'l' 之前,所以单词序列是按字典序排列的。
​
示例 2:
输入:words = ["word","world","row"], order = "worldabcefghijkmnpqstuvxyz"
输出:false
解释:在该语言的字母表中,'d' 位于 'l' 之后,那么 words[0] > words[1],因此单词序列不是按字典序排列的。
​
提示:
1 <= words.length <= 100
1 <= words[i].length <= 20
order.length == 26
在 words[i] 和 order 中的所有字符都是英文小写字母。
​
// code
function isAlienSorted(words, order) {
  let map = {}
  order.split('').forEach((o, i) => map[o] = i)
  map['*'] = -1
  for (let i = 1; i < words.length; i++) {
    let lf = words[i - 1]
    let rt = words[i]
    let l = Math.max(lf.length, rt.length)
    for (let j = 0; j < l; j++) {
      let p = lf[j] || '*'
      let c = rt[j] || '*'
      if (map[p] < map[c]) break
      if (map[p] > map[c]) return false
    }
  }
  return true
};

五、资格面试(hr面)

  1. 自我介绍
  2. 几几年出生的
  3. 高中或大学有留级过嘛?
  4. 工作经历(遇到哪些困难 怎么解决的)
  5. 为什么离职
  6. 你了解的华为是个怎么样的
  7. 对华为OD的认识(怎么了解到这个岗位的)
  8. 有没有女朋友 哪里人
  9. 你觉得你在之前的同事眼中是一个怎么样的人
  10. 其它的一些闲聊

六、综合面试(主管面)

  1. 自我介绍
  2. 对自己之前做过项目进行介绍
  3. 日均代码量
  4. 离职原因
  5. 之前上下班情况
  6. 大学课程
  7. 其它的一些闲聊

面试总体流程

日期阶段
3.31投递简历
4.5机考
4.6综合评测(心里测试)
4.7技术一面
4.16技术二面
4.20资格面试(hr面)
4.26综合面试(主管面)
4.27提交审批材料(四证+流水+个人信息表)
4.28谈薪
5.6德科hr(沟通入职时间、晚上7点发offer)
5.17正式入职