• 前端面试题整理及答案


    es6 

    通信/编程/原理篇

     

    一. 原理篇

    1. 对 SPA 单页面应用的理解,优缺点是什么?

    SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。⼀旦⻚⾯加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。

    优点:

    1)用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染;

    2)SPA 相对对服务器压力小;

    3)前后端职责分离,架构清晰,前端进行交互逻辑,后端负责数据处理;

    缺点:

    1)首屏(初次)加载慢:为实现单页面 Web 应用功能及显示效果,需要在加载资源的时候将JavaScript、CSS 统一加载,部分页面按需加载;

    2)不利于 SEO:由于所有的内容都在一个页面中动态替换显示,所以在 SEO 上其有着天然的弱势。

    二.算法与编程篇

    1. 写一个倒计时函数

    let n = 10; // 全局变量
    let time = setInterval(() => {
    setTimeout(() => {
    console.log('倒计时------', n);
    n--;
    if (n < 0) {
    console.log('倒计时------时间到');
    clearInterval(time); // 删除时间 setInterval,每隔一段时间执行一次
    }
    })
    }, 1000);
    View Code

    三.通信篇

    1、ajax如何处理跨域

     

    答:  首先回答这个问题,先知道什么是跨域,跨域问题来源于JavaScript的"同源策略",即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的,html本身没有跨域问题。
    
    查看浏览器开发者工具Console报错:
    
    Failed to load http://a.a.com:8080/A/FromServlet?userName=123: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://b.b.com:8080' is therefore not allowed access.
    
    http://www.abc.com/a/b 调用 http://www.def.com/a/b (跨域:域名不一致)
    http://www.abc.com:8080/a/b 调用 http://www.abc.com:8081/d/c (跨域:端口不一致)
    
    http://www.abc.com/a/b 调用 https://www.abc.com/d/c (跨域:协议不同)
    
      跨域的几种解决方案:
    
    1、响应头添加Header允许访问
    
    2、jsonp 只支持get请求不支持post请求
    3、httpClient内部转发
    4、使用接口网关——nginx、springcloud zuul   (自己公司也是如此解决,大多互联网公司都是用此方案)
    

     

     

     

    参考文章链接如下:

    https://blog.csdn.net/itcats_cn/article/details/82318092 跨域

    https://www.jianshu.com/p/3507b078fe03

    https://www.cnblogs.com/liandudu/p/14276948.html

    将来的自己,会感谢现在不放弃的自己!
  • 相关阅读:
    Hive问题
    VirtualBox安装增强功能
    Shell脚本 数据清洗
    团队项目第一阶段冲刺站立会议06
    梦断代码阅读笔记1
    团队项目第一阶段冲刺站立会议05
    团队项目第一阶段冲刺站立会议04
    团队项目第一阶段冲刺站立会议03
    团队项目第一阶段冲刺站立会议02
    团队项目第一阶段冲刺站立会议01
  • 原文地址:https://www.cnblogs.com/TheYouth/p/15063368.html
Copyright © 2020-2023  润新知