Js面试总结

H5 同时被 3 个专栏收录
127 篇文章 0 订阅
111 篇文章 0 订阅
136 篇文章 0 订阅

技术面试:

****JS原生基础

****兼容性问题

****前后端架构

****HTTP基础

****ES5/ES6

****性能优化问题

****webpack原理

2017春招

https://segmentfault.com/a/1190000010631325?_ea=2359607

http://blog.csdn.net/lunaqi/article/details/78402461

面试100题:

http://blog.csdn.net/kebi007/article/details/54882425

JS面试题及答案

http://www.cnblogs.com/lanyueff/p/6400785.html

nodejs面试大全:

https://www.cnblogs.com/meteorcn/p/node_mianshiti_interview_question.html

HTML->Node.JS

https://www.cnblogs.com/itlkNote/p/6831115.html

一道常被人轻视的前端面试题

http://www.cnblogs.com/xxcanghai/p/5189353.html#

 

闭包的原理

为什么js使用模块化

数据渲染问题 接口问题

commonJS和requirejs的优缺点

页面根据角色权限的变化

开发时使用的架构

腾讯一面:

    浏览器的渲染引擎,渲染原理

    web安全

        XSS

        SQL注入

        DDos

    http状态码

        1:100

        2:200

        3:304

        4:404

        5:500

    同源策略

        同源:协议,域名,端口号

    对象继承的方式:

        原型链继承

        构造函数

        组合继承

        原型式继承

        寄生式继承

        寄生组合式继承

        ES6 class extends

    ES6

    Promise

    JS DOM事件模型

    常见的兼容问题,pc端,移动端

    JS性能优化的方案

    React生命周期钩子函数

    实现动画都有哪些途径,方法?

        css3: animation

              translation

        js库封装的动画

        canvas

        svg

        gif

    对象继承的实现:

 

 

 

 

腾讯二面:

    百度搜索提示框

        重点:

        函数节流

        焦点侦测

    web安全

        看整理面试答案

    性能优化

        看整理面试答案

    执行上下文

        变量对象

        this

        作用域链

    设计模式

        用的最多的是:观察者模式及变种代理模式,工厂模式

    跨域  =>

        websocket

        jsonp

        cors:

            acao

        服务器代理

    

        

阿里一面:

    ajax原理

    Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。

 XMLHttpRequestajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。

    浏览器解析过程: =>解析html和css的过程:DOM树和渲染树

https://www.cnblogs.com/lhb25/p/how-browsers-work.html

    未知宽高的元素在容器中居中:

        table-cell

        transform:translate

        display:flex

    JS类型判断:

        typeof

        instanceof

        Object.toString.call()

        isArray =>ES5    

        看JS补充内容笔记

    路由实现:

        hashHistory

        history对象:

            history.pushState

            history.replaceState

    浏览器本地存储:

        cookie

        localStorage/sessionStorage

        后端种session

    跨域解决方法:

        jsonp

        socket

        cors

        后端跨域方案

    数据双向绑定和单向绑定的优缺点:   

对于非UI控件来说,不存在双向,只有单向。只有UI控件才有双向的问题。

单向绑定使得数据流也是单向的,对于复杂应用来说这是实施统一的状态管理(如redux)的前提。

双向绑定在一些需要实时反应用户输入的场合会非常方便(比如多级联动菜单)。但通常认为复杂应用中这种便利比不上引入状态管理带来的优势。

 

单向数据流其实是没有状态的, 这使得单向绑定能够避免状态管理在复杂度上升时产生的各种问题, 程序的调试会变得相对容易, 但强制要求编码时设计思维的一致性.

双向数据流是自动管理状态的, 但是在实际应用中会有很多不得不手动处理状态变化的逻辑, 使得程序复杂度上升, 难以调试, 但程序各个部分自成一体, 不强制要求一致的编码.

如果你的程序需要一个统一的数据源, 应该选择单向数据流, 所有的数据变化都是可观测的, 数据自上而下流动, 即使出问题也很容易找到源头.

如果你的程序本身有多个数据源, 或者是程序的逻辑本身会产生很多的副作用, 应该选择双向绑定的程序, 将大项目分化为小项目, 逐个击破.

阿里二面:

    无线端性能优化(大话题)

        资源加载

        DOM渲染

        图片控制:分版本存储到cdn,

        多用cdn,cdn请求不携带cookie

        多台cdn存在cdn域名解析问题.(不多于5个)

        后端优化,

            接口响应速度

            接口数据分块        

    tap事件加入的原因:

    网址:http://www.jianshu.com/p/19eebc1921b6

        两者都会在点击时触发,但是在手机WEB端,click会有 200~300 ms。

        延迟来自判断双击和长按,因为只有默认等待时间结束以确定没有后续动作发生时,才会触发click事件。所以触摸事件反应更快,体验更好。

    

    本地存取数据

    如何编写一个css库

        1.考虑各个浏览器的适配和兼容性  

        2.需要css编译工具作为基础:

            sass

            less

        3.实现css库:

            a.reset

            b.通用方法

                flexbox盒模型兼容

                一像素线

                css3的动画封装

            c.扩展

                a.加入mixin

                b.传参

                c.默认参数和参数不匹配时的默认样式设置

    XHR具体底层原理和实现

        readystate

        state:http状态

        api:

            open()

            send()

            getResponseHeader()

            setRequestHeader()

            onReadyChange()事件

    单例模式的实现和所知道的设计模式

        

    jsonp的原理和实现过程,多个jsonp请求如何处理,随机生成多个callback  

    ES6编译成ES5

        webpack + babel,也可以原生使用babel,要有preset

    webpack的loader怎么去工作的

        loader就是解析文件的.

        http://web.jobbole.com/84851/

    常见的数据结构和常见的算法

        堆栈,队列,链表,树.

        

    Node.js多线程的实现

