写在前面:
就其实自己是没有写面试总结这个习惯的,暑假去百度实习的时候,就有朋友让我写一下面试总结呀之类的,但是面试时间真的挺久(视频面试),好多东西都忘了,一直到实习回来就把学的新的技术挣了12篇博客发了,没有我预期中的爆炸访问量,demo特没有很多访问量,我就好奇是不是因为我么有设置付费(哈哈哈哈,调皮一下)。
其实从暑假开始实习,自己就规划好了,开学了在11月份左右找实习,再去北京(对了,北京真的挺好的,除了房租贵,车堵云云)。然后从国庆开始,review了一下react知识,学了Typescript,之后就写了简历准备11月投实习的。然后maybe是复习真的无聊,天天拿着boss直聘看,然后这周三就激情澎湃投了快手。
很开心的是,周三下午就收了HR小姐姐的电话面试,本来安排周四早10,我怕有点仓促,就推到了周五10,然后周四好好复习了一天,周五早上起的可早去复习,等待面试。
废话不多说,面试。
面试过程:【第一轮面试】
在牛客网上等到面试官的时候,看到面试官就觉得,他应该就比我大个4,5岁吧,哈哈哈。然后感觉面试官小哥性格也好,做完简单介绍之后,就开始了面试。
Q1:看你简历上写了熟悉基本webpack配置和优化策略?你能先简单讲一下嘛?
A:云云,从webpack的作用,基本配置,常用loader,plugins,再到source-map,(noparse,ignoirePlugin),ddl优化,happypack,treeshaking等等。之后又抽了部分重点,讲给了面试官。云云
Q2:你还用webpack配置过什么?
A:配置过webpack多页面应用 (简单云云)
webpack devserve中配置过代理(云云)
手写过常用的loader,plugin。(这个说的我有点怕,因为我怕面试官让我现场手写,还好,面试官小哥说能写很好,就不实际考察了,哈哈哈)
Q3:看到你说自己比较熟悉vue,能有什么熟悉程度?
A:使用vue有块1年多的经验了,写过外包,比较注重项目逻辑,文件划分,代码规范等。
Q4:说一说vue的生命周期?
A:这个不云云了。 抽插问了为什么data是function类型的等。
Q5:说一说你了解的组件间通信?
A:简单说了父子组件通信,eventBUS事件总线,vuex等。
Q6:虚拟DOM原理,key对虚拟DOM的优化?
A: diff算法过程,云云
Q7:放松一下:讲一下flex布局,实现五点布局,讲一下CSS3动画过渡
A:felx
五点布局主要通过felx中设置一些属性实现。flex-start,felx-end,反转水平轴和垂直轴等。
css3过渡动画:介绍transition的几个属性,实现了一个背景过渡
Q8:看两个输出?说说过程。简述new实现原理
(1)
var o = {
a:10,
b:{
a:12,
fn:function(){
console.log(this.a)
console.log(this)
}
}
}
var j = 0.b.fn();
j();
(2)function fn(){
this.user = "测试";
return 1;
(return { })
}
var a = new fn();
console.log(a.user);
这两个很快就过了。
Q9:call,apply,bind区别,手写bind
云云。
Q10:写两个算法吧。
A:寻找数组中出现次数超过数组长度一般的数字【剑指offer原题】
A:实现数组去重(包含不同类型) 写了4种,简单对比了一下。
一面总结
整体上一面比较简单,每个问题都答得没有问题,面试官小哥人也很好,氛围比较轻快,给自己一面打90+.
一面面了57分钟,从10点到10:57,紧接着10:59hr小姐姐就安排了11:00的二面。二面面试官应该是部门leader吧,感觉严肃了很多,哈哈哈。
上来就来了一句,刚才我看了你一面的过程,面试官最后对你评价挺好的,咋们就直接开始吧。上一面面的比较久,现在咋们45分钟搞定战斗。我,好的。
面试过程:【第二轮面试】
Q1:实现函数柯里化?
A:之前没接触过函数柯里化,然后浪费了点时间,最后完成了。
Q2:看你对vue比较熟悉,那你打开你的react代码吧
我:????当场懵逼
好的,找了一个文件打开。
面试官:函数组件用的多还是calss组件用的多?
我:函数组件。
面试官:说说优缺点 。 我:云云
面试管:说一下redux实现过程。 我:云云云
面试官:你常用什么hooks? 我:云云云
面试官:看你的请求都是配合hook实现的,能简单讲一讲吗? 我:云云
。。。。。
Q3:说一下闭包的原理?
A:心里一乐,从闭包说到了作用域,垃圾回收,哈哈哈 感觉他比较满意吧
Q4:说一下为什么会有作用域提升?
A:对于var而言,定义的是全局window上的属性,云云。
面试官:你这个理解比较片面。。。
面试官:从js编译底层原理给我讲了好多。
我:是不是插一句嘴,TDZ暂时性死区什么的。
面试官:这个比较偏向底层了,我给你讲了你下去再理解。Q5:说一说你在项目种碰到的问题吧?
我:bbbbbbbb好久。
面试官;在百度主要做了什么?
我:前端可视化 主要使用mxgraph + nuxt + node 再云云云。。。。
Q6:写一个简单算法。
我:哈哈哈,好的
面试官:封装一个二叉树,实现插入方法,以及遍历方法。
我:。
然后敲完。
面试官:你敲代码的速度挺快,
我:hhh
Q7:你对实习有什么要求嘛?(我上一面问了一句什么时候下班什么时候上班。。。)
我:没有特别的要求,希望能学到新知识,锻炼自己,能有mentor带我飞,哈哈哈哈。
最后和我聊了家在哪,平常怎么学习,为什么学习前端云云,哈哈哈。
二面总结
二面的leader刚开始挺严肃,后面就很好了,除了技术也聊了很多题外话,类似于讲人生道理那种,哈哈哈。我,听的很认真(ps:不敢不认真。)其实leader问的问题,基本上都还好就是他基本每个都拓展的很深,自我觉得js,es6已经摸得还行啦,好多我都没听过,问的很多都偏底层。也是感觉一面自己发挥很好,就对自己二面不是很满意,差不多打个75+吧。
对了,二面也面了57分钟左右,哈哈哈。
二面结束后,我问了hr小姐姐怎么样,小姐姐说他们再讨论。
==实习offer:==下午两点hr和我聊了薪资待遇,以及规划了时间,我呢,还想再面别的,就推迟了去的时间。
后来了解了一下,快手商业研发部是一个较为核心的部门,也挺心动。主要是觉得leader和一面小哥人很好,部门氛围应该很不错。
总之昨天一天虽然对拿下快手在意料之中,但是还是很开心的。
最后也和hr小姐姐聊了很多,才知道她也是大三实习生,hr都长得好看,,,。
好啦,就总结差不多了,希望大家都能拿到心仪的offer。
总归是给自己开了个好头吧。哈哈哈。
2020-10-17 08:28