最近找新工作,经历了几场面试,根据面试整理了一些常见的问题。
1、git有使用过吗?平时怎么使用?
git在开发中用来进行项目托管。项目中一般有三个分支,主分支master,只有经理有权限操作,我们开发功能是在develop分支下面创建的子分支中开发,项目开发完了,切换到develop分支,拉取最新的develop分支,接着合并自己的任务分支,并推送develop分支。经理把合并的代码推到master分支上,release分支是用于测试的分支。
2、接口会跨域吗?为什么会出现跨域?有哪些解决方法?
会跨域。
原因:浏览器的同源策略,当服务器和客户端之间域名、端口、协议中有一项不一致时就会出现跨域。
解决方法:
- 建一个跨域浏览器;
- proxy代理;
proxy的配置方法:
根目录里建立:vue.config.js文件然后:
module.exports = {
devServer: {
proxy: {
"/api": { //自定义
target: "http://你的服务器地址/api", //这里可以跟随项目实际部署服务器来
changeOrigin: true,
ws: true,
pathRewrite: {
"^/api": ""//自定义
}
}
}
}}
- jsonp;
原理:动态创建一个 script 标签。利用 script 标签的 src 属性不受同源策略限制。因为所有的 src 属性和 href 属性都不受同源策略限制;
- CORS跨域资源共享;
原理:服务器设置 Access-Control-Allow-OriginHTTP 响应头之后,浏览器将会允许跨域请求;
3、本地持久化的方法,他们有哪些区别?
本地持久化方法:sessionStorage、localStorage、cookie。
相同点:都保存在浏览器端;
不同:
①传递方式不同 : cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
②数据大小不同 : cookie数据还有路径(path)的概念,限制cookie只属于某个路径下。cookie只适合保存很小的数据,一般只有4k;sessionStorage和localStorage 也有存储大小的限制,但比cookie大一些,一般是5M(具体大小根据浏览器而定)。
③数据有效期不同 : sessionStorage:仅在当前窗口关闭之前有效;localStorage:只要不删除,始终有效;cookie可以设置有效期,在有效期内一直有效;
④作用域不同:sessionStorage不同的浏览器窗口中的数据不能实现共享;localStorage 和 cookie是在所有同源窗口中都是共享的。
4、https和http有什么区别
- 费用: HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前网易官网是 HTTP,而网易邮箱是 HTTPS 。)
- 安全性: HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
- 端口:,HTTP 的端口是 80,HTTPS 的端口是 443。
- 连接方式:HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。
时间不早了,今天先整理这几个问题,后面会继续更新新的题目。