阿里三面:

    对前端的理解

        定位:人机交互界面,用户体验

        大的方面:

        编程特性,工程化.

        变复杂,可控,易管理.

        许多工作都转移到前端进行控制.

        用户体验的提升.

        大前端的概念.

        

        前端的概念变得模糊,前端可以涉猎后端所做的事情.

        前端的运行环境是浏览器,是和后端的区别.

        存在浏览器的兼容问题,也存在移动设备的兼容问题.

        适配终端的问题.

 

        前端框架发展史. =>往更高效,易管理方向发展.

    对RN的理解

    说一说XHR

    jQuery选择器的引擎(sizzle)

    原文地址:http://www.cnblogs.com/liuzhang/archive/2013/02/06/2905007.html

        *jQuery选择器的效率问题

        jQuery选择器性能评测工具

        $(‘.a’,'.b’)

        $(‘.a’).find(‘.b’)

            选择器 context 是由 .find() 方法实现的;因此,$('li.item-ii').find('li') 等价于 $('li', 'li.item-ii’)。

            在复杂的页面的,最好等选出来在用过滤选择器,不要一次性写在一个string里,因为当有nth|eq|gt|lt|first|last|even|odd 的时候,选择器会从左向右,多次选择,保存,过滤。效率很低。

    MD5加密算法的用途

 

        

搜狐一面:

    DOM操作常用方法: 增删改查

        ById

        ByClassName(不兼容,IE6)

        ByName

        ByTagName

        querySelector

        querySelectorAll

 

        createElement    

        createDocumentFragment    //文档碎片

 

        remove

    移动端布局方案:

        等比缩放

        百分比

        ...

    前后端协作:

        前后端不分离 =>性能好,代码不方便管理

        前后端+中间层    =>中间层负责整合多个接口数据,进行封装,往前端输出静态页面    =>cms

        前后端分离    =>代码方便管理

        服务端渲染,服务端模板的变种

        服务端模板

    ajax原理

 

项目中遇到的问题 =>深入一点

 

搜狐二面:

    快排,相比冒泡排序的优点

    服务端与客户端即时通讯:

        socket:

            net

            websocket

            socket.io

        轮询,工作场景

            comet技术:反向ajax

        SSE:

            服务端推送数据方法

    nginx服务端代理转发配置

    对象继承有几种继承方式

    this,聊聊JavaScript的this

        Easy模式

        reference

    rem布局的优缺点.(等比缩放)

        看到内容相同

 

百度一面:

    说说对前端架构的理解:

 

https://www.zhihu.com/question/26646855?sort=created

 

    技术栈的选择

    前端架构搭建

    前端架构搭建后如何开发

    编写规范

    测试方面,单元测试

    前端部署

    前端安全

    前端统计,埋点,两个维度,pv(按访问次数),uv(按用户统计)

        埋点:在按钮上,加1px的透明图片,src有一个url地址,点击之后,请求src中的url进行统计.

    前端报警系统:一定时间内功能未被使用.    

 

 

    架构是一个演变的过程。

    它指的不是随着历史的演变,而是随着项目演变。

    通常说架构,指的是架构模式,自创的架构很少。

    了解架构模式,才能心有余力的应对项目的发展。

    前端项目大概会经历以下这些阶段:

    1. 整体渲染

    2. 结构行为表现分离

    3. 隔离逻辑单元

    4. 插件

    5. 模块

    6. 前端MVC/MVVM

    7. 组件

 

    对前端框架的看法:

        分析一下流行的框架:Vue,React,Angluar2,AngluarJS,jQuery

            分析用户使用程度.

            框架在开源社区的关注度.

            框架的优缺点.

            mvc框架:backbone

            衡量框架的两个标准:

                提高开发效率,易维护,

                性能高,;例如React采用了虚拟DOM.

            从框架发展来看:

                React是由fb主导的,版本更新迭代快,维护稳定,社区活跃

                Vue则是一个个人主导的项目.

    如何做前后端分离:

    Vue2新增哪些内容,独立构建和运行时构建有哪些不同:

        vue2最主要的更新内容是增加了虚拟DOM,增加了生命周期钩子.                    https://www.cnblogs.com/blackisblack/p/6995480.html

    说一说前端构建的过程:

        重点问的是gulp和webpack,前端工程化,部署与发布

    爬虫实现的原理:

        后端请求http,对返回网页,使用cheerio将返回的字符串,转成DOM,进行DOM操作

    ****说说webpack工具以及Nodejs:

        webpack要实现的功能

            externals => 第三方js抽离

        总结一下自己使用的loader,plugin

    说说css3实现卡片反转:

百度二面:

    说说你的职业规划:

    说说html的难点:

https://www.zhihu.com/question/20142001

        1.了解多个版本的HTML差异。(理解浏览器渲染过程,越细节越好)

        2.写代码时注意哪些元素可以嵌套哪些不能。(代码提示的功能太有限)

        3.兼容多个设备,多种分辨率甚至多种系统。

        4.熟练各个标签的属性和与之产生的效果。

        5.知道哪些标签已废弃哪些在实验阶段。

        6.知道某些标签虽然效果一样但其实语义差别,以便于搜索引擎爬取。

        7.写的页面具有良好的访问性;不光能承受高流量访问还支持残疾人浏览或听页面内容。

        8.写的页面尽可能做到无懈可击,不论改什么需求都能保持页面不崩坏。曾经好几次见过将首页CSS外置的2b网站不知道带宽吃紧的用户会直接看到难看的骨架吗?还有网络差导致页面坍塌(因为右下角一个资源引不进来又用了某种不当的布局)的。

        9.知道如何写既节省带宽又便于后来者维护的HTML.好的HTML可以加速页面载入。

        10.知道哪些浏览器不支持哪些功能特性并能借助资料使该浏览器使用该特性或者是预留后路。

        11.唉,写不下去了,还有用户体验啊,互联网心理学啊~……

    

        mvvm框架研究的根就是HTML元素,HTML的属性,HTML的子元素?

    说说css的难点,如何实现垂直水平居中.

        兼容性问题

    js的this是什么,如何改变this?

        bind()

        call()

        apply()

        ()=>{}

    算法的时间复杂度?

    X 26个字母,1-7个数字转化成字母?

饿了么:    

  • 盒模型之box-sizing

  • XHR原理及API

  • session和sessionStorage

    • 注册登录中的session和cookie有什么关系?

    • 不要混淆 session 和 session 实现。

    • 本来 session 是一个抽象概念,开发者为了实现中断和继续等操作,将 user agent 和 server 之间一对一的交互,抽象为“会话”,进而衍生出“会话状态”,也就是 session 的概念。

    • 而 cookie 是一个实际存在的东西,http 协议中定义在 header 中的字段。可以认为是 session 的一种后端无状态实现。

    • 1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session。

    • 2. 思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。有人问,如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。

    • 3. Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,能够方便一下用户。这也是Cookie名称的由来,给用户的一点甜头。

    • 所以,总结一下:

    • Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;

    • Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

  • map forEach(数组各个API细节)

  • dom事件代理,有什么优点?

    •  

  • 三种隐藏方式差别:visibility:hidden,display:none,opacity:0,定位移动,移除屏幕.

渲染上的差异:

 

1.将元素设置为display:none后,元素在页面上将彻底消失,元素本来占有的空间就会被其他元素占有,也就是说它会导致浏览器的回流和重绘。

2.设置元素的visibility为hidden,和display:none的区别在于,元素在页面消失后,其占据的空间依旧会保留着,所以它只会导致浏览器重绘而不会回流。

3.opacity:0,只是看不到元素,元素依然存在并且占有原有位置. 

注: 事件绑定的差异: 

1、display:none:元素彻底消失,不会触发绑定的事件.

2、visibility:hidden:无法触发其点击事件,有一种说法是display:none是元素看不见摸不着,而visibility:hidden是看不见摸得着,这种说法是不准确的,设置元素的visibility后无法触发点击事件,说明这种方法元素也是消失了,只是依然占据着页面空间。

3、opacity:0:可以触发点击事件,设置元素透明度为0后,元素只是相对于人眼不存在而已,对浏览器来说,它还是存在的,所以可以触发绑定事件

 

动画属性的差异: 

1、display:none:完全不受transition属性的影响,元素立即消失

2、visibility:hidden:元素消失的时间跟transition属性设置的时间一样,但是没有动画效果.

3、opacity:0,动画属性生效,能够进行正常的动画效果.

    promise

 

头条一面:

  1. inline和block元素列举,block和inline-block区别?

  2. span包含12px大小英文'abc',问span高度?baseline怎么理解?

  3. css实现自适应正方形?

    1. 页面布局中,我们经常需要用百分比来实现宽度自适应,但是如果这时候高度要跟宽度呈固定比例变化,该怎么办呢?

    2. 很简单,我们可以利用元素的padding或margin的百分比值是参照宽度的这一特性来实现,

    3. 即如果元素的padding或margin值是百分比值,那么,它的值是根据父元素的宽度来计算的。

  4. string查找第一个不重复字符.如果换成字符串呢?

  5. Angular数据绑定机制?

  6. 重绘和回流的理解,如何减少回流和重绘

  7. querySelectAll和ByClassName所获取元素的区别?如何绑定事件?

  8. getComputedStyle用法?

    1. getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式声明对象([object CSSStyleDeclaration]),只读。

  9. addEventListener绑定事件?参数不同的执行顺序.

  10. 正则匹配电话号码.exec,match,search用法?推荐一篇高质量正则文章

  11. 数据类型判断的方法,toString判断的来源?

  12. ES6 class原理?

  13. function rest参数长度?function.length如何判断与arguments对象长度区别?

 

js defer async顺序,模块依赖(AMD,CMD差别)

    defer:

    该属性使得浏览器能延迟脚本的执行,等文档完成解析完成后会按照他们在文档出现顺序再去下载解析。也就是说defer属性的<script>就类似于将<script>放在body的效果。

    async:

        该属性的作用是让脚本能异步加载,也就是说当浏览器遇到async属性的<script>时浏览器加载css一样是异步加载的。

 

数组查某个字符出现次数

 

 

人力面试

第几家面试    => 给HR一些压力

工作中得到了什么,失去了什么 => 独立解决问题的能力

KPI考核薪资如何发放

上家单位的部门

    行政,人力,开发,财务,销售

    上家单位的薪资:

    期望的是多少钱: 

  •     薪资构成:  基本工资 + 绩效奖金 + 各种补助 + 岗位工资

  •     社保基数:  按基本工资来交的

薪资差距要小一点

同事的评价

一份工作做多久比较合适 =>我是一个守旧,安稳的人

上家公司都有哪些福利?

    五险一金不要说

    加班福利,年终奖,下午茶,节日礼物,年假

    年假(除法定节假日之外的):根据公司工作的事件年限来规定,工作年限按工作总年限来算的(按照社保记录来算)

        1~5年:5天等等...

 

自我介绍:

好好想一下

1.如何表现出自己有工作经验:

    上家公司

    上家公司的项目细节

    上家公司的项目规模,部署

    上家公司的项目团队,个人角色定位.

        大公司的前端团队:几百人

        大公司的团队协作

        大公司做背调

        中小型公司:运营类公司

            1个前端配3个后端

        外包公司:

            包人:

            包项目:

    其他公司的工作经历

2.想离职的原因

3.不要太低调

4.控制在3分钟之内

5.主要说自己的成绩.主要牵头解决的大问题,自己做过的大项目,自己对项目的感触

不要罗列技术点,项目举例来展示知识点

公司不要说全名

 

 

 

 

面试技巧:

    阐述技术以讲故事来描述

 

 

Vue相关

    生命周期钩子

    说一说slot,props

 

其他:

    聊聊import 和export

    什么是错误优先的回调函数

    如何避免回调地狱

    什么是事件循环 Event Loop

    

    做react 项目遇到的问题

    如何看待前端开发

        前端开发其实和用户体验有关.程序员的定位

        工具,框架和库很多,如何选择?

            根据热度

            根据公司

            说说主流的框架的特点

    如何学习前端开发?

        在项目和工作过程中…

    react开发过什么组件?

    CSS的定位,述说定位的属性

        static

    如何将有定位的元素恢复到文档流中?

    如何解决fixed定位低版本不兼容问题.

        http://caibaojian.com/468.html

        抖动问题,在css写表达式:

        expression

    跨域解决方案:

        cors:

    移动端的跨域解决方案的选择

    TCP/UDP的区别

    HTTP状态码:

        100:继续,post发送header之后,服务器发送这个信息

        200:ok

        201:请求成功,服务器创建新的资源

        202:尚未处理

        301:请求页面移动位置

        302:临时性重定向

        303:临时性重定向,并使用get请求拿到数据

        304:没有改变页面,使用缓存

        400:url拼错,格式错误

        401:非授权

        403:禁止访问

        404:找不到

        500:服务器内部错误

        503:服务器暂时无法处理请求

        

    创建JS对象:

        object.create

        字面量

        ...

        

    继承JS对象:

    ES6和TS的类的实现和继承:

    ES7 async 和 await 

    JS实现时间戳,返回秒数

    如何使用nodejs做sha1的加密

    

    前后端是在几个项目中开发.

        前后端可以放到一个项目中来做,是一种很常见的部署方式.

            将nginx指向后端项目的目录下,只负责处理web请求

            前端文件夹只负责做自己的前端项目.

        后端会往index.html填写一些数据,用来减少web请求:

        1).或者使用script标签,在标签内填写数据

        2).或者使用input标签,type为hidden将表单元素隐藏起来.

    项目在本地开发环境如何调试?

    git仓库放在什么地方?gitlab

    css,js版本号如何保证在html中正确引入呢?

        版本号使用webpack来生成

        版本号也可以由后端来做

    通过什么web server对外提供服务?

    后端做web 安全,需要怎么做才能更安全,有哪些原则?

        占位符

        前端验证是防君子不防小人的,最主要的还是需要后端验证,

        敏感信息不要直接存在数据库中,要加密

    ajax的缺点

        速度慢

        不利于seo

    js中的gc:

        标记删除,引用计数

    微信开发

        做过的哪些项目放到微信里了

        其他客户端的版本

    怎么让测试人员看

    放服务器上,???

    开发小程序时,可以引入sass可以引入gulp,webpack??

    Node.js

        Node.js如何开发接口

            

        Node.js使用什么数据库,MongoDB,使用mongoose和mongodb

        Node.js拉取页面,使用http/https模块,使用第三方模块,cheerio

        Node.js模拟提交表单,使用

        Node.js使用socket,如何实现后端socket

            

        原文地址:http://www.jianshu.com/p/3416a0bf309c

        什么是错误优先的回调函数

        如何避免回调地狱?

            Promise

            第三方async

            ES7 async/await

        1).async/await —>ES7

        2).协程

        3).jQuery deferred

        4).Node.js后端使用async模块

        如何监听80端口?

        什么是事件循环?

        哪些工具可以用来保证代码一致性?

        Node.js中自动启动进程 :

 

            supervisor和nodemon模块实现这个功能

            在服务端用的较多的是pm2

 

        Node.js的Query String模块

        CommendJS规范的module.exports和exports的区别

    不能将exports直接赋予一个对象,因为exports是module。exports的引用,若直接赋予一个对象的话就会断链,不会再指向module.exports

        MySQL和MongoDB的区别

        如何获得前端传来的数据,get和post的区别:

        1.get方式是以query来获取的

        2.post方式则是以body来获取的

 

    activeClass是vue-router的那个组件的属性 => router-link

    vue如何定义动态路由:

        动态路由一般通过在路由声明的时候加入:来扩展路由

    vue-router的导航钩子

        全局钩子 :beforeEach():路由跳转之前进行拦截

        

    如何在webpack中配置sass编译功能

        安装sass-loader , node-sass , css-loader , style-loader

    说说sass的特性:

        定义变量,

        样式嵌套,

        mixin(混合宏)

        %占位符

    mint-ui的组件列举

    v-model:表单元素使用v-model

    axios的介绍,使用axios中遇到的坑:

        提交数据的格式问题

        axios的拦截器

    vuex的介绍,如何使用?

    说说mvvm与jQuery的区别

    说说vue双向数据绑定的原理

        采用观察者模式:

        给数据通过Object.defineProperty() => 存取描述符 添加getter,setter方法.

        对于数组的方法,使用变异方法

        Obersever ===> Watcher ===> compile

        MVVM整合

        vuecli做过哪些改造?添加过哪些功能?遇到过哪些问题?

            单文件组件的scss默认打包到js中

    

        React:

        原文地址:http://blog.csdn.net/sinat_17775997/article/details/69938720

 

        setState会触发什么?会发生什么流程?

        原文地址:http://blog.csdn.net/sysuzhyupeng/article/details/63250741

        React中element元素和component组件有什么区别?

        无状态组件,有状态组件:

            无状态组件也有生命周期钩子

        React的refs是什么?

        setState的第二个参数?

        第二个参数是一个回调函数,在setState的异步操作结束并且组件已经重新渲染的时候执行。也就是说,我们可以通过这个回调来拿到更新的state的值。 

        react 的 diff算法的两个假设?

 

        React速度快的原因,还有一个是它出色的Diff算法。标准的比较两棵树的Diff算法的时间复杂是 O(n3) 。而React基于非常符合实际场景的两个假设,就将Diff算法的时间复杂度降到了接近O(n)。这两个假设是:

  • 如果两个组件或元素类型不同,那么他们就是完全不同的树,不需要再比较他们的子节点。例如,<Article>和<Comment>将产生是两个完全的树状结构; <div>children</div><p>children</p>也是两个完全不同的树。这种情况下,组件会被完全重建,旧的DOM节点被销毁,组件经历componentWillUnmount() ,然后重新创建一棵新树, 组件经历 componentWillMount() 和 componentDidMount() 。

  • 可以为组件或元素设置key属性,key用来标识这个组件或元素。key不需要全局唯一,只需要在兄弟组件或兄弟元素间保证唯一性就可以。key常用到集合(List)元素中。

 

        要自己总结一套上线流程:

 

           看一下YKit发布流程=>jenkins自动化发布的工具

                                            =>开发机:联调项目时需要发布的机器.=>联调成功后,发布到beta环境中(beta环境和线上环境一模一样)=>测试成功后,发布线上时,做前后端版本号关联(做好版本号和文件的映射后(类似gulp-rev()生成的json映射文件),生成json文件,交给后端来给css/js加版本号)

                

            前端工程化

            版本控制

            发布到服务器

            分布式部署

            上线

 

