面试-华为-通用软件工程师

华为云核心网 通用软件工程师 20200310

  • 自我介绍
  • 语言
    • java & JavaScript
  • 项目经历
    • miui的经历
  • JVM GC
    • 发展逻辑滤了一遍
  • 计算机网络
    • ISO 7层
      • 只记得5层了,忘记了七层是什么
    • 子网掩码
      • 255.255.255.0的局域网能分配多少个ip
        • 答错了,255.255.255.0 和255.255.255.255都不能用作ip
    • 面试的这个视频 7层
      • 随便说了一下
  • 数据结构
    • 顺序表 链表
      • 怎样选择使用
    • 平衡二叉树的定义
      • 没答出来,答了二叉排序树。定义是左右子树高度差小于1
  • 算法

算法题

1
2
let a = "www.abc.com"
a.split('.').reverse().join('.')

二面

  • 自我介绍
  • java , vue ,spring 都问都讲了,偏问项目
  • 不太记得了
  • 算法题

算法题

数组中有正数和负数,正数代表向右,负数代表向左。当两数字相撞时取绝对值大的数字,保证保持整个数组稳态。

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
37
let deal = function (arr) {
let stack = []
arr.map(i => {
console.info(stack)
if (stack.length == 0) {
stack.push(i)
} else {
// duibi tail he i
let t = stack[stack.length-1]
if (t * i > 0) {// 同方向
stack.push(i)
} else if (t * i <0) {//不同方向
if (t <0 && i >0){
stack.push(i)
} else if (t> 0 && i <0){
//要撞
let value = t + i
value = value > 0 ? t:i
stack[stack.length-1] = value
//维持前面稳定
let change = stack.length > 1
while(change) {
t = stack.pop();
tp = stack.pop();

if (tp > 0 && t <0) {
value = tp + t
value = value > 0 ? tp:t
stack.push(value)
} else {
change = false
stack.push(tp)
stack.push(t)
}}}}}
})
return stack
}
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020 Kfdykme
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信