前端面试题整理二

2020-03-10  本文已影响0人  忘川蒿里丶

CSS

1、垂直居中的方法
2、CSS选择器和优先级

浏览器默认属性 < 继承自父元素的属性 < 通配符选择器 < 标签选择器 < 类选择器 < 结构伪类选择器 < id选择器 < 行内样式 < !important

3、关于BFC

BFC 全称为 块格式化上下文 (Block Formatting Context) 。

如何创建BFC

BFC的作用:

4、盒模型

JS

1、立即执行函数

声明一个函数,并马上调用这个匿名函数就叫做立即执行函数;也可以说立即执行函数是一种语法,让你的函数在定义以后立即执行

(function (){
//code
})()

作用:立即执行函数会形成一个单独的作用域,我们可以封装一些临时变量或者局部变量,避免污染全局变量

2、JS事件循环机制

原因:JavaScript 是一门单线程语言。为了协调事件、用户交互、脚本、UI 渲染和网络处理等行为,用户引擎必须使用 event loops。Event Loop 包含两类:一类是基于 Browsing Context ,一种是基于 Worker ,二者是独立运行的。 下面本文用一个例子,着重讲解下基于 Browsing Context 的事件循环机制。

3、get和post的区别
4、HTTP状态码

常用:
200("OK")
一切正常。实体主体中的文档(若存在的话)是某资源的表示。
400("Bad Request")
客户端方面的问题。实体主题中的文档(若存在的话)是一个错误消息。希望客户端能够理解此错误消息,并改正问题。
500("Internal Server Error")
服务期方面的问题。实体主体中的文档(如果存在的话)是一个错误消息。该错误消息通常无济于事,因为客户端无法修复服务器方面的问题。
301("Moved Permanently")
当客户端触发的动作引起了资源URI的变化时发送此响应代码。另外,当客户端向一个资源的旧URI发送请求时,也发送此响应代码。
404("Not Found") 和410("Gone")
当客户端所请求的URI不对应于任何资源时,发送此响应代码。404用于服务器端不知道客户端要请求哪个资源的情况;410用于服务器端知道客户端所请求的资源曾经存在,但现在已经不存在了的情况。
409("Conflict")
当客户端试图执行一个”会导致一个或多个资源处于不一致状态“的操作时,发送此响应代码。
系列:
1XX:通知
2XX:成功
3XX:重定向
4XX:客户端错误
5XX:服务端错误

5、关于ES6的类

ES6引入了Class(类)这个概念,通过class关键字可以定义类。该关键字的出现使得其在对象写法上更加清晰,更像是一种面向对象的语言

6、关于打包效率的提高

1、减少打包体积:

(1)对于用的比较少的库,可以去掉(我去掉了jquery以及lodash),用到的地方,参考源码自己写

(2)非用不可的又比较大的库(我这里用了monaco-edit),使用cdn方式引入(配置externals)

(3)按需加载

(路由懒加载配合webpack'的require.ensure实现: 其实总的体积并没变,但是会提高首页加载速度)
2、加快打包速度
(1)升级webpack版本
(2)HappyPack插件
(3)用dll剥离第三方库

7、webpack常用插件
8、服务器端渲染

定义:简单来说就是在服务器上把数据和模板拼接好以后发送给客户端显示
解决痛点:难以SEO和首屏加载缓慢。
最新的实现方式:NodeJS配合Jade

9、VUE按需加载的方式
{
      path: '/index',
      component: () => import('@/page/index/index'),
      name: '首页'
 },
{ path: '/index', component: r => require.ensure([], () => r(require('@/pages/index/index')),
 'index'), meta: { title: '首页' } }

按需加载的远离
1.首先.vue文件最终经过vue-loader处理之后也是js文件,所以最终也是通过script加载
2.父子组件是由vue框架来维护的,也就是js来维护的抽象的父子组件
3.vue-router确实是通过hash也就是路由去匹配到需要加载哪个组件,然后通过script加载这个组件打包出来的js文件

10、视口单位

在桌面端,视口指的是在桌面端,指的是浏览器的可视区域;而在移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Viewport(视觉视口),Ideal Viewport(理想视口)。

视口单位中的“视口”,桌面端指的是浏览器的可视区域;移动端指的就是Viewport中的Layout Viewport, “视区”所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。

上一篇 下一篇

猜你喜欢

热点阅读