说一说前后端模板

    前端:    mustche arttemplate ejs

    后端:    node.js => ejs

                java velocity

    使用后端模板的好处: seo 效率高,减少http请求,方便浏览器缓存,业务代码分离

 

如何用nodejs做中间层

    架构发展:前后端不分离 => 后端模板 => 前后端分离 => nodejs做中间层(用来生成静态页面)

 

    Angular:

    

    TypeScript是什么?

    实现父子组件传递参数使用什么属性?输入属性,输出属性?

    Angular数据双向绑定?[(ngModel)]

    中间人模式?

    ts不完全兼容ES6

    给元素绑定class或者style写法

    [class.xxx] = ‘true'

    [style.attr(.单位)]='xxx'

    [ngClass]/[ngStyle]

    Angular打包命令:

        npm run build

    引入全局的css在根目录下的.angular-cli.json中进行修改

    Angular重定向路由的配置:

        redirectTo:

        pathMatch:

    辅助路由的配置:可以定义多个辅助路由

        path:xxx

        component:xxx

        outlet:xxx(辅助路由插槽你的name名)

    子路由通过children来配置,默认路由通过在path中配置”**”

    service封装重用的的业务代码

    模块是功能的集合

    Angular可以自定义指令

    Angular自定义属性使用[attr.xxx]

    使用<router-outlet>来显示路由的内容

    动态路由传参,接受参数可以使用:

        this.router.snapshot.params.xx

        this.router.params.subscribe((query)=>{

            this.id=query.id

        })

    ts类的修饰符 public protected private

    Angular中的装饰器:

        @Component()

        @NgModule()

        @Injectable()

    interface和implement的区别

    Angular创建启动项目

        1.npm i @angular/cli -g

        2.ng new [项目名]

        3.ng g component xxx

        4.npm start/ng serve [-port ]        

    如何实现依赖注入?

        providers:[]引入service

    Observable和promise的区别:

           ?1.Observable可以穿多个值,而promise只能传一个值

           ? 2.Observable可以取消,而promise则不能取消.

            3.

    监听组件路由的url

            监听router.events.filter(event=>event instanceof NavigationEnd)

                .subscribe(

                    (event)=>{

                            console.log(event.url)

                    }

                )

    中间人模式.

    

    vue的1.x和2.x的区别

        生命周期的区别

    vue的生命周期钩子

    vue-router配置子路由,动态路由

    

    react获取路由参数

    redux的状态存储

    react的组件拆分.

    组件间传递DOM元素.

    ajax请求需要什么组件?axios/fetch

    react-redux UI组件和容器组件.

 

    伪类和伪元素?

    jquery怎么操作伪元素的?操作不了,进行覆写.

    animate,动画

    

    闭包的好处? 作用域,避免全局污染

    什么是原型链?

 

    react和vue交叉做过?

 

    react和vue的区别?

    react出问题去哪里寻求帮助?

    JSX的编写需要注意的点?

        引入React,是对createElement的语法糖

        组件名需要大写

        元素属性与关键字冲突时,会改变元素属性

        事件绑定的属性名用驼峰来书写

        插入js表达式需要{}

    diff算法?

    redux三大原则?

    原文地址:https://segmentfault.com/a/1190000008209999

    vue的兼容问题?有什么引起的? => defineProperty

    当vue在浏览器渲染不出来,页面一片空白,如何排查?

        浏览器对ES5,ES6语法支持不全,需要使用polyfill一下,使用脚手架的话,会自带polyfill

    v-for 和 v-if实现读取数组中的一部分

    解决最难的技术问题?

        我(最近的一个时间)在做(怎样的一个产品/程序),这个产品/程序的目的是(帮助用户完成什么事),其中有一个(什么模块),为了实现(什么功能),用到了(什么技术),但是(遇到了什么挑战/难点/bug),我通过(怎样的手段)定位问题所在,问题出现的原因是(简要的点到技术点的描述),我在(至少两个资料来源)上找到了参考,最后基于(怎样的决策标准)决定采用(何种解决方法),运用了(哪种技术),最后成功解决了问题/实现了功能,结果是这个产品/程序(对用户,系统,性能,可用性,资源等产生了何种正面的影响)。下一步,我认为我应该研究(何种更先进的方式),进一步(怎样让产品/程序做得更好)。

 

    react-saga

    dva脚手架

    react生命周期

    vue生命周期

    reducer的作用?reducer是纯函数?什么是纯函数?

        固定输入对应固定输出.

    

    connect的参数?

    原文地址:http://blog.csdn.net/u010977147/article/details/53412381

    connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])

