面试

2020-04-08  本文已影响0人  GonTinue

# **JavaScript**

# **Webpack | Git相关**

## 谈谈你对webpack的看法

webpack是一个**模块打包工具**,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它可以很好地管理、打包开发中所用到的HTML,CSS,JavaScript和静态文件(图片,字体)等,让开发更高效。对于不同类型的依赖,webpack有对应的模块加载器,而且会分析模块间的依赖关系,最后**合并生成优化的静态资源**。

## webpack的基本功能和工作原理?

1. 代码转换:TypeScript 编译成 JavaScript、SCSS 编译成 CSS 等等

2. 文件优化:压缩 JavaScript、CSS、HTML 代码,压缩合并图片等

3. 代码分割:提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载

4. 模块合并:在采用模块化的项目有很多模块和文件,需要构建功能把模块分类合并成一个文件

5. 自动刷新:监听本地源代码的变化,自动构建,刷新浏览器

6. 代码校验:在代码被提交到仓库前需要检测代码是否符合规范,以及单元测试是否通过

7. 自动发布:更新完代码后,自动构建出线上发布代码并传输给发布系统。

## webpack打包原理

将所有依赖打包成一个bundle.js,通过代码分割成单元片段按需加载

## 什么是模块热更新?

webpack的一个功能,可以使代码修改后不用刷新浏览器就自动更新,高级版的**自动刷新浏览器**

## git pull 与 git fetch 区别?

git pull = git fetch + git merge

git pull:相当于是从远程获取最新版本并merge到本地

git fetch: 相当于是从远程获取最新版本到本地,不会自动merge,在实际使用中,git fetch更安全一些

# **CSS面试**

## 清除浮动方法

>father::after{

>    content: '.';

>    display: block;

>    clear: both;

>    visibility: hidden;

>    height: 0;

>}

## css3有哪些新特性?

1. **css3的选择器**

    1. E:last-child 匹配父元素的最后一个子元素E。

    2. E:nth-child(n)匹配父元素的第n个子元素E。

    3. E:nth-last-child(n) CSS3 匹配父元素的倒数第n个子元素E。

2. **@Font-face 字体引用特性**

3. **圆角**

4. **text-shadow 字体阴影**

5. **CSS3 的渐变效果**

    1. background: linear-gradient 线性渐变

    2. background: radial-gradient 径向渐变

        `` background-image:-webkit-gradient(linear,0% 0%,100% 0%,from(#2A8BBE),to(#FE280E)); ``

6. **css弹性盒子模型 flex**

7. **Css制作特效**

    1. Transition 对象变换时的过渡效果

        ``transition:background-color .6s ease-in 0s;``

    2. Transforms 2D转换效果

        ``transform:rotate(0deg);``

    3. Animation动画特效

        ``.main{

                ...

            }``

        ``.main:hover{

                animation: animations 2s ease 0s;

            }``

        ``@keyframes animations {0%{...} 50%{...} 100%{...}}``

8. **border-radius边框圆角 box-shadow阴影**

# **Vue面试**

## 什么是vue生命周期?

    Vue 实例从创建到销毁的过程,就是生命周期。从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、销毁等一系列过程,称之为 Vue 的生命周期。

上一篇 下一篇

猜你喜欢

热点阅读