web前端⾯试会问哪些问题,真实经历5--3
前端面试性能优化⼀.第⼀次电⾯(半⼩时)
(⼀)问题:
1.基础问题:
说说js的继承实现
js的闭包
2.项⽬问题:
说说你做过的项⽬(我就⼤概说了⼀下电影分类⽹站)
你在项⽬中的⾓⾊(我说前后端,⽤node)
在项⽬中遇到的问题
假如让你重新做这个项⽬,你会怎么做?
这个项⽬有哪些你觉得会保留的,哪些你觉得需要改进的?
为什么⽤grunt
产品存放在哪⾥
有没有上线
node版本的区别
(⼆)我问的问题总结:
这次和⾯试官的沟通中,我了解到Angular可能没那么重要了,react、ej6、vue现在⽐较热门。(不过后来听师兄师说,阿⾥影视为了兼容问题暂时还在⽤ Angular1,⽽阿⾥UC开始转向 Angular2的使⽤,所以还是有必要学习的)另外,⾯试官介绍antdesign给我学习。
(三)个⼈总结:
我基础知识⽅⾯没怎么答出来,后来⾯试官也侧⾯说基础很重要。关于项⽬的事情,由于我还没有做完,所以总得怎么说我还是说不怎么出来。从这时候开始我就开始重视基础知识,虽然之前接触过这些
基础知识,但是由于时间⽐较久就忘记了,所以我觉得⽤思维导图总结分类,辅助我巩固知识。⾯试官很温柔,很热⼼,太感谢⾯试官了!
⼆.第⼆次电⾯(半⼩时)
(⼀)问题:
1.基础知识:
css选择器
css布局:盒⼦模型,position(要复习!!!!fixed是相对于frame框架来定位的)
jq的事件代理
jq的ready和load的区别
性能:页⾯加载过程
怎么理解模块化
commentJs
js的模块和java的包有什么区别和联系(⽤到node的class)
jq的ajax使⽤
正则表达式的使⽤
处理跨域的⽅法
2.项⽬问题:
数据如何传输处理的?
url请求的过程
(⼆)总结
这次问的基础知识挺多的,项⽬也有问,但是我基础知识好多都忘记了,项⽬逻辑也没有表达得很好,这使得⾯试官处于犹豫的状态。后来⾯试官很好⼈,让我说⼀些打动他使我通过的理由。我这时候怀着感激的⼼,然后就开始谈谈我⽇常中是如何在时间管理、英语学习、前端学习努⼒的,我也说了说我的真实的具体⾏动,表达我⼀些⼼态。估计是⾯试官很重要学习的态度,所以直接跟我说我通过了。这⾥
我在感受到⾯试官给予的温暖的同时,也意识到你的⾏动你的态度真的很重要。(后来我听⼀位师兄说,他们公司之前录⽤⼀个很有能⼒的⾯试者的时候,由于感觉他的态度不是很好,就是不尊重正常的流程,所以没有被录取。我总结到,对于我们这种在实习还没有⼀定能⼒的⾯试者来说,⾯试官更加看重的是我们的各⽅⾯的态度。)
三.第三次电⾯(半⼩时)
(⼀)问题:(感觉是看着简历来问的,项⽬的具体过程问得挺少的,⽐较着重学校知识的灵活灵⽤)
5.说说浏览器兼容和性能优化
6.浏览器的缓存机制
7.http请求的状态码
(⼆)我问的问题:
1.前端在⽤户体验⽅⾯应该怎么负责:所有的岗位都是需要联想到⽤户体验,包括产品和开发。前端主要是属于技术开发的位置,所以更加注重的是性能处理。
2.前端的竞争优势:基础很重要,还有再⽤⼀个框架⼯具的时候要懂得其中的原理。移动端很重要,算法如果知道⼀些的话也很有优势。(node如果要深⼊⽤的话就需要⽤到算法。)
3.github:关注阿⾥的github中的项⽬都可以学到知识。
4.前端的发展:近⼏年都⽐较热,在移动端开发等开发⽅⾯可以节省⼀定的成本,所以就⽐较受⼈青睐。
(三)总结:
我可能对node 框架的理论学习不够,所以有些问题答得不是很有逻辑,我觉得逻辑不够强可能会引起⾯试官的反感(特别是⾯试官赶时间的话,这次的⾯试官是技术总监,所以⽐较忙些,对语⾔的回答也应该会⽐较严些)。这位⾯试官也让我意识到知识需要学以致⽤,学校的知识可以融合到实际的框架学习中。另外,我也问到了⼀些挺有⽤的建议,也越来越觉得⾃⼰需要有更多的东西需要学习了。
【终极总结】
机会是留给有准备的、坚持下去的⼈的。这三⾯都让我发现了⾃⼰的很多不⾜,同时也收获到了⼀些指引,我从内⼼深处真的很感恩蚂蚁⾦服的三位⾯试官,不管最后有没有通过,我都学到了很多。我学到的可以归结为以下⽅⾯: 1.基础知识的巩固。我开始⽤思维导图构建我⽐较完整的⾯经知识体系,我也坚持刷⽜客⽹的⾯经,慢慢完善这个⾯经知识体系。(前提是真的理解了这些基础知识)
2.项⽬要注重逻辑。我开始思考如何回到⾯试官问到项⽬的问题的时候,我改如何去答,理清楚项⽬的逻辑,⽽且正如第三位⾯试官所建议的,我还要理解框架的理论层⾯。
3.技术的学习。移动端、算法、angular2、react、vue、ej6等。知道⾃⼰要学习的有很多很多,也很开⼼,相信⾃⼰会⼀直很充实。