connect() 接收四个参数,它们分别是 mapStateToProps , mapDispatchToProps, mergeProps 和 options 。

    react用到了es6的哪些特性?

    Promise?

    webpack哪些配置项?入口,模块,插件,出口.

    深拷贝?浅拷贝?对象深拷贝如何实现?=>递归

    深拷贝的使用场景.

    redux中store只读,需要使用reducer深拷贝生成快照.

    闭包,解决的问题.

 

    答题系统如何提交?是全部提交还是单个题提交?

    若是页面或者app刷新或闪退怎么处理?保存现场?

    

    SSO单点登录

    都用了vue的哪些技术?

    vue的坑呢?

        keep-alive

        mint-ui中的scroll组件在没有数据时会滚动失效.

    vue如何知道v-for的渲染完成的准确时间点?

        this.nextTick

    keep-alive的缺点 =>消耗内存

    vue的性能优化

 

    redux中的reducer的要求? => 不能写随机数,不能写时间戳,不能做io请求,ajax请求不能写.

 

    componenntWillUnmount方法中一般写什么操作?移除组件,清除setTimeout等.

 

    vuex mutations中不能写异步操作.

 

    react的cli create-react-app今年才添加到官方文档中.面试时注意这一点.

 

    如何检测浏览器IE8以下? IE8不支持Navigation.userAgent.

<!--[if lte IE 6]>

<![endif]-->

IE6及其以下版本可见

 

<!--[if lte IE 7]>

<![endif]-->

IE7及其以下版本可见

 

<!--[if IE 6]>

<![endif]-->

只有IE6版本可见

 

<![if !IE]>

<![endif]>

除了IE以外的版本

 

<!--[if lt IE 8]>

<![endif]-->

IE8以下的版本可见

 

<!--[if gte IE 7]>

<![endif]-->

IE7及大于IE7的版本可见

    代码重构是直接重写,还是在原来的基础上进行修改?

    以前的项目哪些功能使用的面向对象? => 轮播图,放大镜

    AJAX基于哪个原生对象进行封装?=>XMLHttpRequest

        IE6使用=>

xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');

    

    Vue组件的构成?=> template,script,style.

    Vue如何配置实现支持Sass. => vue没有安装sass模块,需要安装node-sass,sass-loader

    

    计算属性和方法的区别?性能差距?

    vue的filter如何使用? Actions —(commit)—> Mutations —(mutate)—>state —(render)—> component —(dispatch)—>

    vuex的组成部分?

    跨域解决方案?

    vue的反向代理在哪里配置?config/index.js的proxyTable中配置.

 

    jQuery源码?

        如何取得display:none的元素的宽高?=>visibility:hidden,position:absolute移除屏幕,获取之后在还原样式.

    

    做项目是产品经理还是项目经理沟通?

    技术问题找谁来咨询?前端组长

    

    移动端屏幕适配?响应式布局的方案? => 等比缩放布局,百分比布局.

    rem和em的区别.

    弹性盒布局的子元素要求?

        设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

    弹性盒布局的兼容问题?如何解决?=>polyfill

    UI的人数?设计稿的尺寸大小?

        有可能的设计稿大小:

            iPhone 6 : 2 * 375 => 750 : 最常见的设计稿尺寸

            iPhone 6p : 3 * 414 => 1242

        viewport:设置设备的默认宽度和缩放比=>绝大多数的安卓机型viewport只支持1,不是1也认为是1.

    react工作中用的版本?

    redux分几层?

    createStore()方法的参数?(reducer,Store,applyMiddleware())

    用过哪些中间件?redux-thunk => redux异步处理

        redux中间件是什么?=>dispatch和reducer的中间处理模块.

        redux-thunk :可以让dispatch中放入function

        redux-promise:可以让dispatch放入promise

        redux-logger:打印state的前后状态.

    vue配置动态路由?如何获取?=>this.$route.params

    vuex有哪些部分组成?

    v-for如何取下标?

    ES6用过哪些新特性?

    箭头函数与普通函数的区别? => 绑定this

        function的this指向调用对象

        箭头函数的this指向不变,指向声明时的环境.

    箭头函数的使用限制:

        不能作为构造函数,不能通过call,apply,bind来修正指针.

        

    redux底层是怎么实现的?

 

    vue1.x与vue2.x的区别

    虚拟DOM是什么?具体实现

    vue如何编写自定义指令?

        原文地址:https://www.cnblogs.com/zhanghuiyun/p/6223179.html

    用过哪些第三方插件?vue-router是插件

    mint-ui使用过哪些组件?

    vue-cli模板选择,webpack

    如何抽离scss?

    post-css用过吗?

    css常见的前缀:

        -webkit-

        -moz-

        -ms-

        -o-

    css3的新属性都有哪些?

        动画,transform,shadow,box-sizing

        box-shadow和drop-shadow的区别

        文字阴影:text-shadow

    html5新特性:

        语义化标签

        websocket

        地理位置

        表单2.0

        audio,video

        storage

    localStorage和cookie的区别?

        存在时长

        容量大小

    localstorage和sessionStorage的区别?

    同源策略?

    跨域解决方案:

        jsonp

        websocket

        cors

        window.name

        服务器反向代理

    都配置过哪些的反向代理:

        nginx:=>nginx.conf 

                location: /api {

                proxy_pass

        }

 

    redux是什么?

    reducer的作用?

    payload的作用=>用来传递参数,

    常见的数据类型?

    如何判别数组和对象?

    如何判别继承关系? => Object.isPrototypeOf

    如何将属性设为只读? =>Object.definePrototype

    react-router 3.0和4.0的区别? => 升级文档 migrating

 

        生命周期钩子函数

        分离browserRouter和hashRouter

        添加了switch

 

    react的16.2的新特性? => 组件如何继承?

    vuex分为哪几层? component —(dispatch)—> Action(async) —(commit)—>Mutations —(mutate)—>State —(render)—>component

    单项数据流是什么?

    按照什么原则来拆分组件?

    没有表示层的东西是拆成组件还是插件,还是指令?

    自己写过哪些公用的组件?

    如何往组件传参? =>在子组件中定义props数组,用来获取props参数.

    v-for和v-if混用吗?

    v-if可以写function吗?

    计算属性?

    call和apply和bind的区别?apply的值可以传数组

    bind()能传参数?

 

thisArg

当绑定函数被调用时,该参数会作为原函数运行时的 this 指向。当使用new 操作符调用绑定函数时,该参数无效。

arg1, arg2, ...

当绑定函数被调用时,这些参数将置于实参之前传递给被绑定的方法。

 

    es6里面最难的知识点是?

    react技术栈

    setState() 传参

        对象

        方法

    setState()之后触发哪些生命周期?

    阻止render的生命周期函数 => shouldComponentUpdate

    最常用的生命周期函数 => componentDidMount

    AJAX跨域请求:

        反向代理

    反向代理的实现原理. =>通过node.js的http模块来进行转发的.

    小程序如何开发?能使用ES6?能使用div嘛?

    小程序可以用jQuery吗?

    小程序的ajax的接口是什么?wx.request()?有跨域问题?

 

    在vue中的data中,新增加一个变量,必须初始化变量.

 

    1,vuex,存的东西,一刷新就没了

        存在本地

    2,react生命周期最常用

        componentDidMount

    3,什么事jsx语法语法规则

        

    4,redux使用过程reducer

 

    5,    react-radux connect(方法),三个参数

    6,ab组件无关,a查询,b显示.其他替代方法你做项目里做过这种需求吗

    7,kep-alive.让组件保持住,不销毁   => 存到内存中  

          react有没有这种 => keep-alive的思路就是保证组件的状态不被销毁.所以react的实现思路就是,将组件状态state存到redux中,让组件变成无状态组件.

    8,react路由。从列表页到详情页,再跳回来,仍然恢复到调转前的

        react-router-dom : scroll-restoration

        离开的时候存到sessionStorage.回来的时候从sessionStorage中获取.

        在componentDidUpdate()钩子函数中进行sessionStorage的获取.

    9,css3做抛物线运动效果—transition + 贝塞尔曲线运动,

        动画的兼容性问题

        JQ可以做颜色渐变的方法吗

        动画的库—animation.css 

        js动画库—>tween.js,velocity.js    color.js —> 将颜色转化成rgb           

    10,项目中的兼容性问题

 

        1).移动端的body的overflow:hidden不生效 =>解决办法,找出超出范围的元素,单独解决

        2).animation-play-state:paused;动画停止属性,在ios上不生效.=>解决办法:直接将animation:none->直接恢复到初始状态

        3).rotateX,rotateY旋转,ios8以后上有可能发生旋转过程中元素完全消失.=>perspective:(调整视距):3000px(加上很大的视距)

        4).uc旧版本浏览器不支持弹性盒,有些华为浏览器也不支持 => header和navbar和主内容区的布局的替代方案:内容区域100%(加padding),header和navbar进行定位.

        5).某些机型不支持rem.=>单独适配不支持rem的机型,使用js判断机型,引入专门的css

        6).安卓机型上动态追加的button的文字葱香没有居中,而写死的button文字纵向居中了,两者的css完全一致.=>原因:rem的计算值有可能是小数,导致浏览器解析的时候产生一像素的偏差.

        =>解决方案:使用px设定line-height.

        7).font-size推荐使用px.使用rem会有可能导致文字突然变大.

