美文网首页
面试常见问题2

面试常见问题2

作者: Web枫桥夜泊 | 来源:发表于2017-07-24 12:42 被阅读0次

    React特点

          1.声明式设计−React采用声明范式,可以轻松描述应用。

          2.高效−React通过对DOM的模拟,最大限度地减少与DOM的交互。

          3.灵活−React可以与已知的库或框架很好地配合。

          4.JSX − JSX是JavaScript语法的扩展。React开发不一定使用JSX,但我们建议使用它。

           5.组件−通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。

           6.单向响应的数据流− React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

    Node.js优点:

           1.它是一个Javascript运行环境

            2.依赖于Chrome V8引擎进行代码解释

            3.事件驱动

            4.非阻塞I/O

            5.轻量、可伸缩,适于实时数据交互应用

            6.单进程,单线程

    HTTP请求协议(三次握手)

           1、第一次握手:建立连接

            2、第二次握手:服务器接受

            3、第三次握手:向服务器发送确认

    SVN与Git比较

       一. Subversion属于集中式的版本控制系统

        1、集中式就是所有代码库都只保存在一个中心服务器并且为核心代码库,C端全部是其的离线拷贝,所有提交最终都要汇总到     中心服务器,并且可以影响全部离线拷贝

         2、集中式版本控制系统最大的毛病就是必须联网才能工作

    二.Git分布式版本管理系统

         1、布式是所有代码都可以随意从一个P端分发到不同的P端上,并且各自平行并互不干扰,本地提交只影响本地代码库

          AJAS数据请求

          GET:GET更简单也更快,并且在大部分情况下都能用。

          POST:无法使用缓存文件(更新服务器上的文件或数据库)

         向服务器发送大量数据(POST没有数据量限制)

         发送包含未知字符的用户输入时,POST比GET更稳定也更可靠

    ECMAScript

    5.1 (或仅ES5)

        1、是ECMAScript(基于JavaScript的规范)标准最新修正。与HTML5规范进程本质类似,ES5通过对现有JavaScript方法添加语      句   和原生ECMAScript对象做合并实现标准化。

    优化网页

          1优化图片资源的格式和大小

          2使用浏览器缓存

          3减少重定向请求

          4图片预加载

    XMLHttpRequest对象提供了在网页加载后与服务器进行通信的方法。

    border-box

        为元素设定的宽度和高度决定了元素的边框盒。

        就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。

        通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

         设置了box-sizing为border-box后,容器的高宽就是实际容器的高宽

         cookie是存储在浏览器端,并且随浏览器的请求一起发送到服务器端的,它有一定的过期时间,到了过期时间自动会消失。

         essionStorage和localeStorage也是存储在客户端的,同属于web

    Storage,比cookie的存储大小要大有8m,cookie只有4kb,localeStorage是持久化的存储在客户端,如果用户不手动清除的话,不会自动消失,会一直存在,sessionStorage也是存储在客户端,但是它的存活时间是在一个回话期间,只要浏览器的回话关闭了就会自动消失。

    JavaScript的数据类型

         基本数据类型:Number,String,Boolean,Undefined,Null

         复杂数据类型:Object,Array,Function,RegExp,Date,Error

          全局数据类型:Math

    CDN的通俗理解就是网站加速

    使用CSS预处理器吗?喜欢那个?

            有编程的变量、继承、运算、函数的特性,它可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸          多好处,常用的有less、sass

    html5:

          用于绘画的canvas元素

          用于媒介回放的video和audio元素

          对本地离线存储的更好的支持

          新的特殊内容元素,比如article、footer、header、nav、section

          新的表单控件,比如calendar、date、time、email、url、search

    css3:

           1.CSS3实现圆角(border-radius),阴影(box-shadow),

            2.对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)

            3.transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px)skew(-9deg,0deg);//旋转,缩放,定位,倾斜

             4.增加了更多的CSS选择器多背景rgba

             5.在CSS3中唯一引入的伪元素是::selection.

             6.媒体查询,多栏布局

              7.border-image

    MVC/MVVM模式

             M:Module模型V:View视图C:Controller控制器

    AJAX实现异步请求、接受响应及执行回调。

         $.get()和$.post()

         1. url:'',链接路径

          type:'post/get'提交方式

          data:{键:值},传入数据用键值对方式传入

          callback函数

    JavaScript的作用域和作用域链

    JavaScript的继承

    JavaScript事件模型

        原始事件模型,捕获型事件模型,冒泡事件模型,

    AngularJS路由

          AngularJS路由允许我们通过不同的URL访问不同的内容。

          通过AngularJS可以实现多视图的单页Web应用

           jquery.superslide

           SuperSlide2.1滑动门jQuery插件是一款包含网站上常用的“焦点图幻灯片”“Tab标签切换”“图片滚动”“无缝滚动”等效果。

    页面导入样式时,使用link和@import有什么区别?

            link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS         的页面时开始会没有样式

    如何处理HTML5新标签的浏览器兼容问题?

            IE8/IE7/IE6支持通过document.createElement方法产生的标签,

             可以利用这一特性让这些浏览器支持HTML5新标签,

    盒子模型

          (1)有两种,IE盒子模型、W3C盒子模型;

           (2)盒模型:内容(content)、填充(padding)、边界(margin)、边框(border);

            (3)区别:IE的content部分把border和padding计算了进去;

    visibility属性有个collapse属性值

             超出表格部分隐藏类似display:none

            ::before和:after中双冒号和单冒号有什么区别?

             单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。

    JavaScript原型,原型链?有什么特点?

            每个对象都会在其内部初始化一个属性,就是prototype(原型)

             这个prototype又会有自己的prototype,一直找下去,也就是原型链的概念。

    JavaScript有几种类型的值

              栈:原始数据类型(Undefined,Null,Boolean,Number、String)

              堆:引用数据类型(对象、数组和函数)

    Javascript如何实现继承?

             原型链构造函数

    Javascript创建对象的几种方式?

             function Person(name, age) {

                 this.name = name;

                 this.age = age;

                 this.sing = function() { alert(this.name) }

             }

    Javascript作用链域?

    谈谈This对象的理解。

          this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。

          但是有一个总原则,那就是this指的是调用函数的那个对象。

    什么是window对象?什么是document对象?

    new操作符具体干了什么呢?

    1、创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型。

    2、属性和方法被加入到this引用的对象中。

    3、新创建的对象由this所引用,并且最后隐式的返回this。

    JSON的了解?

    是一种轻量级的数据交换格式。

    它是基于JavaScript的一个子集。数据格式简单,易于读写,占用带宽小

    AJAX是什么?创建一个ajax

    AJAX是一种用于创建快速动态网页的技术。

    1、创建Ajax核心对象XMLHttpRequest

    1.varxmlhttp;

    2.if(window.XMLHttpRequest)

    3.{//兼容IE7+, Firefox, Chrome, Opera, Safari

    4.xmlhttp=newXMLHttpRequest();

    5.}

    6.else

    7.{//兼容IE6, IE5

    8.xmlhttp=newActiveXObject("Microsoft.XMLHTTP");

    9.}

    默认的内外边距不同

    *{margin:0;padding:0;}

    水平居中的问题

    置text-align: center

    1、margin-left:auto;margin-right:auto

    2、margin:0 auto;

    IE6-7图片下面有空隙的问题

    1、将图片转换为块级对象display:block;

    2、对父元素设置:overflow:hidden;

    3、设置图片的浮动属性float:left;

    IE6双倍边距的问题

    设置display:inline;

    IE6两个层之间3px的问题

    1、右边层也采用浮动float

    2、左边层添加属性margin-right:-3px

    IE6背景闪烁的问题

    cument.execCommand("BackgroundImageCache",false,true);

    zoom的作用

    检查有没有闭合标签

    检查是否清除浮动

    样式

    相关文章

      网友评论

          本文标题:面试常见问题2

          本文链接:https://www.haomeiwen.com/subject/nscbkxtx.html