多益网络面经

部分总结与牛客网上的小伙伴的面经+自己面多益的

1、介绍项目

2、优雅降级和渐进增强

  • 渐进增强 :针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
  • 优雅降级:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

3、Vue组件传值

4、this理解

5、改变this指向,实现call

实现call和apply

6、HTTPS过程

多益网络面经_第1张图片
https过程

7、less原理

本质上,LESS包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的css文件。less的原理及其使用方法

8、CSS优化

1,首推的是合并css文件,如果页面加载10个css文件,每个文件1k,那么也要比只加载一个100k的css文件慢。

2,减少css嵌套,最好不要套三层以上。

3,不要在ID选择器前面进行嵌套,ID本来就是唯一的而且人家权值那么大,嵌套完全是浪费性能。

4,建立公共样式类,把相同样式提取出来作为公共类使用,比如我们常用的清除浮动等。

5,减少通配符*或者类似[hidden=“true”]这类选择器的使用,挨个查找所有…这性能能好吗?当然重置样式这些必须 的东西是不能少的。

6,巧妙运用css的继承机制,如果父节点定义了,子节点就无需定义。

7,拆分出公共css文件,对于比较大的项目我们可以将大部分页面的公共结构的样式提取出来放到单独css文件里, 这样一次下载后就放到缓存里,当然这种做法会增加请求,具体做法应以实际情况而定。

8,不用css表达式,表达式只是让你的代码显得更加炫酷,但是他对性能的浪费可能是超乎你的想象的。

9,少用css rest,可能你会觉得重置样式是规范,但是其实其中有很多的操作是不必要不友好的,有需求有兴趣的 朋友可以选择normolize.css

10,cssSprite,合成所有icon图片,用宽高加上bacgroud-position的背景图方式显现出我们要的icon图,这是一种 十分实用的技巧,极大减少了http请求。

11,当然我们还需要一些善后工作,CSS压缩(这里提供一个在线压缩 YUI Compressor ,当然你会用其他工具来压缩是十 分好的),

12,GZIP压缩,Gzip是一种流行的文件压缩算法,详细做法可以谷歌或者百度。

9、HTTP2.0

简单来说,HTTP/2(超文本传输协议第2版,最初命名为HTTP2.0),是HTTP协议的第二个主要版本。HTTP/2是HTTP协议自1999年HTTP1.1发布后的首个更新,主要基于SPDY协议。
HTTP2.0的特点是:在不改动HTTP语义、方法、状态码、URI及首部字段的情况下,大幅度提高了web性能。

10.XSS攻击怎么解决

前端安全

11.双向绑定

数据双向绑定的原理与实现

12.input 自行双向绑定

13.vue react 区别

vue与react的区别

14.vue 用 jsx

15. 组件通讯的方式

16.eventbus 和 vuex

17.js异步加载

18.js阻塞页面

js阻塞与其解决方法

19.点击按钮增加 js

20.优化首屏加载

vue首屏加载优化

21.静态文件cdn比服务器离客户端更远,该怎么选(cdn能减少相同域名请求数量压力)

22.promise停止

promise停止

23.axios停止请求

24.css 动画和 js 动画

代码复杂度方面,简单动画,css 代码实现会简单一些,js 复杂一些。复杂动画的话,css 代码就会变得冗长,js实现起来更优。动画运行时,对动画的控制程度上,js 比较灵活,能控制动画暂停,取消,终止等,css动画不能添加事件,只能设置固定节点进行什么样的过渡动画。兼容方面,css 有浏览器兼容问题,js 大多情况下是没有的。性能方面,css动画相对于优一些,css 动画通过GUI解析,js 动画需要经过j s 引擎代码解析,然后再进行 GUI 解析渲染。

多人开发css不重复
git 只合并某一版本(cherrypick)

2、介绍一个项目,之后根据这些项目进行提问,关于登录注册模块的token抠了我很久。

前端判断是否登录注册的方法

3、节流和防抖,区别

防抖和节流

4、css怎么保证类名不重复(vue里的scoped,css module)

命名约定:BEM规范css不重复

5、promise ,事件循环机制(EventLoop)

6、this的指向

this相关

7、new的实现原理

8、平时看过什么书

《学会提问》尼尔·布朗,斯图尔特·基利——本书作者应用批判性思维领域的最新研究成果,列举…
《思考的艺术:非凡大脑养成手册》文森特·赖安·拉吉罗——从阐述思考的概念开始,教你打破…

9、原型链

10、vue使用中有哪些坑 (vue里面的nextTick的原理)

你对http有哪些了解(吧啦吧啦),你知道 https是怎么加密的吗;
你了解http缓存吗?(吧啦吧啦),如果一个应用有更新,这时候如何确保系统采用的是及时更新的内容而不是缓存中的数据;
响应式原理;
组件间通信;
你使用vue的过程中, 有没有觉得不合适的地方(答了两个,一是 vue的 data属性对于引用型数据无法做到响应式更新,二是私有样式类时使用的 scoped有局限性),然后就问如何解决这两个问题;
vuex的作用, 怎么用;
如果用户登录了然后关闭浏览器, 接着通过url直接进到某个详情页, 这时候你是怎么确定这个用户登录了还是没登录;(其实就是登录鉴权问题,包含自动登录和自动登出两个要点)

*6.15武汉多益前端

  1. ES6新特性(拓展箭头函数,解构赋值,模板字符串)
  2. 前端项目优化
  3. vue组件通信
  4. vue路由
  5. 闭包及其作用
  6. promise
  7. 封装axios
  8. …记不太清

你可能感兴趣的:(笔试编程题)