ie6:

        8).图片三像素问题:img标签在HTML5和HTML4.0.1的严格模式渲染的时候,下面会有几像素的空白。

        =>解决方法有很多

            1.img标签增加vertical-align:top

            2.img标签的父标签增加font-size:0;

             3.img标签添加:display:block

             4.overflow:hidden

        9).多个inline-block的div,一部分有内容,一部分没内容,有内容的会进行下沉:

            =>原因:bfc的问题

            =>解决办法就是触发bfc即可

    

    11,    公司测试时测过哪些机型 

        iPhone:

        iPhone 5以后都得测试一下,iPhone 6 —iPhone X(iPhone 8p).

        适配的iPhoneX的使用媒体查询,dpr

        ios的版本问题也会引起兼容性问题

        =>两台完全相同的机型---------------------也会出现不同的Bug,

            有可能是闪存问题,这种bug的优先级是最低的.

        安卓机:

        华为:p系列,meta系列=>特别坑

        oppo,vive:

        小米:近两代机型进行适配

 

    后台系统页面的构建? bootstrap + jQuery

    bootstrap页面搭建?是够使用模板?

    什么是面向对象? => 特点?

    实际项目中哪些模块或者功能封装对象?

        banner,modal框,弹层

    什么是继承?js的继承该怎么做?

    什么是原型链?

        原型链?__proto__

        继承方式?

        原型链继承,

        借用构造函数

        组合继承

    什么是闭包?

    闭包的好处?

        块级作用域,防止全局污染

        在对象中创建私有变量

    对es6的理解?

    什么是es6的类?

        js中的类就是变量和函数的无序集合

    Promise?什么是Promise?如何使用Promise?

    fetch与xhr相比有哪些好处?

        fetch更简洁

        xhr兼容性更好

    新特性兼容性如何查看

        兼容性查看的网站

        https://caniuse.com/

    js最权威的网站

        MDN

    问题咨询网站:

        StackOverflow

        掘金

        简书

        知乎

        segmentfault

    什么是DOM,什么是BOM?

    原生JS中的高级知识点

    什么是变量提升?好处和缺点?

        执行上下文

    let的加入是提升还是退步呢?ß

    redux有点重,怎么自己编写一个状态管理

        Provider保持store,是加载到context中去了.

    antd的栅格系统?

    为什么bootstrap是12栅格系统呢?

    vue中自定义指令如何编写?

        全局指令:Vue.directive(name,{})

        ,局部指令:directives:{

           name:{

                runtime:function(){

 

                }

            }

        }

    vue中的自定义插件的编写?

    vue中的动画如何做?

    如何判断用户登录状态?

        http协议要求cookie自动上传

        种session.然后发送ajax

        存储token(后台生成字串+useragent+时间戳再加密,存入数据库,会再加上存在时长)

        存在storage中天生存在兼容性问题.

            兼容性问题主要兼容到核心业务能运行就可以

    兼容问题:

        优雅降级

        渐进增强

  用过postcss嘛=>加兼容前缀的

 

 

电商平台的支付接口,怎么做?

    从后端获取必要数据,然后调用js接口就ok了.

    重点就是后端算签名,前端获取签名调用接口就可以了.主要的工作都在后端.

需要兼容IE8嘛?

轮播图和放大镜

    如何编写放大镜?

    鼠标进入的事件用的什么?

        mouseenter

阻止冒泡?IE里面如何阻止冒泡?

        ie:cancelbubble

        其他:event.stopPropagation();

阻止默认事件?

        ie:方法里直接return false

        其他:preventDefault

默认事件都有哪些?

什么是bfc?

解决过的比较复杂的布局问题?

有什么布局方式只能使用弹性盒布局?

    响应式布局?

前端遇到过哪些兼容性问题?

 

vue变量赋值后,获取准确刷新后的时间点

keep-alive:

    组件没有销毁,如何监听keep-alive的组件的出现和消失?

    keep-alive的声明周期钩子?

        activated

        deactivated

vue-router:如何监听路由的跳转?

    路由守卫

如何使路由守卫阻止路由跳转?

    next(false)

什么场景使用路由守卫?

vue里面有专门的监控滚动条的方法?

 

vue的组件库有哪些?

用过的vue的插件有哪些?

在vuex中如何调用action

state的数据有什么要求?

Getters的作用有什么?

如何学习新技术?

vue中如何获取DOM元素节点?

    使用refs,仿照react

如何进行移动端真机调试?

移动端调试:

(1)模拟手机调试chrome://inspect

(2)真机调试之android手机+Chrome

(3)真机调试之iphone + safari

(4)UC浏览器

(5)微信内置浏览器调试

(6)debuggap

(7)抓包

详细参考: https://segmentfault.com/a/1190000005964730

 

 

购物车添加商品流程:

判断用户的登录:

    sessionid:判断session过期:后端请求若session过期,会通知前台-

前后端通讯的跨域解决:

CORS,跨域资源共享:

一个项目中可以加入多个框架?

react-router:

    Route中的属性onEnter,onLeave;

        onEnter(nextState, replace, callback?)

    onChange(prevState, nextState, replace, callback?)

    onLeave(prevState)

    在组件中的this.props.routers.setRouteLeaveHook()等来做leave的指定钩子 =>确认导航:

    

    componentDidMount() {

          this.props.router.setRouteLeaveHook(this.props.route, this.routerWillLeave)

        },

?react-router中的路由如何做全局守卫:

    ?配合withRouter和setRouteLeaveHook来使用

const Home = withRouter(

  React.createClass({

    componentDidMount() {

      this.props.router.setRouteLeaveHook(

        this.props.route,

        this.routerWillLeave

      )

    },

 

    routerWillLeave(nextLocation) {

     // 返回 false 会继续停留当前页面,

     // 否则,返回一个字符串,会显示给用户,让其自己决定

      if (!this.state.isSaved)

        return '确认要离开?';

    },

  })

)

拦截路由跳转:

    prompt(react-router-dom)

react-router的动态路由传参:

    不支持

    动态路由传参校验:

        vue-router中可以进行

   

        react-router动态路由传参正则校验?

正则

react的生命周期:

shouldComponentUpdate()拦截渲染:方法内一般编写什么样的逻辑来判断是否进行页面渲染.

一般把什么操作放在componentWillUnmount

 

组件嵌套组件如何取得子组件:

    this.props.children

 

react.createElement()方法的三个参数.

react-router做编程式跳转:

    两种模式都兼容

Link和NavLink的区别

    activeClassName属性

Store用来做什么

redux的三大原则

    单一真相原则

    状态只读性

    更新state只能通过纯函数

combineReducers函数

    合并reducers

有状态组件和无状态组件的区别

    无状态组件可以使用ref属性吗?

connect的参数

call,bind,apply 的区别

react-router详解:https://zhuanlan.zhihu.com/p/20381597

近三年的职业规划

 

 

 

 

jQuery高级知识点

jQuery插件如何写?

    $.fn.extend

jQuery的过滤器?

Vue过滤器如何编写?

Vue的 | 代表什么?

    管道符

Vue中过滤器如何使用?

Vue动态路由传参?如何接受参数?

get传参有最大长度要求?

    原文地址:http://www.jianshu.com/p/512389822f8b

post传参的最大长度要求?

图表库=>echarts

    echarts有vue的版本吗?

react的setState的底层原理?

如何提高react的效率?

shouldComponentUpdate的形参都有什么?

如何判断两个state是否相等?

    deepequal => 对象比较

    Underscore.isEqual

redux为什么必须要求state只读?

直接操作Store的state会发生什么?

除了redux,还有做状态管理的框架?

什么数据状态放到redux中?

项目中哪些用到了redux?

加入购物车的时候,把哪些值传入后端?

传递用户ID加密?

已知的加密算法?

    md5

    hash=>做指纹,安全校验

    SHA1

    rsa

32位md5加密 

    =>字符串超过32位,加密完会导致重复怎么做?

        数据库比较,若重复,再加随机串加密

    最怕业务id重复.

react组件是否继承?

    可以直接使用继承的方法嘛?

        可以

箭头函数的特点?

    this绑定

    不能当做构造函数

    不能改变this指向

什么是Promise?

Promise什么时候进入catch方法中?

catch 方法是 then(onFulfilled, onRejected) 方法当中 onRejected 函数的一个简单的写法,也就是说可以写成 then(fn).catch(fn),相当于 then(fn).then(null, fn)。使用 catch 的写法比一般的写法更加清晰明确。

 

jQuery的ajax什么时候会进入error中?

    请求失败时调用此函数。有

     function(jqXHR jqXHR, String textStatus, String errorThrown)

    报500错会进入error属性吗?

1、网络中断 

2、服务器的响应状态码 不是  xhr.status >= 200 && xhr.status < 300  或 xhr.status === 304   或  xhr.status === 1223  

    如500错误  404错误 

 

解决过最难的技术问题?

    遇到的问题:浏览器兼容性问题、页面响应性能问题、内存溢出问题……

    解决:看书、上网查资料、请教同事……

解决过的兼容性问题:

    pc端的flxed.

css3开启硬件加速:

    transform:translate3d(0,0,0)/translateZ

http和https的区别

    所有的隐私类调用都需要https才能启用.(除了localhosy之外)

    隐私类API:

        地理位置:navigator.geolocation.getCurrentLocation

        摄像头:navigator.getUserMedia

    webrtc协议

 

 

 

Nodejs + express数据库选型:

    mysql

    mongodb

什么样的数据会存到mongodb中?

    关系连接若的Model可以使用mongodb

购物车的表会存哪些信息?

 

Node.js异步请求同步化的模块

    async

    async/await

express用什么插件处理session

    使用cookie-session插件

    app.use(cookieSession({

        name:’session’,

        serect:’xxxx’,

        maxAge:xxx

    }))

怎么根据sessionID来获取session,是自动完成的?还是手动操作?

前后端分离的优势和缺点?

    优点:

        降低耦合度,

        方便架设集群,

        前端纯静态,可以方便CDN部署加速.

    缺点:

        内容动态获取,不利于SEO

做前后端分离的时候注意点?

    引用静态文件要编写为绝对路径

