banner
前端八股文,看完之后,没一个能打的~💪

成都乐度软件面试

Scroll down

1.HTTP状态码及其含义

1
1XX
  • 100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
1
2XX
  • 200 OK` 正常返回信息
  • 201 Created 请求成功并且服务器创建了新的资源
  • 202 Accepted 服务器已接受请求,但尚未处理
1
3XX
  • 301 Moved Permanently 请求的网页已永久移动到新位置。
  • 302 Found 临时性重定向。
  • 303 See Other 临时性重定向,且总是使用 GET 请求新的 URI
  • 304 Not Modified 自从上次请求后,请求的网页未修改过。
1
4XX
  • 400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
  • 401 Unauthorized 请求未授权。
  • 403 Forbidden 禁止访问。
  • 404 Not Found 找不到如何与 URI 相匹配的资源。
1
5XX:
  • 500 Internal Server Error 最常见的服务器端错误。
  • 503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

2.null,undefined 的区别

undefined 表示不存在这个值。

undefined :是一个表示”无”的原始值或者说表示”缺少值”,就是此处应该有一个值,但是还没有定义。当尝试读取时会返回 undefined

例如变量被声明了,但没有赋值时,就等于undefined

null 表示一个对象被定义了,值为“空值”

null : 是一个对象(空对象, 没有任何属性和方法)

例如作为函数的参数,表示该函数的参数不是对象;

在验证null时,一定要使用 === ,因为 ==无法分别null 和 undefined

3.vuex有哪些属性

state:用于数据的存储,是store中的唯一数据源

getters:如vue中的计算属性一样,基于state数据的二次包装,常用于数据的筛选和多个数据的相关性计算

mutation:类似函数,改变state数据的唯一途径,且不能用于处理异步事件

action:类似于mutation,用于提交mutation来改变状态,而不直接变更状态,可以包含任意异步操作

modules:类似于命名空间,用于项目中将各个模块的状态分开定义和操作,便于维护

4.vue中的路由模式

history模式

HTML5中的两个API:pushState和replaceState,改变url之后页面不会重新刷新,也不会带有#号,页面地址美观,url的改变会触发popState事件,监听该事件也可以实现根据不同的url渲染对应的页面内容

但是因为没有#会导致用户在刷新页面的时候,还会发送请求到服务端,为避免这种情况,需要每次url改变的时候,都将所有的路由重新定位到跟路由下

hash模式

url hash: http ://foo.com/#help

后面hash值的改变,并不会重新加载页面,同时hash值的变化会触发hashchange事件,该事件可以监听,可根据不同的哈希值渲染不同的页面内容

5.GET/POST的本质区别

GET/POST的最大区别是GET请求有幂等性,但是POST请求没有。什么是幂等性呢?我们知道使用GET方法请求同样的接口,返回来的数据是不会改变的,但是对于POST请求,实现一些增删改查的操作的时候可能会发生重复提交的问题。

也就是说我们如果使用GET请求做增删改查的时候,遇到网络不好可能会多次操作,造成数据库的混乱,这是一个很严重的问题,但是使用POST就不会有这种情况。

6.CDN的优化原理

1
2
CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。
CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验
其他文章