前言
由于之前在一家中小公司试用期内被迫“毕业”,又是去年毕业的工作经验不多而且还是个渣渣二本,机缘巧合下遇到了od招聘,以下是我面试OD的全部历程。
一、机考
第一题:最长连续子序列
nums=[1,2,3,4,2]
sum=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
- 盒模型
- 哪些方法能脱离文档流
- 垂直水平居中有哪些方法
- js中 堆和栈 存储方式
- 事件循环 even loop
- 原型和原型链
- es6 新特性
- var let const 区别
- 箭头函数 与 普通函数的区别
- v-model
- vue响应式原理
- vue组件通信
- diff算法
- 做过哪些前端优化
- webpack 打包配置有了解过吗
- 有个用户名的输入框需要做是否已存在的校验 你会怎么做
- xss攻击 和xsrf攻击
- 从浏览器输入一个url到网页呈现的过程
- 之前团队规模 开发流程 及 开发规范
- 你们是怎么高效的完成团队合作的 (前后端配合)
- 之前团队 怎么控制 代码质量 code review
- 职业规划
四、技术二面
- 自我介绍
- 介绍一下项目
- 项目中的难点及怎么解决
- 在前端领域中有没有遇到一些困难
算法题
对应力扣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面)
- 自我介绍
- 几几年出生的
- 高中或大学有留级过嘛?
- 工作经历(遇到哪些困难 怎么解决的)
- 为什么离职
- 你了解的华为是个怎么样的
- 对华为OD的认识(怎么了解到这个岗位的)
- 有没有女朋友 哪里人
- 你觉得你在之前的同事眼中是一个怎么样的人
- 其它的一些闲聊
六、综合面试(主管面)
- 自我介绍
- 对自己之前做过项目进行介绍
- 日均代码量
- 离职原因
- 之前上下班情况
- 大学课程
- 其它的一些闲聊
面试总体流程
日期 | 阶段 |
---|---|
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 | 正式入职 |