Skip to content

Latest commit

 

History

History
173 lines (87 loc) · 5.12 KB

2022-06-13.md

File metadata and controls

173 lines (87 loc) · 5.12 KB

2022-06-13 面试复盘

面试环节

面:你先自我介绍一下吧

面:说一下 css 水平垂直居中的方法

我:可以通过 定位来实现给里面的容器设置上下左右边距为 0,绝对定位,然后 margin auto。还可以通过 flex 实现, display: flex; justify-content: center; align-items: center;

面:常用的太行盒子有哪些?

面:在一个盒子里面有四个元素,是水平居中的,我想吧第二个 div 排到第一个 div 前面去,如何去做?

面:有一个 div,里面有一段文本,这个文本不一定有多长,然后给 div 设置了单行省略号的样式,有些功能我需要检测这个盒子是否有省略号,比如有些地方需要有省略号弹个窗,没用的话就不弹窗,这个怎么做?

我:根据字符串的长度来判断?

面:但是 div 的宽度不确定

我:可以根据文字大小吧,然后……

面:其实没有那么麻烦,只是判断 div 就行了。

面:那你说一下常用的 es6 有什么吧

面:let const var 的区别是什么?

面:使用 let 声明一个变量 a,可以使用 window.a 访问吗?

面:我使用 const 定义了一个数组,可以往数组里面添加元素吗?

我:可以的

面:为什么可以?

我:因为这个变量是对这个数组的引用,可以进行更改内部的

面:箭头函数和普通函数的区别?

面:常用的 promise 的方法有什么?

面:什么场景使用 Promise.all 方法?

面:Promise.all 的实现原理是什么?

面:async 函数如何捕获错误

我:使用 try catch

面:async 函数的返回值是什么?

面:set 和 map 的区别是什么?

面:vue3 和 vue2 有哪些区别?

面:为什么 vite 启动速度会很快呢?

面:vite 的核心启动原理你了解吗?

面:vue 的生命周期有哪些?

面:拿到页面中的 dom 元素是在哪个生命周期中?

面:说一下组件传值的方式吧

面:自组建接收父组件传递过来的值都可以使用什么 API 接收到?

我:基本上都是使用 props 接收的

面:如果有些没有使用 props 接收,那么如何接收?

面:$attrs 有了解吗?

面:你组件库的 Tree-Shaking(vite 文档) 是如何做的?

我:这个还没有做

面:如何使用 ts 定义树组件的类型?

面:ts 内置的一些工具类型都有什么?

面:枚举都使用在哪些场景呢?

面:axios 你是怎么在项目中使用的?

面:拦截器有没有写多个的?比如写一个是不够的。如果我写了多个拦截器,那么它的执行顺序是怎么样的?

面:你是如何做性能优化的?

面:vue 响应式实现原理是什么?

面:有没有了解里面有一个负责渲染和更新的 watch 的类?这个有没有了解过?

面:vue 的更新是一个什么级别的更新?更新的范围是什么?

我:只更新你修改的 dom,并不是全部都更新

面:那么如何判断更新这个修改的 dom?

我:是通过一些 diff 算法来实现的

面:具体的原理是如何实现的?

我:我不太了解

面:你的函数工具库都有什么功能的函数?

面;防抖和节流的区别是什么?

面:你是如何解决跨域问题的?

面:有没有遇到过 option 请求的?

我:没用

面:http 状态码常用的都是有哪些?

面:401 和 403 有什么区别?

面:301 和 302 有什么区别?

面:keep-alive 是怎么使用的?

面:keep-alive 的参数都有什么?

面:我给组件设置 name 有什么用?

面:树型组件如何实现?

我:使用递归组件

面:递归和 name 有什么联系吗?

我:递归组件必须有 name 否则不能递归

面:sass 你都使用过什么语法?

面:你是 switch 组件是如何实现的?

面:说一说你对事件循环的了解吧

面:你有什么想要问的呢?

提问环节

我:咱们工作中最大的挑战是什么呢?

面:因为我们有一些老项目,需要进行重构,我感觉还是比较有挑战的。然后业务功能其实还是没那么复杂的。

我:平时的代码规范是什么样的?

面:基本上大家都是配置了相同的 eslint 格式都是比较规范的,但是没有一个明文的规范

我:你感觉我还有什么需要提升的吗?

面:还是基础为主吧,我大致看了一下你的组件库,可能功能还是比较简单的,不过也没事,比较刚开始嘛,不过这个出发点是不错的,我还在 B 站上看到过你,我也经常逛 B 站

我:如果你在 Github 上看到这个项目,你有兴趣去参与一下或者去提个 PR 吗?

面:我目前为止是不会的,哈哈,一个是时间的问题,还有就这个整体的思路需要想好久,如果想要实现一个大型的组件库,工作量还是很大的

我:您为什么会选择这一家公司呢?

面:哈哈哈,因为公司招人

我:平时加班情况怎么样?

面:平时加班倒是不多,除非项目很急的情况下,可能需要加班

我:那我都了解了

结束。