We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
你以为的面试问题:讲讲你爸、妈、爷爷奶奶、外公外婆、舅舅舅妈、姑姑姑丈、曾祖父曾祖母叫什么名字 实际的面试问题:你刚刚提到了你爸妈,那就讲讲你爸的上15辈的长辈怎么称呼、叫什么名字,他是在哪遇到他的一生挚爱并且生下你的上14辈长辈的?又是出于什么原因他们才在一起?他们的血型是多少?喜欢吃啥? 没错,就是这么的让人崩溃,但是臣妾现在太菜,也没办法啊!所以只能开贴记录自己的经历,让以后的路能好走些。加油,奥利给!
Ans: 注意发挥,面试官会根据你的回答找到一些有兴趣的东西继续深入提问。
Ans:三方面,webpack、网络、代码,需要注意的是,每一个回答面试官都会深入考察
webpack
网络
代码
Ans:webpack里提到了 (1)使用happyPack插件进行打包,实际对项目的性能优化并没有太大的帮助,其主要作用在于能使用计算机的多线程进行打包(因为js的运行都是单线程的,node也不例外); (2)tree-shaking是将引用了但是并未使用的代码去除,不打进最后的包里,减少项目的体积; (3)代码压缩可以使体积变小很多,加载时更流畅
happyPack
tree-shaking
Ans:这个问题答的不算很好,因为公司的限制原因,我实际并没有使用过tree-shaking这个插件,实际的实现方式就更不懂了,就很模糊的说了一个大概可能也许是用的AST?好家伙,请看下一个问题(正确答案应该是依赖于ES6的模块特性,具体请看这)
AST
Ans:死亡三连问,答的不好,就直接贴答案吧,AST详解
DNS
Ans:举了一个例子,跨域请求时是不会携带cookie等信息的,能减少请求的体积,因此一般一些不需要使用这些信息的静态文件可以通过这种方式去请求。接下来,请看死亡下一题
Ans:我也是个实诚人,不知道
Ans:傻逼的我当然说不知道啦,这就看出来应试教育的可悲之处了,跨域其实是为了防止CSRF攻击,我当然知道CSRF是什么,但是却不知道跨域与CSRF的关系,就像我知道1,2,3是什么,但是不知道3=1+2一样,感觉自己很可悲。
CSRF
3=1+2
Ans: 浏览器缓存--> 操作系统缓存--> 本地host文件 --> 路由器缓存--> ISP DNS缓存 --> 顶级DNS服务器/根DNS服务器
Ans:个人觉得全场唯一一个满分答案,强缓存和协商缓存
CDN
Ans:一个分布式部署在全球的服务器,主要是通过访问最近的服务器来达到优化效果
jquery
AMD
CMD
Ans:一篇文章搞定CommonJS,AMD,CMD,ES6的区别
Ans:没有,不过大概的实现我也做过(作死的回答)
Ans:实现的css、append、text、html等函数,同时实现了其链式调用的方式
css、append、text、html
Ans: 愚蠢的回答:绑定到对应的对象上(不要学我) 正确的回答:其实这个是一个伪数组,它的原型链直接指向了Object并没有指向 Array.prototype ,只有原型链中指向 Array.prototype 的数组才是真正的数组,将方法添加到对应的Object中,最后返回该对象即可
Object
Array.prototype
ie
Ans:乱答一通(我太难了,查了一下没查到结果,我不知道是不是面试官唬我)
Ans:临场发挥,个人觉得没有标准答案,把自己写代码接触的东西都说了一遍,什么计算机网络啊,操作系统啊,代码啊,数据库啊,服务器啊等等(后来想想,其实显示器和主机应该也算在里面)
没有面试官问不到,只有你想不到,永远不要觉得面试官不会问到,在拓宽知识面的同时,也要深入理解其中的原理,不应是应试教育类的学习,真正做到活学活用(可前提是我没有这个平台啊啊啊啊啊!)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
感受
你以为的面试问题:讲讲你爸、妈、爷爷奶奶、外公外婆、舅舅舅妈、姑姑姑丈、曾祖父曾祖母叫什么名字
实际的面试问题:你刚刚提到了你爸妈,那就讲讲你爸的上15辈的长辈怎么称呼、叫什么名字,他是在哪遇到他的一生挚爱并且生下你的上14辈长辈的?又是出于什么原因他们才在一起?他们的血型是多少?喜欢吃啥?
没错,就是这么的让人崩溃,但是臣妾现在太菜,也没办法啊!所以只能开贴记录自己的经历,让以后的路能好走些。加油,奥利给!
提问开始
Q1:介绍一下你觉得工作中最有价值的项目,你做过的最有价值的事?
Ans: 注意发挥,面试官会根据你的回答找到一些有兴趣的东西继续深入提问。
Q2:讲讲项目性能优化
Ans:三方面,
webpack
、网络
、代码
,需要注意的是,每一个回答面试官都会深入考察Q3:刚刚你从三个方面的角度回答了项目优化,那就分别细说一下里面的内容吧
Ans:
webpack
里提到了(1)使用
happyPack
插件进行打包,实际对项目的性能优化并没有太大的帮助,其主要作用在于能使用计算机的多线程进行打包(因为js的运行都是单线程的,node也不例外);(2)
tree-shaking
是将引用了但是并未使用的代码去除,不打进最后的包里,减少项目的体积;(3)代码压缩可以使体积变小很多,加载时更流畅
Q4:你刚刚提到了
tree-shaking
,能说说他是怎么判断这段代码是可以去除的吗?Ans:这个问题答的不算很好,因为公司的限制原因,我实际并没有使用过
tree-shaking
这个插件,实际的实现方式就更不懂了,就很模糊的说了一个大概可能也许是用的AST
?好家伙,请看下一个问题(正确答案应该是依赖于ES6的模块特性,具体请看这)Q5:那什么是
AST
呢?他的作用是什么?怎么将代码转换成AST
?Ans:死亡三连问,答的不好,就直接贴答案吧,AST详解
Q6:刚刚提到网络层面的优化有
DNS
,说说吧Ans:举了一个例子,跨域请求时是不会携带cookie等信息的,能减少请求的体积,因此一般一些不需要使用这些信息的静态文件可以通过这种方式去请求。接下来,请看死亡下一题
Q7:据我了解,dns解析也是需要耗时的,那你觉得,权衡了两者的消耗之后,多大的头部使用这种方式优化才合适?
Ans:我也是个实诚人,不知道
Q8:刚刚你提到了跨域,那你知道浏览器为什么要做跨域限制吗?
Ans:傻逼的我当然说不知道啦,这就看出来应试教育的可悲之处了,跨域其实是为了防止
CSRF
攻击,我当然知道CSRF
是什么,但是却不知道跨域与CSRF
的关系,就像我知道1,2,3是什么,但是不知道3=1+2
一样,感觉自己很可悲。Q9:
DNS
的缓存查找顺序Ans: 浏览器缓存--> 操作系统缓存--> 本地host文件 --> 路由器缓存--> ISP DNS缓存 --> 顶级DNS服务器/根DNS服务器
Q10:提到缓存,你知道哪些缓存方式
Ans:个人觉得全场唯一一个满分答案,强缓存和协商缓存
Q11:刚刚还提到
CDN
,说说这是什么Ans:一个分布式部署在全球的服务器,主要是通过访问最近的服务器来达到优化效果
Q12:看你之前的项目用的比较多的是
jquery
和AMD
,说说AMD
和CMD
的区别吧Ans:一篇文章搞定CommonJS,AMD,CMD,ES6的区别
Q13:有研究过
jquery
的源码吗?Ans:没有,不过大概的实现我也做过(作死的回答)
Q14:那说说你做过的吧
Ans:实现的
css、append、text、html
等函数,同时实现了其链式调用的方式Q15:那一般$()会返回一个dom元素的数值,原始的dom操作中是不会带有这些函数的,你知道是怎么实现函数绑定的吗?
Ans:
愚蠢的回答:绑定到对应的对象上(不要学我)
正确的回答:其实这个是一个伪数组,它的原型链直接指向了
Object
并没有指向Array.prototype
,只有原型链中指向Array.prototype
的数组才是真正的数组,将方法添加到对应的Object
中,最后返回该对象即可Q16:低版本的
ie
是没有获取dom的函数的,jquery
如何做到兼容的?Ans:乱答一通(我太难了,查了一下没查到结果,我不知道是不是面试官唬我)
Q17:总结一下你对计算机知识的认识,就是他包含哪些东西
Ans:临场发挥,个人觉得没有标准答案,把自己写代码接触的东西都说了一遍,什么计算机网络啊,操作系统啊,代码啊,数据库啊,服务器啊等等(后来想想,其实显示器和主机应该也算在里面)
总结
没有面试官问不到,只有你想不到,永远不要觉得面试官不会问到,在拓宽知识面的同时,也要深入理解其中的原理,不应是应试教育类的学习,真正做到活学活用(可前提是我没有这个平台啊啊啊啊啊!)
The text was updated successfully, but these errors were encountered: