便利蜂内推电话面,已挂
昨天,突然接到了便利蜂内推成功约面的电话,要我今天去面试,这是春招头一个面试电话呀,很是激动,这得感谢牛客那个便利蜂发了内推邮箱的不认识的小哥哥的帖子吧。结果我很怂,想推到周一,周末还能再准备准备,然后一本正经跟hr小哥哥说我今天还有两个面试,上午下午各一个,hr小哥哥瞬间乐了(乐啥呢,没明白),说没事,我们可以电话或者视频面,明天下午(也就是今天下午)的5点-6点有空吗,我说可以(反正能拖多久是多久,知足吧),后来就给我发了面试邀请邮件,看到面试官是个小姐姐的名字,感觉好腻害,同样是女生,我咋就这么菜呢。
早晨起床到中午,我把ES6大概了解了一遍(简历上写熟悉ES6,但是我还没有时间准备呢,牛逼吹大了),重点就那几个let,const,解构赋值,箭头函数,promise对象,generator生成函数,就是了解了概念和API,也没用过,只是为了面试官问的时候能扯个淡说我知道,能答上来概念就行。下午4点之前,又把自己整理的面试题以及js高程3总结的知识点全部浏览了一遍(全是理论呀,哎!),面试官小姐姐都加我微信了,我还不敢同意,怕小姐姐立马面我,愣是看完了知识点,才敢同意,生怕错过点什么。
5点准时小姐姐说找不到办公室,只能跟我微信语音聊了,我说可以可以(我当时其实已经架好了我的灯光,擦上了BB霜,毕竟还是为了上镜好看点,哈哈,不过语音也挺好,我怕见人,紧张)。
正式开始(终于说到重点了),自我介绍下吧,我巴拉巴拉。。。。
简历中说到你在校的项目,你主要做了什么?
那你们这个项目是干嘛的?(我的错,忘记先介绍项目干嘛的,然后再说我干啥了)
那你写的网页都是原生的吗,我说,不是,用的uikit框架(类似于bootstrap),
小姐姐说哦,我可能没听过你这个框架。。。(没事,我也不知道当初怎么就没用Boostrap呢)
那你再oracle实习都干嘛了?我说因为我去实习的时候,连MVVM框架都没有学过,但是他们前端用的是oracle jet,所以一开始就是学习怎么使用ojet,后来为了熟悉前端页面功能,师父让我写每个页面的测试脚本(没提nodejs,要不然又挖坑了),再后来熟悉了就让我改bug了。。。
好吧。。。(小姐姐对我在大厂的实习经历感觉很失望,没有啥问的了)
那我问你一些基础的问题吧。。。。
你知道websoket和ajax吧?它们的区别?我巴拉巴拉。。。
那websoket有什么应用的场景?我说在oracle实习的时候,用户数据库上传时候的进度条就是用websoket实现的
那ajax能实现websoket的这个功能吗?我说能,通过setTimeout(我晕,不是setInerval吗,当时脑袋被驴踢了吧),定时去访问服务器也能拿到结果,但是这就影响性能了
恩,既然你提到了setTimeout,我给你出个题吧,我先console一个a。。。由于小姐姐那边工作区讨论太热闹,加上我这脑子反应慢半拍,说完了也没听懂啥意思,就说没听清
小姐姐说我给你出题发微信上,
打印出来是什么,我当时蒙了,因为问到了我一直很模糊的概念,我说我知道setTimeout会将事件放在队列里面,但是。。。我对这个概念还是理解的不清楚
好吧。。。js异步编程很重要的,Promise对象异步编程知道吧,我说知道,这个有了解(我以为会让我说个概念API啥的),结果又是给我来了一道题
(我又蒙圈了,好吧,我好像对异步这个概念了解的很虚啊)
没答上来,那我再给你出个题吧
(啊,又是题,我真的要凉凉了。。。)等了许久,小姐姐说你平常用过这个forEach吗,我说没用过,就是知道(我确实就是知道有这些API,但是真正没有实际操作过呀)
好吧,我还是问你js基础的一些东西吧,我给你出个题啊,等会。。。(我想说平常真的练题太少了,竟是研究理论了,不做题不知道有理论知识多少坑)
这个打印出什么,我说第一个true,第二个false,小姐姐很吃惊,第二个为什么false,我反应过来,奥不是,这都是基本数据类型,变量直接存储的是数据本身,===是值和类型都相等,所以str3和str1确实是全等,应该为true
小姐姐说那这个呢?
第一个为false,第二个为true,小姐姐说恩,那改变obj1中a值为2,obj3会改变吗,我说会。。。
我再给你出个题,稍等。。。(哎,都是题。。。)
xiaoming,恩,那这个呢
反应许久,undefined,(感觉题目全是坑,我都不敢确定答案了。。。),恩,那这个呢?
xiaoming,OK,那现在回到刚刚第二个图,打印undefined了,那我还想打印出xiaoming,你怎么操作,除了使用第三个图的方式,我思考了一下,然后说在name属性的下面var that=this,然后在getName中打印that.name,小姐姐说a是个对象,怎么能在那里面声明变量呢,我瞬间都想扇自己一巴掌的感觉了,脑子瓦特了呀,哎,然后我又陷入沉思,想到了call或者apply方法,我说test.call(a,a.getName),小姐姐说你这两个参数是啥意思,我心想难道不是俩参数,还能是test.call(a.getName),脑子已经不转圈了。。。
小姐姐又问:const obj={ key:undefined}我想确定这个obj是否有key属性怎么判断,我说hasOwnProperty,obj.hasOwnProperty('key'),她说obj是对象,(我没明白,这个方法用的不对吗?),又想到obj.key或者obj['key'],她笑了,说那不是都会输出undefined,哦对啊,我中招了,但是我也不知道解决方法是什么。。。
小姐姐说你的js基础有点弱,我问你css的问题吧(小姐姐对我的js已经失望透顶了)
这个hello world!是什么颜色的,我看了看,说是red红色(其实这时候我已经没有信心能答对题了),小姐姐说OK
你说说你擅长的地方吧,我说js基础(其实想说js高级,因为闭包,原型链啥的我感觉我会啊,哎都是感觉了),她说,我觉得我刚才问得都是很基础的了,那你项目中说到登录页面,你怎么判断用户登录了,也就是用户打开你们的网址,你怎么知道用户是已经登录了又打开了一次网页,还是用户没登录打开的网址,我一想在oracle实习的时候,我师父就给我举了一个例子,用户未登录直接打开某一路由设置的页面,不过那时候是让我用框架里的属性直接禁止用户未登录打开某一路由的页面,结果根本不是我想的,小姐姐说简单跟你说吧,就是用户的登录信息保存在哪了,我说cookie啊,对呀,我就想让你说cookie呢,我说不好意思,我反应迟钝。。。
时间就这么过去了,小姐姐说今天我就问到这里了,你还有什么问题想问我的,其实,我也不想问啥了,但是又没忍住笑着说,我还是想知道你今天对我的面试评价(我还真好意思,尬聊成这样,还敢问,也不知道哪来的勇气),小姐姐倒是很耐心,说你css基础还不错(就一道题就看出我css还不错),可能是之前项目写过,但是js基础比较弱,我今天还没有往深了问呢,还有闭包,原型,原型链啥的都是很重要的(我当时想,你咋不先问我这呢,感觉我能会呀),可能你是自学不是培训的,虽然看了很多书,但是实际操作经验还是太少了,很多东西都是知道概念不会应用,我说您说滴对呀,然后我又问,那公司招人现在用react还是vue,小姐姐说,其实我们都用,只是侧重点在react,如果你会vue,不会react,我们也会招的,主要还是看基础,基础好的,来这里一两个月就会使用react了,所以还是基础重要。恩,那没有问题了,谢谢你。恩,面试结果会有hr给你说的,我一个人也是决定不了的(小姐姐客气了,其实结果已经定了),那没有问题,我挂了哈。恩恩,拜拜!
挂完6分钟,小姐姐给了我一句鼓励的话,这也代表着委婉的告诉我结果吧。。。
面完知道自己有多渣了,都在怀疑自己还要不要坚持搞前端了,好像没有写代码的艺术细菌呀!!!