一.起因
在boss上刷到的一个小小厂,收大四全年实习生(web前端),因为离家乡比较近,而且双非一本的学历以及入坑的时间没有太长(前端部分不到一年),想去那里看看形势,要求是笔试+面试,当场给是否录用结果,说的是考js基础和vue2(这还是自己询问的,根本没说清楚,鬼知道你考2还是3),然后我这段时间都在满怀欣喜的准备笔试,心里想着既能增加经验,又能趁这个机会好好巩固一下基础。
二.我的准备
三.笔试过程
早上急匆匆坐高铁过去,吃完饭12点多,他们的休息时间,本来想着等下午开工了再进去,但是太热了,就想着在里面等,但是没等几秒就被拉进一个工作室,应该是他们工作人员上班的工作室,环境可以说很简陋,但最开始我想着真能进的话学到东西管它环境怎么样呢。
被安排到一个位置上,有个人帮我打开一个老古董电脑,全是灰,然后拿出了笔试题那张纸,可以说是包浆了也不为过,我开始还以为直接在纸上用笔写,那个人说别人之后也要用,就在电脑里建个文本文档直接打,当时就无语了。。。
开始写了,前面几道选择题,分别是http请求头,数组,css继承属性;然后是事件循环的输出题,手写是css上下垂直居中,还有个洗牌算法;还有的就是原型链以及核心的继承方式的填空题;最后是有关vue的key的作用,v-if和v-show的区别的理解题。跟我的准备来说就是小case。。
换了一个人来检查,之前那个人不懂技术。。。
它先大致看了一眼,板个死脸,大致看了一眼,它开始看我的洗牌算法,居然看不懂有些符号和数组内元素换位置的方式,如下,疑惑的问我>>>是es6新语法吗,我想着这和语法也没关系啊,他用mdn搜了一下,还有数组换位,他问我是解构的思想吗,我就比较疑惑,这不是很常见吗,尤其是很多排序算法这种换位方式不是用烂了吗。。。。
function shuffleArray(array) {
let n = array.length
let random
while (n != 0) {
//对非负数进行向下取整
random = (Math.random() * n--) >>> 0;
[arr[n], arr[random]] = [arr[random], arr[n]]
}
}
然后是vue中的key,问我使用场景,题目都说了列表项渲染,还多此一举的问,我就说v-for。。。
再接着是问我考察事件循环那道题,问考察的是什么,我就说了一下同步异步代码怎么执行,然后哪些放到宏任务队列,哪些放到微任务队列,宏任务队列优先级低于微任务队列,最后他说我说的这部分有问题,我心想你可以说的我说的不完整,但是具体说的是没有什么问题的。。。
css那道也逮着我问,不是js基础吗?????,最后说我css还有一些问题,有没有看过什么红宝书。。。服了
实在不知道怎么为难我了,又问了个reduce参数来找我破绽,但是我复习的时候特意还手搓了reduce,怎么可能会回答错,然后就摆个手说我可以走了,也不说啥时候有结果,非常不尊重人,而且之前说了当场给录用结果。。。。
忘了说了,他还问了原型链继承强于寄生组合式继承的方面是哪里,我说原型链继承核心不就是它吗,然后他说说一下比它弱的几种继承,我说了构造函数继承和原型继承,并且详细阐述了一下。。。
总之后面的问题就是在挑刺的,笔式完成度绝对是没有问题的。。。
离开途中问了hr,她说她在出差,回来讨论才会有结果,呵呵简介是简介,实际是实际。。。。
反正被恶心坏了,感觉没有收到尊重,我被祛魅了,但是我的基础还是好好巩固了一下,还是有用的嘿嘿,继续加油。。