前后端不分离的架构?

    静态页面是前端来写,但是模板不一定谁来改造.

    上线后的项目进行改版,模板一定是前端来进行改造

    使用前端框架的项目一定是前后端分离的

如何在webpack执行不同的环境命令使打包的url地址不相同?

    使用webpack的DefinePlugin功能:

    ajax请求的路径编写规则:

改过webpack吗?

    代理

    react添加sass解析

用过哪些loader

    style-loader

    css-loader

    scss-loader

    file-loader

    url-loader

url-loader用来做什么?

    打包静态文件,在静态文件小于规定值,将其打包到js中

react的JSX语法相比Vue的模板语法来说,有什么好处或者缺陷?

JSX 为什么有一些的html属性要名为别名?

    js的语法占用了一些关键字

为什么组件标签大写?

    react.createElement()方法会将小写标签识别为内置组件,将大写的标签识别为自定义的组件.

H5新加了哪些标签?

article和p标签有哪些区别?

    article一般需要和h标签配合使用

    p标签中不能嵌套块元素.

    H5的新添加的表单元素:

        1).用于做校验,但是用的很少

        2).主要是用来切换对应的键盘和空间.

        date会调用出时间控件.

如何判别自己写的网页符合H5标准?

    w3c的validator检测

type=“text/javascript” => 兼容老版本的IE

怎么做网页自查?

 

JS异步处理:

    callback

    Promise

    Generator

    √ async/await + Promise

    jQuery=>deferred

T+0,T+1 => T代表交易日

            理财 T+2,T+3

            股票 T+1

理财类公司对图表技术要求比较高

reducer要求纯函数,但是不是纯函数的话影响不大.

vue计算属性必须要求是纯函数:

    计算缓存要求计算属性必须要求为纯函数.否则会导致计算缓存不生效.

redux-devtools: =>可以进行状态回滚,状态监视中间件

    官方文档提供封装好的DevTools.js

    按照中间件的加载方法加入DevTools

    compose是redux中的方法中的

    在使用路由的话,devtools貌似会失效.

 

 

 

 

 

 

1,公司总共多少人

2,怎么跟原生配合    链接发给他    前后端分离放服务器上

3,业务了解。    哪个项目算是有技术含量的    差不多的页面

4,pc端改了几个功能

5,vue的后台管理系统    小项目    路由    大概多少个模块 、20个    打包文件特别大,怎么缩减            异步加载。路由懒加载            js代码来实现还是webpack来实现??    子路由。children,属性里可以配路由传参吗        $router.params

6,vuex干什么的    可以路由跳转传参    避免不同的人,不同的key值    ????

7,ES6的枚举型吗    ??       generator  //让出函数控制权状态生成机,*,.next()  ,???    assign   ??    js想做同步,只能嵌套。    ???不如什么什么,暂停性能问题        next里能传参数        saga里,一般自己写很少用generator        saga哪几部分组成        redux相比,谁更好。异步方案    callback 、、    promise链式调用    js想做同步,只能嵌套。

8,项目里怎么用redux

9,react,全局状态管理    flux,与redux的区别     Mobx

10,reducer,return的时候写了随机数会出现什么问题    不纯会怎么样,没什么影响,就要一个返回值    vue的计算属性,里面的纯函数,必须要纯,会导致计算属性不生效

11,redux,subscribe    回调???

12,react-redux    connect方法里实现了哪些东西    四个参数    监视redux里状态的改变        logger        devtools    /[表情]??回滚        13,最近三年职业规划t+0,t+1项目业务必须非常了解    海淘什么东西比较火之类的。理财公司对图表类要求比较高

 

 

 

 

webpack配置的什么功能?

    生产环境

    开发环境

webpack使用过哪些loader?

react的setState放置哪些参数?

    对象,方法

    方法

setState放函数和放对象参数有什么区别?

react如何测试性能?如何确认渲染效率是否高效?

    chrome的timeline和rendering

    chrome的断点:

        DOM操作的相关的断点:

推荐文章:

    chrome的断点调试技巧

 

 

redux中的getState方法设计的理由?

    保护变量

保护对象可写,如何编写?

    闭包

    Object.defineProperty()

避免变量不被修改?

    Object.freeze()

Symbol的含义?=>基本数据类型的第七种

    创建独一无二的属性值

 

React,Vue的props的类型校验:

ES6比较有用的知识点?

    解构赋值

    增强对象字面量

    class

    Generator

MVC什么是MVC?

什么是MVVM?

react实现双向绑定?

    受控组件

react中的ref属性:表单元素的ref属性写同一个属性值,然后使用如何this.refs.attr来获取所有的表单元素  

    官方文档的实现如下:

 

react和vue相比的缺点:

虚拟DOM是什么?

虚拟DOM和真实DOM的状态更新是自动执行还是手动?

什么是原型链?

什么东西放到构造函数内?什么放到原型对象上

如何用ES5实现继承?

    

css遇到过哪些兼容性问题?

    inline-block

常见的浏览器前缀?

移动端滚动条取消,能滚动,但不出现滚动条?

    ::-webkit-scrollbar{

        display:none;    

    }

去除标签的默认样式:

    -webkit-appearance:none=>不是标准属性,会存在前缀

css3的伪类有哪些?

你为啥能值xxxk呢?

    整个小组的技术问题都是我解决的

    或者我在以前公司是小组长

   

当页面切换一刷新就没了,可以使用fiddler等抓包工具进行连接的抓取.

 

饿了么网页中的连接的ubt-click=“id”

这是埋点:

    发送请求,方便数据统计.

    用于后期运营和改版.

如何埋点:

    在需要埋点的组件上添加自定义属性,里面放上唯一的值(根据后端提供的一张表),当用户点击的时候发送ajax

    有时候不通过ajax来发送id,而是通过img的src属性,图片的src不存在跨域的问题:

 

 

移动端拿到的设计稿为多大尺寸呢?

rem布局,750分成几个rem

    vw => 宽度为100vw 

                在iPhone5(320*568)尺寸下,100px = 31.25vw

                将HTML的font-size设为31.25vw,然后使用rem单位实现等        比缩放

sass如何计算像素?

屏幕适配的方案,等比缩放布局

viewport是什么?

安卓机的viewport有什么问题?

安卓机做1像素线?

    伪元素缩放

滚动条伪元素?

    -webkit-scrollbar

伪类和伪元素的区别?

怎么启动硬件加速?

ES6常用的有哪些知识点?

const有什么要求吗?

    常量,不可被改变

    object中的属性能被改变

    不能重复声明

    没有变量提升

const的块级作用域有什么作用?

IIFE是什么?有什么作用?

    产生局部作用域

    与常用的函数有什么区别

项目中使用使用过闭包嘛?哪些部分使用过闭包?闭包的作用?

闭包有什么缺点?

    内存泄漏

react组件和组件之间如何通讯?

reducer有什么作用?

redux的编程注意点?

jsx的注意点?

埋点的作用?

    运维的作用?=>让公司的软硬件维护

如何使用埋点?

HTML5的data-*属性如何用js获取?

    dataset.*

如何防止请求被缓存?

    请求的时候加入时间戳

 

 

 

HTML5的离线缓存?

    实战中离线缓存实用的很少?

    修改manifest后,页面也不会进行刷新,这是由于各家的浏览器底层实现的不一样

离线缓存技术的作用?

其他的HTML5的新特性

canvas的上下文getContext方法的参数?

    =>2d

    不写的话,默认2d?

canvas的动画?

如何清除canvas画布?

canvas如何清除圆形?

    画个圆形范围

    在使用clip选择圆圈

    然后使用clearRect清除圆形.

    也可以使用定义一个圆,使用globalCompositeOperation('destination-out')进行重复区域处理

canvas做过刮奖?如何计算被清除的像素?

    getImageData取得canvas所有像素点,每个像素点有四个数值组成rgba,获取a为0的点为刮掉的点.

vue的1.x的生命周期?

    去年用了的都是1.x

    0.7 -1.x -2.x

vue的2.x的声明周期?

    keep-alive的声明周期对应哪些声明周期

vue-router的配置子路由?

    children

vuex中的在Action中能直接修改state中的值嘛?

    能

这样设计的原理?

做过哪些性能优化使得react的性能提升?

    生命周期

    redux的数据存储量

    数据缓存=>当数据库中的数据发生更新,缓存的数据怎么进行更新

    更倾向于数据的实时性,所以很少使用数据缓存,应该防止数据被缓存.

前端的使用什么websocket?=>socket.io,后端必须使用socket.io

    整个实战当中,socket使用的比较少?除了客服系统或者实时沟通系统的话会使用socket.

    混合app中的推送也不是使用websocket实现,而是使用原生推送插件.

    socket通信协议的频道管理功能实现起来会很复杂.一般是使用现成的客服系统

websocket有什么跨域问题?

 

前端团队的新技术的学习的讲解是由你来负责嘛?

编写过技术文档嘛?

前后端的接口文档是你来负责嘛?

公司的UI多少位,是怎么进行分配的.

Vue的ui库

    element-ui->PC端

如何引入element-ui?

    按需引入

发布打包的时候是全部打进去还是按需加载?

vue打包后非常大,加载的时候很慢.怎么提升性能?

    清理未使用的第三方组件

    externals,将第三方的排除出去

vue中的自定义指令

    Vue.directive

    指令的声明周期

vue的指令修饰符

    .stop

    .prrevent

    .once

    .capture

    .self

vue的双向绑定v-model可以加入哪些的表单修饰符?

    .lazy

    .number

    .trim

计算属性?

计算属性和watch对比有什么区别?

    methods:事件监听,插值表达式的返回值.

    computed:插值表达式的返回新值,不能用于事件监听,用于组合Vue的其他值.能监视多个变量.

    watch:监听某些值的变化,进而进行相应的更新.只能监视一个state

