web前端面试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了web前端面试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2942字,纯文字阅读大概需要5分钟。
内容图文
HTML+CSS
1 、说一下盒模型?
盒模型的组成,由里向外 content,padding,border,margin.
在 IE 盒子模型中, width 表示 content+padding+border 这三个部分的宽度
在标准的盒子模型中, width 指 content 部分的宽度
box-sizing: content-box 是W3C盒子模型
box-sizing: border-box 是IE盒子模型
2 、 css 水平、垂直居中的写法,请至少写出 4 种?
水平居中
行内元素 : text-align: center
块级元素 : margin: 0 auto
position:absolute +left:50%+ transform:translateX(-50%)
display:flex + justify-content: center
垂直居中
设置 line-height 等于 height
position : absolute +top:50%+ transform:translateY(-50%)
display:flex + align-items: center
display:table+display:table-cell + vertical-align: middle;
JS
1 、说一下闭包?
闭包的实质是因为函数嵌套而形成的作用域链
闭包的定义即:函数 A 内部有一个函数 B,函数 B 可以访问到函数 A 中的变量,那么函数 B 就是闭包
2 、 get 、 post 的区别
1.get 传参方式是通过地址栏 URL 传递,是可以直接看到 get 传递的参数, post 传参方式参数 URL 不可见, get 把请求的数据在 URL 后通过?连接,通过 & 进行参数分割。 psot 将参数存放在 HTTP 的包体内
2.get 传递数据是通过 URL 进行传递,对传递的数据长度是受到 URL 大小的限制, URL 最大长度是 2048 个字符。 post 没有长度限制
3.get 后退不会有影响, post 后退会重新进行提交
4.get 请求可以被缓存, post 不可以被缓存
5.get 请求只 URL 编码, post 支持多种编码方式
6.get 请求的记录会留在历史记录中, post 请求不会留在历史记录
7.get 只支持 ASCII 字符, post 没有字符类型限制
3 、 你所知道的 http 的响应码及含义?
1xx( 临时响应 )
100: 请求者应当继续提出请求。
101( 切换协议 ) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。
2xx( 成功 )
200 :正确的请求返回正确的结果
201 :表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201 。
202 :请求是正确的,但是结果正在处理中,这时候客户端可以通过轮询等机制继续请求。
3xx( 已重定向 )
300 :请求成功,但结果有多种选择。
301 :请求成功,但是资源被永久转移。
303 :使用 GET 来访问新的地址来获取资源。
304 :请求的资源并没有被修改过
4xx( 请求错误 )
400 :请求出现错误,比如请求头不对等。
401 :没有提供认证信息。请求的时候没有带上 Token 等。
402 :为以后需要所保留的状态码。
403 :请求的资源不允许访问。就是说没有权限。
404 :请求的内容不存在。
5xx( 服务器错误 )
500 :服务器错误。
501 :请求还没有被实现。
Vue 框架
v-show和v-if指令的共同点和不同点?
共同点:都能控制元素的显示和隐藏;
不同点:实现本质方法不同,
v-show
本质就是通过控制
css
中的
display
设置为
none
,控制隐藏,只会编译一次;
v-if
是动态的向
DOM
树内添加或者删除
DOM
元素,若初始值为
false
,就不会编译了。而且
v-if
不停的销毁和创建比较消耗性能。
总结:如果要频繁切换某节点,使用
v-show(
切换开销比较小,初始开销较大
)
。如果不需要频繁切换某节点使用
v-if
(初始渲染开销较小,切换开销比较大)。
vue优点
轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb;
简单易学:国人开发,中文文档,不存在语言障碍,易于理解和学习;
双向数据绑定:保留了angular的特点,在数据操作方面更为简单;
组件化:保留了react的优点,实现了html的封装和重用,在构建单页面应用方面有着独特的优势;
视图,数据,结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作;
虚拟DOM:dom操作是非常耗费性能的, 不再使用原生的dom操作节点,极大解放dom操作,但具体操作的还是dom不过是换了另一种方式;
运行速度更快:相比较与react而言,同样是操作虚拟dom,就性能而言,vue存在很大的优势。
Vue中双向数据绑定是如何实现的?
vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变;
核心:关于VUE双向数据绑定,其核心是 Object.defineProperty()方法。
单页面应用和多页面应用区别及优缺点
单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。多应用于pc端。
多页面(MPA),就是指一个应用中有多个页面,页面跳转时是整页刷新
单页面的优点:
用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小;前后端分离;页面效果会比较炫酷(比如切换页面内容时的专场动画)。
单页面缺点:
不利于seo;导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理);初次加载时耗时多;页面复杂度提高很多。
vue和jQuery的区别
jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作,其实和原生的HTML的区别只在于可以更方便的选取和操作DOM对象,而数据和界面是在一起的。比如需要获取label标签的内容:$("lable").val();,它还是依赖DOM元素的值。
Vue则是通过Vue对象将数据和View完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,可以说数据和View是分离的,他们通过Vue对象这个vm实现相互的绑定。这就是传说中的MVVM。
原文:https://www.cnblogs.com/ls422327276/p/14939928.html
内容总结
以上是互联网集市为您收集整理的web前端面试全部内容,希望文章能够帮你解决web前端面试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。