likes
comments
collection
share

小厂挂了十次之后,迎来了海康威视

作者站长头像
站长
· 阅读数 3

前言

前段时间一直忙着面试和背面经,就没怎么写文章。这段时间那是非常的煎熬,一直面试一直挂,有些感觉面试的还不错,八股和编程题都答上来了,时间也面了一个小时,但最终还是挂了,一度陷入了自我怀疑中。调整了几天索性直接狠下心放弃小厂直接投大公司,周一的时候接到了海康的面试邀约,激动的心颤抖的嘴,一轮技术面一轮hr面,最后成功拿下,既在意料之外又在情理之中。

小厂挂了十次之后,迎来了海康威视

自我介绍

自我介绍就是套用网上的一些模板然后稍微修改了一下,那毕竟要按照自己的真实情况来写,感觉好像也没啥太大的亮点,可能比别人更有优势的就是有一份实习经验吧

提问环节

快排

一开始就是一道算法,面试官这道题原本问的是写一个排序算法,我说了常见的冒泡和选择,然后他问我还知不知道其它的排序方法,比如快排,我一听就知道他就是想考我快排,但是我确实不会,就含糊了几句就过去了,本来以为这个都不会铁定挂了,但是并没有,可能因为我有实习经验的原因,所以本身也没几道八股。这里我给出的排序方法是阮一峰老师写的阮氏快排,我觉得这种要更好理解一些,写起来也比传统的原地排序要更简洁。

/**
 * 快速排序:
 * @param arr 需要进行快速排序的数组
 * @returns {*[]|*}
 */
const quickSort = function (arr) {
    if(arr.length < 2) return arr;
    // 随机选择0~arr.length之间选一个基准值
    const pivot = Math.floor(Math.random() * arr.length)
    // 声明两个数组,分别用于存放比基准值小的数据和比基准值大的数据
    let minArr = [];
    let maxArr = [];
    // 根据基准值填充数组
    for(let i = 0; i < arr.length; i++){
        // 大于基准值就放maxArr里
        if(arr[i] >= arr[pivot] && i !== pivot){
            maxArr.push(arr[i]);
        }
        // 小于基准值就放minArr里
        if(arr[i] < arr[pivot] && i !== pivot){
            minArr.push(arr[i])
        }
    }
    // 分别对基准值划分出来的数组递归调用快速排序,然后合并数组
    return [...quickSort(minArr), arr[pivot], ...quickSort(maxArr)];
}

vue路由传参

当时觉得海康也是大厂,考的肯定比较难,就一直再看比较难的题目,比如跨域和性能优化等,结果把简单的给忽略了,当时听到这个题目先是惊喜,惊喜于它的简单,接着是惊吓,因为自己忘了。。。路由传参有两种方法

  • 一种是用path进行页面跳转用query传参
import { useRouter } from 'vue-router'
const router = useRouter()
// 在页面跳转的时候传递的参数会以?拼接在url后面
router.push({path: '/noteList', query: {title: title}})
  • 另一种是用name跳转用param传参,但是这种方法在配置路由的时候要在后面加上/:
import { useRouter } from 'vue-router'
const router = useRouter()
// 传递的参数以/拼接在url后面,但是配置路由的时候要加上参数的名字
// 比如:path: '/noteList/:title',
router.push({name: 'noteList', params: {title: title}})

promise.all

Promise.all() 方法接受一个可迭代对象(通常是数组,这个数组里面的元素全都是promise对象)作为参数,返回一个新的 Promise 对象。这个新的 Promise 对象在可迭代对象中所有的 Promise 对象都成功时才会成功,一旦有一个 Promise 对象失败就会立即失败。

面试官就这个问题还延伸了一点,让我想一个实际的场景,不仅考我知不知道它的用法,还要会用,我当时脑子灵光一闪就想到了打游戏,打游戏的时候必须要所有的小关卡都通过了这关才算过,只要有一个失败了那最终的结果就是失败的,机智如我啊。

vue2和vue3的区别

常规聊天

可能因为我之前有一份实习,所以八股就没怎么问,基本上就问了上面这些,差不多一只手就能数的过来,剩下的都是聊一些实习的收获啊、为什么离职啊、为什么选择前端啊等等常规的问题,最后就是聊了一下公司的业务以及使用的技术栈,然后技术面就这样愉快的结束了,之后的hr面也是常规聊天,毕竟hr不可能和你聊八股和算法。

结尾

可能我运气比较好,然后加上有实习经验,海康的面试相对于其他人来说就相对比较简单,不过还是一分耕耘一分收获,如果没用之前的三个月实习和十余次的面试经验,也收获不到这份果实。不过这只是开始,后面还有很长的一段路要走呢~ 加油吧