this.$nextTick用于DOM更新后调用

Vue中哪些知识点比较难?

数组的变异方法:

    根据数组下标修改值的话,Vue检测不到数组的变化,得需要官方提供的vue.set方法.

react的遇到的哪些问题

 

 

 

维护用户登录状态

移动端的兼容到手机的哪个版本

js的同步和异步

js如何实现倒三角

mongodb的使用场景?

    经常需要表关联=>关系型数据库

    购物信息的查询日志,搜索历史,商品收藏

    非关系型负责管理大数据

闭包是什么?在什么场景下用?

跨域问题

    nginx反向代理

    前后端分离的时候,nginx的配置是来前端来配置

    前后端没分离,也就是说前端写的模板=>后端工程,后端负责上线

vue的双向绑定如何实现的.

vue的数组检测

ES6的proxy

http请求不发送cookie

    只能通过浏览器设置cookie

    性能优化=>尽量少的上传cookie,cookie清除不需要的后再上传

    cookie被禁掉,如何保存登录状态.

        服务器会检测到cookie禁止,将标识段嵌到网页的隐藏域(input hidden)

        还可以使用token,还可以跨域调用,token是后端生成的.

axios遇到的那些坑?

    response返回包了一层

iframe进行跨域?

    iframe的src是要跨域的网址,iframe中能执行跨域网址的js,再使用window.top将执行权交给父窗口

vue的手脚架进行修改?

Promise链式调用为什么返回新的Promise

浏览器的渲染过程?

回流和重绘

如何减少回流和重绘?

jQuery的once方法=>没有

    one方法触发一次解绑:

    这个方法的第一种形式(注:.one( events [, data ], handler(eventObject) 这种形式))用法和.bind()相同,但.one()的处理函数第一次调用后绑定的事件就被解除了。

 

为什么年前离职?

公司的考核制度是什么?

 

 

redux的缺点?是否存在全局变量的问题

项目如何上线

react的setState原理?

    任务队列

    事务

    batchUpdate

图片懒加载如何做?

什么是执行下上文?

有状态组件与无状态组件的区别?

antd的坑?

    scroll组件的dataSource

zepto

click延迟时间

    touch比click快300ms

tap点透,移动端产生的bug

    弹出层,两层(防止点透),拦截

    点透触发是看机型和浏览器,看实际表现来进行处理,没发现就不用处理.

镀金理论:发生前防止已知BUG发生

    

react的ES5

js的事件循环event loop

    队列轮询

前端web安全

    XSS

上传文件功能的实现

    axios new一个FormData

js变量类型判断

    typeof

    instanceof

    toString,call()

    isArray

toString()方法判断类型的原理

浏览器的并发操作数量是多少?

    跟HTTP的协议版本号,浏览器有关.

 

$.extend()和$.fn.extend()

jQuery的ajax的参数

后台管理系统,管理员一次添加50条数据,怎么做?

    导入excel

原生DOM,插入元素

    http://blog.csdn.net/hj7jay/article/details/53389522

    appendChild

    在子DOM元素最后插入DOM元素.

异步解决方案

async/await

原生js实现防大镜

overload和overwrite

    http://blog.csdn.net/liuweishikong/article/details/8257706

vue.nexttick的作用?

mapState,mapGetter为什么写在computed中?

为什么mutations中必须做同步操作?

    这是规则,可以不做同步操作.

    可以直接在外部修改store的state

    原文地址

        :http://geek.csdn.net/news/detail/196495?locationNum=12&fps=1

使用过vuex中的调试工具嘛?

mutations方法异步的话调试工具可以被检测到吗?

set的实现?

vue的自定义指令?

项目做单元测试吗?

    单元测试:

        黑盒测试

        白盒测试 => 代码测代码,好处:代码修改后,做回归测试会很方便

            mocha + karma

        互联网做的单元测试会很麻烦,开发很繁琐,一般不会做

        一些银行,证券系统都要做单元测试,一般的商城都不怎么做单元测试

        已上线的系统修改BUG要判断影响范围,java能查到,但是js查不到

        修改bug要判断影响范围,有些bug不能改

        

vue的双向绑定的实现原理?

pc端的性能优化和SEO优化

    首页首屏静态,下面的内容使用异步加载

解决过最难的技术问题

 

MVC的理解

ajax的缺点

js中的本地对象,内置对象,宿主对象

百度移动端页面秒开

浏览器输入url的过程

编码规范

SSE(服务器发送事件)

webpack的.babelrc文件=>windows下创建下有问题

用过什么样的loader和plugin

post-css是什么?

    后处理器,平台

webpack和gulp的区别?

面向对象是什么?

js中的类和继承?

前端路由和后端路由的区别

    前端路由:浏览器解析,加载对应的DOM

    后端路由:进行拦截,不同的url会转发到对应方法,进行业务处理

前端路由的实现原理

    hash

    history:会往后台发送请求

vuex的原理

上海特色小吃

上海租房子 => 3000+

你为什么值这个价钱

    我是前端团队能力最强的

    我可以带人

    我们团队生产效率高.

 

react的路由升级 3->4

    没有history设置属性,

    3.x没有单独的路由配置文件

    4.x是将路由分散到各个组件中去了.在哪里用就在哪里配置

        =>编程阶段快速,但是维护阶段比较难维护

react的路由差异

js的浅拷贝和深拷贝

    JSON.stringify JSON.parse

对象的比较(deepequal):

    最low的办法就是使用循环递归

    可以使用第三方组件或者库来实现

    也可以转成JSON格式比较字符串.

history的新增的API

swiper的实例创建时机

nextTick的底层实现原理.

    updated的一个语法糖,是同一个钩子

 

盒模型

    标准盒模型

    IE的怪异盒模型

button的元素是content-box还是border-box

vuex

ES6新增的属性

module.exports和exports的区别

JS的垃圾回收机制

    引用计数

    标记清除

    复制算法

vue的按键修饰符:

script的async,defer

    不阻止DOM加载.

React的高阶组件(Hoc)

    connect方法

    最常见的高阶组件其实就是connect,它将UI组件包装成容器组件。高阶组件应用的目的就是为了把展示和逻辑分开,这样不同的展示组件(UI组件)如果在逻辑上与其他组件有很大的重合就可以用对应的高阶组件把它包装成一个新的容器组件,这样就复用了原来的逻辑。

清浮动的原理:

    一个盒子跟着float的元素走,从而撑开父盒子

没有清除定位:

    因为绝对定位有z-index,不能确定那个盒子是最下面的一个盒子,从而无法判断出怎么撑开父盒子

 

 

webpack引入jq

什么是面向对象?

什么是this?

用过vue的高阶知识?

    觉得写过哪些的组件写的好

觉得自己的技术怎么样?

vue-router的router-link在安卓机失效的问题?

    es6出错,polyfill

    historyAPI没有跑起来,改成hash模式.

使用框架,页面纯白,没有显示?

    底层的API出现问题.可能是polyfill的问题

    使用真机调试来检测错误.

swiper的插件

音乐播放器的实现?原生实现?

    音乐快进的监听?

开发出现bug怎么处理?

项目的上线流程

文本过长省略号实现

什么是同源策略?

    同域名,同端口,同协议

跨域的方法?

    cors的配置

    jsonp

    websocket

    window.name

    iframe

    postMessage

web的本地存储

说说你对AMD和commonJS规范的理解

webpack的commmonJS的规范

    模块之间的循环引用不会报错

    当使用require命令加载同一个模块时,不会再执行该模块,而是取到缓存之中的值。也就是说,commonjs模块无论加载多少次,都只会在第一次加载时运行一次,以后再加载,就返回第一次运行的结果,除非手动清除系统缓存。

节流和防抖

    应用场景

1像素边框的实现

    边框宽度写小数=>ios

    border-image

    background渐变

    伪元素+window.devicePiexlRatio

ES6的知识点

基本数据类型

正则对象的包装类创建的时候有什么注意事项?

vue无法拦截vue组件的更新

面试的时候提及的项目要是有复杂逻辑的项目:

    类似商城,oa等项目.

 

你踩过的坑有哪一些?

    适配方面

        overflow:hidden在移动端会出现滚动条

        动画停止在ios上失效

    浏览器兼容

        主要是IE系的兼容

    框架适配

        polyfill

js同步异步的机制?

    单线程,event loop

异步机制的优缺点?

    cpu密集操作

    io密集操作

react的jsx的注意事项

    部分属性别名

    {}内只能写表达式

    组件首字母大写

    只能有一个顶层元素

    事件必须修正指针

    事件绑定石事件的首字母大写

移动端框架你怎么选择?

能写webpack配置吗?

webpack有那基本组成?

    entry

    output

    module

    plugin

    devServer

gulp和webpack的区别

    gulp是流程控制,不能分析文件之间的关联.

    webpack则是模块打包

nginx的使用?

    前后端分离的时候会使用到nginx

nginx的反向代理的配置?

js 的引用类型

webpack的打包流程?

    分析入口文件

抽离css用哪个插件?

    extracttextplugin

viewport的作用?视口 => 安卓机只支持1

    规定在移动端显示的页面的缩放比例的问题,不写的话默认为980px

一像素线的问题?

    border-image

    伪元素缩放

    宽度写成小数=>ios

    background缩放

平常怎么学习新的技术

 

no-script标签

vue1.x-2.x的迁移问题

browserRouter和hashRouter的区别?

iconfont用过吗?

    人民币符号的兼容性问题

    iconfont使用的话有什么问题?

