第一次面试复盘

81 阅读4分钟

前言

下午小编在正在实验室坐着,突然收到了一个电话,一开始小编还以为是外卖,结果是通知小编去面试的。约了几个时间,感觉都不是很合适,那择日不如撞日,就下午吧。于是小编下午就马不停蹄地赶到了公司面试。下面是面试过程的分享,欢迎各位大佬在评论区指点迷津。

面试过程

1. 自我介绍一下

2. 简单介绍一下你的项目

3. 你平时是用Vue3还是Vue2比较多,能聊聊他们的区别吗?

答:平时我自己使用比较多的是Vue3,Vue2和Vue3的不同:

  • 编写代码的方式不同,Vue3是采用组合式编程,Vue2是选项式编程
  • 生命周期不同,Vue3采用setup函数代替了Vue2的前俩个生命周期
  • 数据的响应原理不同,Vue2采用的是defineProperty,Vue3采用的是proxy
  • diff算法不一样

还有一些不同,小编当时没有一一举出( Vue3更好地支持typescript等)

4. 那你能聊一下diff算法吗?

答:diff算法是一种为了减少渲染代价的算法,当一个DOM元素改变时,浏览器会先创建一颗虚拟DOM,然后计算虚拟DOM和真实DOM的差别,找出最小改动的方案,再把虚拟DOM应用到真实DOM。

5. 平时有做过移动端适配吗?

答: 有的,做移动端适配有以下几个方案:

  • 媒体查询(Media Queries)
  • 相对单位
  • 弹性布局

追问:那你知道css中有哪几个常见的单位?

答: px(绝对单位),相对单位:rem,em(根据根元素字体的大小来设置),vw vh(按照视窗的百分比大小),%(相对于父元素的大小)

6. 平时有接触es6新语法中,比如...展开运算符

答:有的,...用于将迭代数据类型展开。常用于复制数组,浅拷贝,传递参数。

7.那你谈一下浅拷贝和深拷贝的区别

答: 在我们复制对象的时候,有些对象里面可能还包着一个对象,当使用简单的浅拷贝时,如因为对象深层其实引用的是同一片地址,所以当改变原对象时,新对象也会改变,而深拷贝则不会。

追问: 那说一下如何实现深拷贝

答: 采用第三方库(Lodash) , 利用JSON.stringfly()和JSON.parse(),

递归实现(这点当时小编突然忘记了,这里复习一下)

function deepClone(fn){
 if(obj === null || typeof object !== 'object')  return obj
 
 const clone = Array.isArray(obj)?[]:{}
 
 for(let key in obj){
     if(obj.hasOwnProperty(key)){
         clone[key] = deepClone(obj[key])
     }
 }
 return clone
}

8. 你平时用js写逻辑多吗?你能列举一下js中数组的常用方法吗?

答:平时基本上用js写代码 js中数组常用的方法有push,pop,reduce,filter,map,IndexOf等等,太多了这里就不一一列举。

9.那你有了解过js中的原型链吗?

答: 这里小编现场表达得不是很清楚,重新总结了一下:

每一个对象都有一个prototype属性(通过__proto__)指向其原型对象,当对象访问属性时,若自身不存在,会沿 __proto__ 链向上查找,直到 Object.prototype(顶端为 null)。

追问: 那你知道子类怎么继承父类吗? 答: 1. 通过extends 2. 通过直接指定其的原型对象

10.说一下闭包

闭包是指内部函数访问外部函数的变量。当一个函数内部还有一个函数的时候,内部函数就可以访问到外部函数的变量,此时外部函数的变量并不会被回收。

缺陷:由于变量没有被回收容易导致内存泄漏。 优点:可以防止全局变量污染私有属性

11. 平时写完的项目有进行打包部署吗?

小编确实没有过打包部署到服务器上的经历,只能如实回答

12. 平时的项目有使用git进行托管是吗,讲一下你们的工作流

答: 因为合作的人数比较少,所以我们采用的是"集中式工作流",即把代码直接push到master主分支。

13. 能讲一下你小程序这个项目遇到的痛点吗?你是怎么解决的?

答: 遇到最麻烦的点就是sass和ui组件库不兼容,当时一直报错,问ai也找不到具体原因。最后在上网查找到有大佬有相似经历,后才发现问题,后面是回退版本解决。

还有一些点记得不是很清楚了,后面就是让我反问(公司的技术栈,简历有什么需要修改的,被吐槽到简历内容太少),再后面就是纯聊天了,问我到岗时间,平时课程压力之类的

总结

当时面完感觉还是不错的,问的都很基础,但感觉当时回答不是很清楚,应该多思考一下。这是小编第一次线下的面试,公司环境什么地感觉也不错,希望过两天能有结果。附一张当时拍的面试图片。

0881226cabf423048ca61024dbf1f3a.jpg

创作不易,礼貌集赞