小编目前正在找工作,总结了以下面试题,总结到博客,希望对大家有帮助
话不多说,开始了
一,块级格式化上下文(BFC)【并列内联格式化上下文(IFC)】
他是一个独立的区域,以这个区域外部没有关系。
怎么触发??
- float定义为none
- position为absolute或fixed
- display为inline-block
- overflow不为visible
BFC使用场景
- 清除内部浮动
- 防止margin重叠
- 自适应的两栏布局,BFC可以阻止元素被浮动元素覆盖
二,怎么解决跨域问题?
首先要知道什么是跨域,跨域就是一个域名下的网页想访问不同域名的资源或者网页,它是由浏览器的同源策略造成的。
那什么是同源策略呢?同源策略是浏览器的一种‘安全策略’,同源策略是必须的,否则互联网就没有安全可言
解决跨域的办法有:
- jsonp
- nginx代理
- PHP修改header
- CORS
这里就不详细的讲他们的用法了
三,判断数据类型的几种方法
- tpyeof
- instanceof
- constructor
- toString
四,几种常见的http状态码
304----已经执行get请求,但文件未发生改变
200----请求成功
404----请求网页不存在
500----服务器错误
五,五种让DOM元素不可见的方法
opacity:0
把他移动到父元素外,设置overflow:hidden
visibility: hidden;
display: none;
position: absolute;
六,清除浮动的几种方式
1.父级div定义 height
2.父级div定义 overflow:hidden
3. 结尾处加空div标签 clear:both
4.父级div定义伪类:after 和 zoom
七,请描述一下 cookies sessionStorage和localstorage区别
相同点:都存储在客户端
不同点:1.存储大小
cookie数据大小不能超过4k。
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
2.有效时间
localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;、
sessionStorage 数据在当前浏览器窗口关闭后自动删除
cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
3. 数据与服务器之间的交互方式
cookie的数据会自动的传递到服务器,服务器端也可以写cookie到客户端
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存
八,http和https有什么区别
http是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。
https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份
九,react和vue有哪些不同,说说你对这两个框架的看法
相同点
都支持服务器端渲染
都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范
数据驱动视图
都有支持native的方案,React的React native,Vue的vuex
不同点
React严格上只针对MVC的view层,Vue则是MVVM模式。
数据绑定: vue实现了数据的双向绑定,react数据流动是单向的。
state对象在react应用中不可变的,需要使用setState方法更新状态;在vue中,state对象不是必须的,数据由data属性在vue对象中管理。
十,什么是mvvm mvc
MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。
如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应view。
这次分享就到这里了,持续更新~~~~~