PC端的框架:

    兼容性问题考虑:

        兼容IE8以下:不考虑框架,使用jQuery框架

        不兼容IE8以下:看公司的技术栈

        实际上还是考虑项目需求.

        定额合同:越简单越好

        公司项目:不计成本,拼框架.

            react:什么都没有,高度可定制

            vue:项目越大,开发越受限制.

 

 

微信小程序的生命周期

    onload

    onshow

    onReady

    onHide

    onUnload

用过的设计模式,?

    单例

    工厂

    观察者

        使用场景

    代理

    策略

redux是否有观察者模式?

vuex是否有观察者模式?

    当state发生改变的时候,到反映到视图层时会使用到观察者模式

说一说作用域链

webpack打包的优化方案

    打包速度和打包文件大小

    打包速度:

        删除一些没有用的插件和模块

    打包文件:

        externals

        commonChunkPlugin

        按需加载

elementUI用过哪一些?

你觉得elementUI怎么样?

觉得elementUI的缺点有哪些?

jQuery的理解?

jQuery的选择器有哪一些?

    $ = document.querySelectorAll.bind(this)

webpack如何引入jQuery?

js的异步编程解决方案

Promise的状态

    pending

    fulfilled

    rejected

Promise失败的话,程序不会崩掉.可以使用.catch

 

 

webpack的配置

commonChunkPlugin的api

JS的运行机制

    消息队列

    执行栈

offsetHeight和clientHeight的区别

    相差一个border

v-for能循环对象吗?

    v-for='(item,index) in obj'

for in ,for of

ES6新特性

var 和 let的区别

箭头函数和普通函数的区别

语义化的理解

Promise.race和Promise.all

    race=>有任务队列中有一个执行成功,就开始下一个

    all=>有任务队列中全部执行成功,就开始下一个

什么是bfc

ajax和axios的区别?

    ajax:原生的xmlhttprequest

    axios:Promise封装

fetch和axios的区别?

    兼容性问题

react-redux的connect

canvas

说说闭包?

vue的bus总线

xml和HTML的区别?

    xml标签必须闭合

说一下spa?

    减少页面刷新,通过路由实现的.

    路由的实现原理:

        监听URL,

        进行DOM切换.

如何判断用户是在移动端访问还是PC端访问

    userAgent

说一说GC

    标记清除

    引用计数

    复制算法

    堆和栈:

        堆放具体的数据,

        栈放数据的具体的地址.

js的数组实现.

    链表

Typescript

为什么Angular为什么使用TypeScript?

    为了IDE

vue的插槽,具名插槽

vue父子组件穿参规定传入类型

    使用props的对象形式:

    props:{

        propA:Number,

        propB:[String,Number],

        propC:{

            type:String,

            required:true,

            default:100

        }

    }

polyfill如何用?

    import一下polyfill

    然后执行polyfill的方法即可

global对象和window对象

    node.js中没有window对象

检测网站是否安全?

    检测window对象中的内置对象,看看除了window的内置对象之外有多少暴露的对象,暴露的越多,网站就越薄弱.

 

 

 

vue路由跳转传参获取参数?

slot插槽传参.

slot的作用?

只改变state,render函数不会触发.

浏览器回退键,不让他返回到上一个访问的页面,而是返回到首页.

    通过监听pop事件:

<script language="javascript> 

//防止页面后退 

history.pushState(null, null, document.URL); 

window.addEventListener('popstate', function () { 

history.pushState(null, null, document.URL); 

}); 

</script>

nodejs启动server.

    nodejs监听80端口需要root权限

react-router 3.x和vue-router的差异?

    没有全局守卫

    动态路由传参时不能使用正则来限制参数格式

react-router的监听路由跳转

    3.x :钩子函数

    4.x:prompt

Promise和setTimeout谁先执行?

element-ui的坑?

nodejs存一张图片到数据库.

    重新命名(MD5的形式)

    将重命名后的名称到数据库.

状态码

上线部署有缓存如何清除?

    加入版本号

webpack加入版本号:

    在输出文件后面加入[hash]

基本工资+绩效.

 

 

讲一下MVVM

说一下虚拟DOM

说一下diff算法

Node.js中间层.

    统一化接口信息

axios拦截器

git代码回滚

web安全,react里如何做web安全:例如XSS

react中key值可以全局不唯一.

react的list列表的diff算法

cookie的缺点:

移动端的布局方式:

    rem:

        window.devicePiexlRetio

        css如何获取DPR

            媒体查询不能动态获取DPR,只能分情况来进行不同的样式叠加.

sass的mixin

在安卓机上解决1像素问题,

箭头函数没有arguments和原型

    不能做构造函数

    new.target只能在构造函数中使用

    原文地址:

        http://blog.csdn.net/kittyjie/article/details/50503735

vue的脚手架安装时模板选择问题?

 

vue的运行时构建和运行时构建+编译器

    原文地址:

        https://www.cnblogs.com/zqzjs/p/7989037.html

    如果你需要在客户端编译模板 (比如传入一个字符串给 template 选项,或挂载到一个元素上并以其内部的 HTML 作为模板),你将需要加上编译器

for of实现循环对象

    使用Object.keys()来实现对象的循环

for of 不仅支持数组,还支持map和set

ajax中途取消

    原生abort

for in,    :可枚举的自身属性和继承属性

Object.keys,    :可枚举,自身属性 

getOwnPropertyNames    :所有的自身属性

Object.getPrototypeOf和Object.getOwnPropertyNames(): 遍历所有的自身属性和继承属性

 

公司的编码规范:

    公司都有自己的编码规范.

    缩进空格可以使用eslint检测.空格在不同的ide表现统一

    可读性提高.便于维护

    避免重名

corodva中的任何资源都没有中文.

将react的项目放入cordova的www目录下打包即可.

cordova扩展原生的功能,需要原生人员编写cordova的插件来扩展cordova的原生功能

 

 

 

 

 

vue的props传参,父子组件传参.

    可以规定传参的类型

vue中的props传参和slot的区别

w3c的规范,web标准

页面输入url到页面加载都经过了什么

    静态资源是如何加载的.

shadowDOM是什么?

    原文地址:

        http://blog.csdn.net/qq_31280709/article/details/75577439

    ShadowDOM主要解决一个文档中可能需要大量交互的多个DOM树建立和维护各自功能边界的问题

移动端的性能优化

    http请求减少

    使用iconfont

    使用缓存

    打包大小的控制

优化性能统计

    白屏时间

如何自己封装ajax

    XMLHttprequest

        open:参数有哪些?

            type:

            url

            是否异步

        send

        onload事件监听

    onreadystatechange 是一个事件句柄。它的值 (state_Change) 是一个函数的名称,当 XMLHttpRequest 对象的状态发生改变时,会触发此函数。状态从 0 (uninitialized) 到 4 (complete) 进行变化。仅在状态为 4 时,我们才执行代码。

    兼容IE6是:

        ActiveXObject(‘Microsoft.XMLHTTP')

axios使用jsonp如何做?

    不支持jsonp

    使用jsonp模块:                     

https://github.com/axios/axios/blob/master/COOKBOOK.md#jsonp

事件代理?

    事件冒泡和捕获

事件代理的好处?

jQuery的bind,live,delegate

    delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

    .bind()方法用于直接附加一个事件处理程序到元素上。处理程序附加到jQuery对象中当前选中的元素,所以,在.bind()绑定事件的时候,这些元素必须已经存在。

    live():附加一个事件处理器到匹配目前选择器的所有元素,现在和未来。

闭包的好处和缺点?

    好处:全局污染

            私有变量

    缺点:内存泄漏

            引用计数无法清空,导致无法GC

什么是内存泄漏?

    导致引用计数无法清空,无法进行GC,从而导致内存的浪费.

 

 

图片热点如何兼容移动端?

react native弹性盒默认情况如何布局?

微信扫描后只能通过微信内部浏览器来进行打开

移动端网页打开APP通过url schemes,需要向原生人员询问才知道,原生来生成的.URL scheme在上架的时候会做检查,必须唯一.

富文本编辑器使用的哪一个?

 

axios文件上传

axios拦截器

axios不支持jsonp,需要安装jsonp模块

vue传参验证类型?

    7种

react传参验证?

    prop-types

单点登录sso,具体实现为cas?

https://juejin.im/post/5a002b536fb9a045132a1727

高并发处理?

    原文地址:

        https://www.cnblogs.com/PopularProdigal/p/7081238.html

        https://www.zhihu.com/question/21177474

        https://www.cnblogs.com/kevingrace/p/6138150.html

        https://www.jianshu.com/p/dd2fc7119bab

    缓存

    请求合并

    请求压缩

    差异化处理

    cdn

解决过什么技术难题?

    3D效果

mint-ui遇到过什么坑?

    懒加载

混合开发

视频对于不同的安卓手机所显示的UI也不一样.

react-native

pwa

    https://www.zhihu.com/question/53793715

    https://www.polymer-project.org/

如何开发一个框架?

数据双向绑定的实现思路?

    http://jixianqianduan.com/frontend-javascript/2015/11/29/js-data-two-ways-binding.html

使用过的设计模式有哪些?

    工厂模式

    代理模式

    观察者模式

    职责链模式

    策略模式

    单例模式

    享元模式

    装饰者模式

 

vue的组件传参的形式?

    

componentWillReceiveProps详解

 

客服系统的细节如何实现的?

    websocket实现细节?

如何判断请求设备的类型?

    useragent

伪数组与数组的区别?

数组的7个变异方法.

vue中的动态组件

    使用is属性来规定组件名

    is属性在什么地方引用?

        有配合组件要求的时候,例如tr td等这种强制的标签规范.

鼠标滑过图片放大?从中心点放大

sass循环

说一说年终奖怎么扣的税?

    不扣五险一金。只扣个人所得税。

排序算法

 

  • 3
    点赞
  • 0
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值