2019面试题整理

说说你对http的理解:

http协议其实就是超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议。
http上一个应用层协议,由请求和响应构成,是一个标准的客户端服务器协议
http上一个无状态的协议

http与https的区别:

http是超文本传输协议,信息是明文传输,https是具有安全性的SSL加密传输
http采用的是80端口连接,而https使用的端口是443
hhtps协议需要用到ca申请证书,一般免费证书较少,需要收费,而http不需要
http连接相对简单,是无状态的,而https协议是有SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,它比http协议更加安全

doctype的作用:

DOCTYPE是document type (文档类型) 的缩写。
<!DOCTYPE >声明位于文档的最前面,处于标签之前,它不是html标签。
主要作用是告诉浏览器的解析器使用哪种HTML规范或者XHTML规范来解析页面
由于不同浏览器对页面渲染有不同的标准,所以不声明doctype会产生一定的差异,这种方式叫做混杂模式

实现一个div左上角到右下角的移动:

  • 改变div的left值为window的宽度-div的宽度
    top值为window的高度-div的高度
  • css3的transition属性

箭头函数与普通函数的区别:

箭头函数的 this 永远指向其上下文的 this ,任何方法都改变不了其指向,如 call() , bind() , apply()
普通函数的this指向调用它的那个对象

说说你对promise对象的理解:

  1. promise是异步编程的一种解决方法,从语法上说promise是一个对象,从它可以获取异步操作的消息
  2. promise主要作用是:可以把异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,promise对象提供了统一的接口,使得控制异步操作更简单
  3. promise对象的特点:
  • 对象状态不受外界影响(公3种pending(进行中),resolved(已完成),reject(已失败))。
    只有异步操作的结果可以决定是当前哪一种状态,任何其他操作都无法改变
  • 一旦状态改变就不会再变,任何时候都可以得到这个结果。
    promise对象改变只有两种可能:从pending到resolved,从pending到reject
  1. promise对象的缺点:
  • 无法取消promise,一旦创建就立即执行,无法中途取消
  • 如果不设置回调函数,promise内部抛出错误,不会反映到外部
  • 当处于pending状态时,无法得知目前进展到那个阶段(刚刚开始还是即将完成)

vuex中mutaions与action的区别:

mutaions:同步操作,可以直接修改state中的值,专注与修改state,理论上是修改state的唯一途径
action:异步操作,不可以直接修改state,专注于业务代码,异步请求等

canvas与svg的区别:

canvas:
  • canvas 通过 JavaScript 来绘制 2D 图形。
  • canvas一旦图形被绘制完成,它就不会继续得到浏览器的关注。
  • 如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
  • canvas不依赖分辨率。
  • canvas 通过 JavaScript 来绘制 2D 图形。
  • canvas支持事件处理器。
  • canvas最适合带有大型渲染区域的应用程序(比如谷歌地图)。
  • canvas复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)。
  • canvas不适合游戏应用。
svg:
  • svg是一种使用 XML 描述 2D 图形的语言。
  • 可以为svg每个元素附加 JavaScript 事件处理器。
  • 每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
  • svg依赖分辨率。
  • svg是一种使用 XML 描述 2D 图形的语言。
  • svg依赖分辨率。
  • svg不支持事件处理器。
  • svg弱的文本渲染能力。
  • svg能够以 .png 或 .jpg 格式保存结果图像。
  • svg最适合图像密集型的游戏,其中的许多对象会被频繁重绘。

html中data-*的作用:

data-属性用于存储私有页面应用的自定义数据
data-
属性可以在所有的html元素中嵌入数据
自定义的数据可以让页面拥有更好的交互体验

如何实现断点续传:

可以利用H5的FileApi的slice()方法,将文件切割成数份,然后再分批上传
或通过websocket接口实现

说说你对spa单页面应用的理解:

SPA 是一种特殊的 Web 应用,是加载单个 HTML 页面并在用户与应用程序交互时动态更新该页面的。它将所有的活动局限于一个 Web 页面中,仅在该 Web 页面初始化时加载相应的 HTML 、 JavaScript 、 CSS 。一旦页面加载完成, SPA 不会因为用户的操作而进行页面的重新加载或跳转,而是利用 JavaScript 动态的变换 HTML(采用的是 div 切换显示和隐藏),从而实现UI与用户的交互。在 SPA 应用中,应用加载之后就不会再有整页刷新。相反,展示逻辑预先加载,并有赖于内容Region(区域)中的视图切换来展示内容。

优点:
  1. 避免了页面的重新加载,可以提供较为流畅的用户体验
  2. 得益于ajax,可以实现无跳转刷新,通过与浏览器的history机制配合,与haxh的变化推动界面变化
  3. 只需要使用支持H5和C3的浏览器就可以实现SPA机制,所以使用和开发门槛较低
缺点:

1.对SEO优化没有普通的网页开发这么友好,因为没有了一页一页的网页给搜索爬虫去爬取信息,需要花费其他的工作去做SEO优化
1.以SPA方式开发的网站不容易管理也不够安全

说说你对vue-router的理解:

vue-router是vue官方的路由管理器,默认使用hash模式。通过将路径与组件对应,根据不同的URL地址在页面中渲染对应的vue组件

功能:
  1. 嵌套的路由/视图表
  2. 模块化的、基于组件的路由配置
  3. 路由参数、查询、通配符
  4. 基于 Vue.js 过渡系统的视图过渡效果
  5. 细粒度的导航控制
  6. 带有自动激活的 CSS class 的链接
  7. HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  8. 自定义的滚动条行为

简谈hash模式与history模式

hash模式:
  1. hash模式的原理是onhashchange事件,通过window对象监听该事件。
  2. 在hash模式下,当url发生变化时,浏览器会将其记录下来,所以在该模式下,即便浏览器没有请求服务器,页面也会与url一一对应。
  3. 在hash模式下修改的url#后面的内容,所以当URL发生改变时,页面不会重新加载.
  4. 其主要api有:history.go(), history.back(), history.forward()
history模式:
  1. history interface是浏览器历史记录栈提供的接口,通过back(),forward(),go()等方法,我们可以读取浏览器历史记录栈的信息,进行各种跳转操作。
  2. 在使用history模式时,是需要后台的配置支持的,当我们的应用是单页面应用,如果后台没有正确配置,直接访问会返回404。所以我们可以在服务端增加一个覆盖所有情况的候选资源,当url匹配不到时,则返回我们配置的那个静态资源

简谈mvvm框架

m:model模型,也就是数据层,负责存储数据
v:视图层,主要是从viewmodel层获取数据,然后显示
vm:视图模型,相当于model与视图层的桥梁,主要负责处理业务逻辑

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,594评论 0 20
  • 【转载】CSDN - 张林blog http://blog.csdn.net/XIAOZHUXMEN/articl...
    竿牍阅读 3,488评论 1 14
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 3、HTTP的几种请求方法用途 4、从浏览器地...
    peng凯阅读 771评论 0 1
  • 面试题一:https://github.com/jimuyouyou/node-interview-questio...
    R_X阅读 1,618评论 0 5
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,094评论 1 32