近期面试了不少公司,采取的战略是把最想去的公司放到最后,一开始积累经验,做足准备再奋起一搏。虽然自觉水平很菜,但是居然一投一个准,面试成功率也有80%左右,目前也收获了4个offer,大中小型公司也都齐了。虽然被最想去的DXY给虐的不轻,但自信心也逐渐建立起来,并且有了努力的方向。
贴上自己打怪升级的过程。
第一次面试
没有经验,毫无准备就兴冲冲地上了,面完了知道面试和实际工作开发还是不一样的,面试更考察理论基础。所以平时不重视基本功的我当然笑嘻嘻地跪了。所以公司就不提了。后来回去浏览了下面试题,其实发现面试官问我的问题都是非常基础的题目,而且有些知识点平时不知不觉都有使用到,只不过没有建立起知识体系,以至于一脸懵逼以及答非所问。不过也从这次经验中吸取了教训,一定要重视理论基础,我的学习方式也从执着于制作酷炫的实战demo,转变为看面试题和理论书籍。
for循环setTimeout500ms打印出1-10
主要还是考察闭包,并且结合异步
for(var i = 1;i < 11;i++){
var a = function(){
var j = i;
setTimeout(function(){
console.log(j);
},500)
}
a();
}
了解的跨域方法
工作中都是在同源服务器上请求数据,所以其实并没有接触过实际的跨域操作。
但是,即使没见过猪跑,那也吃过猪肉吧,同源策略,jsonp,corse,我把我知道的都扯了一通。后来回来又参照阮老师的文章整理了一遍
文章见简书同源策略与跨域
css选择器+和 ~
+:选择相邻的后一个同级元素
~:选择元素之后的所有的同级元素
关于css选择器在之后的面试中也同样有遇到,比如nth-of-type(n)
和nth-of-child(n)
的区别,所以也整理出了关于选择器的扩展
文章见简书css选择器
jq有哪些地方用到了闭包,或者说你平时见过哪些闭包?
面试前刚和一个同时聊过,也问到了他对闭包的看法,同事自信一挥手,闭包实际工作中用到的不多。
天真的我在面试中也这么说了,面试官心里一定狠狠地鄙视了我,于是跟我大谈JQ源码,从来没有看过源码的我暴风哭泣。
同样的问题也出现在了另一家同行业(非互联网)的大公司,想来大公司的重点还是放在框架的底层原理上。
其实jq中使用了大量的闭包,所有的方法和变量都通过闭包设为私有,并使用$在全局进行调用。
闭包就是使局部变量和方法常驻内存,可以在全局进行访问,从而防止全局重名的现象。
不过也正因为这个特性,闭包会占用大量的内存空间,所以使用的时候也要慎重。
数组的内建方法有哪些
依然是一个基础题,面试官让我知道多少说多少。后来回来也做了一个系统的整理
数组内建方法大全(一)
数组内建方法大全(二)
第一次面试历时1小时不到,主要还是介绍自己的项目,现在来看上面的题目真的很基础,但是当时的我答的也并不好。
因为是熟人推荐,而且事先知道面试小姐姐是学姐,也加了微信,我也是天真无邪,小姐姐说过来聊一聊,我就真的啥都没带就跑过去,还真以为是聊天,以至于面试官的问题都是想到哪问到哪,还是比较吃亏的。
所以,这次面试收获经验
- 简历很重要,让简历去引导面试官提问,这样才能做好有针对性的准备
- 理论基础很重要,仅仅依靠项目实战学习,只能成为工具的使用机器,只有了解工具的底层原理,才能融会贯通,举一反三
网友评论