Web 前端面试
博客园整理了一下,有好的面试题欢迎大家发在评论区哟
1. 闭包
2. 数组去重
3. 原型和原型链
4. call,apply,bind三者的区别?
5. 请介绍常见的 HTTP 状态码(至少五个)
6. 深浅拷贝
7. 实现(5).add(3).minus(2)输出6
8. null和undefined区别
9. MVC和MVVC?
10. Vue生命周期
11. Vue数据双向绑定原理
12. Vue组件传参
13. 说说各浏览器存在的兼容问题
14. router和route
15. active-class属于Vue哪一个modules,有什么作用
16. v-if和v-show
17. computed和watch有什么区别
18.Vue 组件中 data 为什么必须是函数
19. vue中子组件调用父组件的方法
20. vue中 keep-alive 组件的作用
21. vue中如何编写可复用的组件?
22. Vue 如何去除url中的 #
23. Vue 中 key 的作用
24. Vue 中怎么自定义指令
25. Vue 中怎么自定义过滤器
26. NextTick 是做什么的
27. Vue 组件 data 为什么必须是函数
28. 计算属性computed 和事件 methods 有什么区别
29. scoped(死够扑的)
30. vue如何获取dom?
31. promise
32. vue常用指令有哪些
33.vue-loader是什么?使用和用途?
34.css样式局部化,如何让css只在当前组件起作用?scss和stytus样式穿透
闭包指有权访问另一个函数中变量的函数,
MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
B站视频: https://www.bilibili.com/video/BV1YJ411R7ap?from=search&seid=18157596230752413126
https://www.jianshu.com/p/9c3547450a52
https://search.bilibili.com/all?keyword=%E5%8E%9F%E5%9E%8B%E9%93%BE%20%E9%BB%91%E9%A9%AC
都是用来改变this指向的
call和apply都是function原型上的方法,每一个函数作为function的实例都可以调用这两个方法,而这两个方法都是用来改变this指向的
一般情况下this指向其调用者()
fun.call(thisArg,arg1,ary2,...)
主要作用可以实现继承
调用函数,改变this指向
继承
fun.apply(thisArg,[argsArray])
作用:调用函数,改变函数内部this指向
参数必须是数组
apply主要应用于借助数学对象等
bind()方法不会调用函数,但可以改变函数内部this指向
fun.bind(thisArg,arg1,arg2,...)
thisArg:在fun函数运行时指定的this值
arg1,arg2:传递的其他参数
返回由指定的this值和初始化参数改造的原函数拷贝
call的性能要比apply好一些,尤其当传递参数超过3个,后期开发可多用call
时间测试
状态码是由 3 位数组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息–表示请求已接收,继续处理。
2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。
4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。
阮一峰: http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html
MVC 是后端中的概念
MVVC中 是前端概念
最终实现V和M数据的同步,因此开发者只需关注业务逻辑,不需要手动操作Dom,mvvm是vue的核心
这两个不同的结构可以看出两者的区别,他们的一些属性是不同的。
active-class 属于vue-router的样式方法
当routerlink标签被点击时将会应用这个样式
使用有两种方法
routerLink标签内使用
在使用时会有一个Bug
首页的active会一直被应用
解决办法
为了解决上面的问题,还需加入一个属性exact,类似也有两种方式:
在router-link中写入exact
在路由js文件,配置active-class
还可以不用exact这种方法去解决,例如
首页
路由中加入重定向
computed
computed是计算属性,也就是计算值,它更多用于计算值的场景
computed具有缓存性,computed的值在getter执行后是会缓存的,只有在它依赖的属性值改变之后,下一次获取computed的值时重新调用对应的getter来计算
computed适用于计算比较消耗性能的计算场景
watch
watch更多的是[观察]的作用,类似于某些数据的监听回调,用于观察props $emit或者本组件的值,当数据变化时来执行回调进行后续操作
无缓存性,页面重新渲染时值不变化也会执行
小结
当我们要进行数值计算,而且依赖于其他数据,那么把这个数据设计为computed
如果你需要在某个数据变化时做一些事情,使用watch来观察这个数据变化。
去这里看一下blog.csdn.net
vue-router 默认使用 hash 模式,所以在路由加载的时候,项目中的 url 会自带 #。如果不想使用 #, 可以使用 vue-router 的另一种模式 history
new Router({
mode: 'history',
routes: [ ]
})
需要注意的是,当我们启用 history 模式的时候,由于我们的项目是一个单页面应用,所以在路由跳转的时候,就会出现访问不到静态资源而出现 404 的情况,这时候就需要服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面
具体参考 官方API
参考 官方文档-自定义指令
过滤器也同样接受全局注册和局部注册
具体可参考官方文档 深入响应式原理
我们可以将同一函数定义为一个 method 或者一个计算属性。对于最终的结果,两种方式是相同的
不同点:
让css只在当前组件中起作用
钞娟氢氯: 首先投简历,等待hr通知面试,一般情况下先填资料,做测试题,接着开始第一面(一般问经你的个人情况,工作经历等),资料已经交给技术,等一面通过之后接着二面,二面一般是技术面试,问你开发相关的技术问题(例如布局问题,js,...
台江区18728998926: web 前端开发面试的时候,主考官一般会问哪些知识 - ?
钞娟氢氯: 根据面试官的不同,面试的内容页不一样的.一般的话就是html+css布局占一部分,例如各浏览器的兼容性,然后就是js的ajax,闭包,冒泡什么的,js会占很大一部分,也有一部分面试官会抛开这些,直接问公司需要的内容,这样的话就是考验你的实际操作了,这类的面试官我很喜欢,就是直接问布局,数据填充之类的,能学到很多东西,建议面试时偷偷用手机录音,回来之后听一听,研究一下自己不会的问题,因为面试完之后,你可能就会忘了面试时都问过什么了
台江区18728998926: web前端开发面试一般应聘者该问哪些问题 - ?
钞娟氢氯: 如果你是去面试的话,最好是自己有拿得出手的项目.而且一般都是会有试题的,需要你答卷,还有就是做项目的经验了.
台江区18728998926: web前端实习生,面试都能问什么问题啊 - ?
钞娟氢氯: 1、html、css网页布局有没有问题; 2、浏览器兼容性有没有问题; 3、html5、css3掌握程度; 4、javascript、jquery掌握程度; 5、移动端页面制作经验等;
台江区18728998926: Web前端面试题,面试技巧有哪些 - ?
钞娟氢氯: 1.首先可以多做一些简单的模拟面试训练,其次是多刷刷面试题,适当的题海战术,可以扩宽我们的知识面. 2.github都成标配了,有博客大部分都会加分 线上已运营的网站,给面试官show注释里面自己的签名也是酷酷的 还有可以带块平板, 3.面试时有wifi当然好,没有起码有个离线版本或者APP在平板上可以展示 自己的网站选择新浪sae或者github pages也好,最好买个自己的域名,绑定自己的独立域名会高一点逼格的~
台江区18728998926: web前端常见的面试题有哪些??
钞娟氢氯: "web前端常见的面试题有: px和em的区别 px表示像素 (计算机屏幕上的一个点:1px = 1/96in),是绝对单位,不会因为其他元素的尺寸变化而变化; em表示相对于父元素的字体大小.em是相对单位 ,没有一个固定的度量值,而是由其他...
台江区18728998926: 如何成功的面试WEB前端开发,WEB前端开发 - ?
钞娟氢氯: 要成为一名优秀的前端工程师,最重要的莫过于对自己做的事要有激情.我们技能都不是从学校中或者从研讨会上学来的,因此前端工程师必须具备自学能 力.浏览器技术的变化可谓日新月异,所以也只有不断提升自己的技能才做得到与时俱进...
台江区18728998926: web前端面试,至少要掌握哪些内容? - ?
钞娟氢氯: html(html5) + css(css3) + javascript + jquery ps + al + cdr
台江区18728998926: 面试web前端时,你该如何应对面试官 - ?
钞娟氢氯: 这个虽然是技术型面试,但是面试的基本准则还是不会变的,态度诚恳,真诚,让面试官感受你的热情和对该工作的热爱.至于技术水平的问题,一般在简历里就有体现,所以能够收到面试,至少你的简历上的经历还是有吸引到面试官的,所以,你尽量放松,于面试官真诚交流.遇到技术型问题的时候,不要侃侃而谈,挑技术要点,简明扼要概括.因为,如果面试你的是你未来的领导,就是说懂行的人,你一说要点,他能知道你的水平.如果只是HR,其实就你讲的很详细,他也不一定能明白.所以,简明扼要,保险!
台江区18728998926: 如何面试Web前端开发工程师 - ?
钞娟氢氯: 专业知识涉及到html+css+JavaScript+ajax等,首先这些要会,其次如果岗位涉及到策划、设计等,还需要对整体网站策划及Photoshop有一定的了解.面试时你就说,凡是前端所需要的工作,你都可以满足,页面的js特效你都会,前端交互问题,你也都能解决,就基本能入职了~