前端面试

272 阅读3分钟

第一家公司

一、自我介绍

面试官:首先做一下简单的自我介绍

简单的介绍你的姓名、年龄、学历。重点在于介绍工作经验、前一家公司的主要经营项目,以及自己的技术栈`

二、八股文

1.vue2和vue3的区别

  1. 生命周期函数钩子不同
  2. 数据双向绑定原理不同
  3. 定义变量和方法不同
  4. 指令和插槽的使用不同
  5. API类型不同
  6. 父子之间传参不同
  7. main.js文件部分设置不同

2.vue2的双向数据绑定原理

vue2的双向数据绑定原理,是通过数据劫持结合发布订阅模式的方式来实现的,通过object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。也就是说数据和视图同步,数据发生变化。视图跟着变化。视图变化。数据也随着发生变化。

3.说说常用的布局

  1. flex布局
  2. 浮动
  3. 绝对定位
  4. 网格

4.如何实现垂直居中

  1. flex布局
  2. absolute+transform
  3. 绝对定位(margin:auto)
  4. 利用grid布局

5.深拷贝和浅拷贝的区别

  1. 浅拷贝如果拷贝的是基本数据类型,那么拷贝的就是它的值,如果是引用数据类型拷贝的就是引用类型的地址,其中一个对象改变了地址,就会影响到其他对象
  2. 深拷贝会拷贝所有的属性,并拷贝属性的动态分配的内存,其中一个对象改变了地址,不会影响到其他对象

6.如何实现深拷贝

7.说一说拦截器的实现

三、项目功能的实现

1.用户身份权限是如何进行区分的,你是如何实现的

2.小程序购物车全选、取消全选、单选是如何实现的

四、问薪资

当面试官问你薪资的时候,这个时候就基本可以确定你被录取了,恭喜!

第二家公司

这家公司没有让我自我介绍,而是开门见山,直接问为什么从深圳来XX地,然后用边提问的形式,问到你的技术栈以及你的上一家公司是主要做什么业务的,以及你的工龄、毕业高校。

八股文

1.你认为vue3相较于vue2有哪些地方让你觉得更好用

2.性能的优化你是如何做的

3.说说vue2、vue3的生命周期

4.有没有封装过组件

5.拦截器你是如何做的

6.说一下vue3的数据双向绑定原理是如何实现的

7.在项目中,遇到跨域问题你是如何解决的

8.css样式污染的时候,你是如何解决的

人事题

1.为什么回到某地工作

2.公司的整个项目流程开发是怎么样的

3.多久进行一次项目的对接

4.之前开发一个项目的周期是多久

5.能够将原型还原到多少

问薪资

问你的理想薪资