应届生前端面试题笔记

有什么不对或者需要补充的地方还望各位大佬指出,大家共同进步。

一、css篇

1.实现垂直居中的方式

        1.定位,移动50%,在使用transfor:translate(-50%)往反向走自身的50%

        2.定位,然后将left,top,bottom,right都设为0,在margin:auto

        3.flex布局

2.说一说你对盒模型的理解

        盒模型分为:ie盒模型和怪异盒模型

       ie盒模型:宽度=内容宽度(content) + margin + border +padding 

       怪异盒模型:宽度=内容宽度(content+border+padding)+margin

        box-sizing属性控制:content-box和boder-box

3.display和visibility隐藏有什么区别

        display:会发生重绘和回流,会从文档中移除

        visibility:只发生回流,不会移除,仍然占据位置

4.为什么会要清除浮动,以及怎么实现清除浮动

        当父元素没有指定高度,同时子元素又脱离文档流后,父元素不会被子元素撑开,所以需要清除浮动。

        1.给后面加一个空标签,写入样式clear:both

        2.给父标签overflow:hidden;*room:1

        3.使用before和after伪元素

5.如何实现自适应

        像百分比,vw,vh,rem(根据根html的size),媒体查询

6.css3和html5新特性

        css3:transfrom,annimation,新增的选择器,文本:如text-shadow等,边框:border-radus等,linear-gradient,flex布局,媒体查询等。

    html5:语义话标签,input新增类型,video,audio,svg,canvas,地理定位,拖拽api,history api,webwoker,websokit,存储等。

7.css优先级

        元素选择器:1

        类选择器:10

        id选择器:100

        !important 最高

8.选择器有哪些

        id选择器,类选择器,元素选择器,父选择器,后代选择器,伪类选择器,属性选择器等

9.哪些属性可以继承

        可以:font-size,color,text-align等

        不可以:background,border,margin,padding,width,height等

10.flex有哪些常用的属性

        flex-direction,justify-content,align-items,flex-sharken,flex-wrap,flex-grow,flex等。

二、vue篇

1.说一说vue双向绑定原理

        可以从2.0和3.0两个方面进行回答

2.说一说vue的生命周期

        不要只说8个,应该说完整。加上keep-alive的actived、deactivated和处理异常的钩子函数errorCaptured和处理ssr的serverPrefetch

3.说一说为什么data要是一个函数

        考察的点是作用域,变量冲突问题

4.vuerouter了解吗

        两种模式,hash是根据url的#,histora是依赖html5出的api。在讲一讲路由懒加载。

5.vuex了解吗

        回答出五个属性,然后在说一说只能通过mutains修改值的原因

6.mixins了解吗

        可以实现可复用功能,与普通封装方法相比,mixins拥有生命周期函数,相当于一个组件

7.this.$nexttick用过吗

        它是将回调延迟到下次DOM更新之后执行,可以简单讲讲事件循环。nexttick源码还没有去看过,有待学习。

8.$set了解吗

        因为定义在data里的属性会一开始会被vue通过defineproperty监听到,如果在后端返回数据对象上加一个属性,vue是监听不了的,需要$set来实现监听。  vue提供了vue.set()将set函数绑定到vue构造函数上,然后通过defineproperty实现监听。

9.vue3了解吗

        可以讲解一下vue3的双向绑定, setup语法糖。

10.vue父子组件通信

11.如何使样式只在当前组件生效

12.v-if和v-show

        可以说一说它两实现消失隐藏的区别,分别在什么情况下使用较好。

13.虚拟dom有了解过吗

        为什么要使用虚拟dom,首先要了解浏览器渲染过程,首先会创建dom tree,然后构建style tree,根据dom tree和style tree构建 render tree,在根据render tree去找到对应的位置,进行标记,最后将它们显示出来。

        每次操作dom,浏览器都会从头开始遍历,如果有多个dom节点有变动,浏览器也会构建多次,浪费了不必要的性能,其实一次更新是最好的。

        虚拟dom是将dom节点以js对象的形式进行表示,它不会立即去进行构建重新渲染,它会等到最后一次构建,同时它也是局部渲染,会和真实dom进行比对,找出变化的地方,进行局部更新。

三、js篇

1.说一说有哪些数据类型

        加上es6的symbol

2.判断数据类型的方法

        typeof,instanceof,Object.prototype.toString().call() //样子 "[object,类型]"

3.闭包了解吗

        可以讲闭包的定义和优缺点,然后在说一说科利华函数,它也是基于闭包实现的。

4.垃圾回收了解吗

        可以讲一讲v8引擎

5.说一说es6

        问map和set的话

        https://www.jianshu.com/p/174cb389d46b

6.promise了解吗

        可以先说一说为什么会有promise,然后在讲一讲promise的参数,状态(是否可逆),回调,api:race和all

7.async和await了解吗

        实则也是返回promise

8.let、const、var的区别

 9.浏览器缓存机制了解吗

        强缓存和协商缓存,在讲一讲它们的字段。

10.输入url地址发生了什么

        可能你会直接从域名解析开始说,其实它前面会先看是否有缓存,没有缓存才会进行域名解析。

11.常见状态码有哪些

        主要:200,301,302,304,400,401,402,403,404,500,501,502

12.浅拷贝和深拷贝

        1.通过递归遍历拷贝,得先判断是不是数组,在判断对象,因为数组也会被认作为对象

        2.Object.assig()浅拷贝语法糖

        3.JSON.parse(JSON.stringnify())深拷贝语法糖,但不能拷贝undefined,和方法

13.事件循环知道吗

        因为js是单线程,进入开始执行后,在遇到宏任务或者微任务的时候会把它们放到各自任务队列里面去,等当前执行栈执行完之后,会从微任务队列开始取出到执行栈执行,最后在去执行宏任务队列里的。

四、其它篇

1.webpack有哪些常用的loader

        file-loader,css-loader,less-loader,image-loader,babel-loader,eslint-loader,url-loader,style-loader,vue-loader

2.webpack有哪些常见的plugin

        html-webpack-plugin,define-plugin,clean-webpack-plugin,mini-css-extract-plugin

3.项目中如何对性能进行优化

        使用cdn,路由懒加载,使用精灵图(像emoji就是使用精灵图的形式),代码分割,代码压缩,部分输入框和按钮注意防抖和节流。

4.echarts如何实现自适应

        echarts有提供一个resize方法

5.笔试题

        笔试主要考察作用域,事件循环,排序,查询等。

6.如何看待前端这个岗位

7.未来的职业规划

  • 3
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值