• 2019.9.4面试题


    1. 输入url,到渲染数据,共进行了几步,请详细说明一下从服务端到客户端做了哪些操作?

     在网址中输入url -> DNS解析 (根据域名找到IP地址 -> IP地址发送http请求到服务端)  -> 服务端接收数据 -> 服务端返回html响应-> 客户端加载css并接收html开始进行渲染 -> 客户端发送嵌入在html对象的请求 -> 客户端发送异步请求 -> 服务端返回请求数据 -> 客户端将返回的数据绑定在html标签上

    2.服务端渲染和客户端渲染是什么?详细描述一下

     服务端渲染:每当客户端向服务端请求页面时,服务端会先将指定页面在后端渲染,渲染成功后将完整页面返回到客户端

     客户端渲染:每当客户端向服务端请求页面时,服务端会先将模版页面返回到客户端,然后客户端中html对象请求服务端获得数据,再返回到客户端,客户端将数据与html相关联,进行渲染页面

     服务端渲染的好处:对SEO友好,因为服务端会返回一个完整的页面进行渲染,爬虫会爬到页面上抓取关键字进行记录

     服务端渲染的坏处:对服务器压力很大

       服务端渲染的优化:可本地缓存,减缓服务器对压力

     客户端渲染的好处:对服务器压力不大

       客户端渲染的坏处:对SEO不友好

     客户端渲染的优化:可使用nuxt.js, node.js 配合使用,或者查看vue官网给出的方法

    3.存储的方法有哪几种?

     localstorage, sessionstorage, cookie

    4.html5有哪些新特性

      1.语义化标签

      2.表单

      3.canvas

      4.视频和音频 video,audio

      5.拖放API

      6.地理定位 window.navigator.geoLocation

      7.SVG绘图

      8.webstorage   localstorage, sessionstoage

      9.webworker  

      10.websocket   send发送, onmessage接收

    5.选择器有哪几种,给其排序

      id < class < 标签 < 子选择器(ul > li ) < 后代选择器 ( ul li ) < 伪类 < 属性选择器 (input[type='text'])

    6.call, apply, bind区别与相同点

      call(obj, a, b)  立即执行

      apply(obj, [a, b])  立即执行

      bind(obj, a, b)  不立即执行,后面加()立即执行

      这三者都是为了改变this指向

    7.display,position的属性值有哪些?box-sizing: content-box与border-box有什么区别?

      dispaly:flex;block;none;inline-block;inline;table;inline-table;table-row;table-column;

      position:absolute;fixed;relative;static;inherit;

      box-sizing: content-box; 标准盒模型,不包括padding和border

      box-sizing: border-box;怪异盒模型,包括padding和border

    8.jquery的.bind和.live,.delegate()和.on()区别是什么?

    9.跨域通信有哪几种?分别讲述一下如何进行跨域的?什么是跨域?

      1.nginx  在nginx中反向代理api

      2.jsonp  动态添加script,img,iframe标签通过get的方式请求数据   (jsonp为什么可以解决跨域,因为script,img,iframe标签可以请求第三方资源)

      3. window.name  + iframe

      4. window.domain + iframe     

          a.html   <iframe></iframe> <script>window.domain = '你好'   var user = '小明'</script>

          b.html   <script>window.domain = '你好'  console.log(window.parent.user)   <script>

      5.location.hash + iframe

    10.将下面['a', 'b', 'ab'].upperCase() => ['A', 'B', 'AB']

       ['a', 'b', 'ab'].upperCase( e => e.toUpperCase() )

    11.[1 2 38 7 5 6 4 9 8] => [1 2 3 4 5 6 7 8 9]

    12.nginx是如何进行跨域的?nginx是什么?

       nginx中需要配置域名,端口号,请求api,nginx最强的地方是反向代理,

       举例:在浏览器中输入www.a.com,请求接口是www.b.com

    nginx配置
    server { listen 80; server_name www.a.com; access_log logs/test.access.log; # 匹配以/apis/开头的请求 location ^~ /apis/ { proxy_pass http://www.b.com/; #注意域名后有一个/ } location / { root html/a; index index.html index.htm; } # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

      

    13.express.js是什么

    14.如何进行移动端的兼容?如何实现每部手机都展示相同的页面?

      使用rem根据UI给的设计图安装750px设置; 1rem = 1px;

      或者也可根据postcss进行设置,默认UI设计图1px = 1px;

    15.1rem等于多少px?

        rem是相对于根元素<html>, 并不是相对于<body> 

        html { font-size: 12px }  那么 1rem = 12px

        body { font-size: 12px } 是为了固定页面的默认字体大小

    16.vue和jquery的区别和优势是什么?哪个更好?

        vue主要以数据和视图完全分开,并相互绑定,可以处理一些复杂数据操作界面,侧重于数据绑定

        jquery主要使用Dom实现js侧重样式操作,动画效果等

        如果进行复杂数据操作可选择vue;如果需要动画效果很棒,可使用jquery

  • 相关阅读:
    利用XSLT把ADO记录集转换成XML
    探讨SQL Server中Case 的不同用法
    模拟Windows升级页面特效
    上海,我的奋斗岁月(整理篇)[转帖强烈推荐大家读完]
    根据上排给出十个数,在其下排填出对应的十个数
    【转】从两个排序数列中找到两个数列组合起来中间大的数
    网络每一层的基本协议
    交换两个指针
    先序遍历建树
    反转单链表_字符串_数字
  • 原文地址:https://www.cnblogs.com/gqx-html/p/11468294.html
Copyright © 2020-2023  润新知