点击就送,家人们这把高端局
腾讯一面 90min
- 看了我的博客,让我说说图片懒加载的两种实现思路(属性lazyloading、元素scroll的距离、监听元素是否出现在视口)
- 说了一下项目(说了很久...从设计到实现问了个遍)
- 在实习中怎么写出可读性较强的代码?你对可读性强是怎么理解的?(说了下实际应用以及常用的设计模式还有封装思路
- 说一下对sass和less的理解、扯到了一下切换主题
- 在项目里ts的使用程度,问了几个ts和Eslint一起使用可能会遇到的坑
- 组件间通信,重点说了eventbus和依赖注入,ts类型的依赖注入是否会丢失问题
- 怎么把我写的复用性较高的fn或者hooks注册为插件的?(简单说了一下vue.use脚本注入就过了)
- Eslint和Prettier遵循的哪个?遇到规则冲突怎么处理的,在项目中做了哪些配置?
- 打包时候怎么进行体积压缩?这里说了Gzip和vite-plugin-svg-icons
- 提了一下大文件上传的时候如何进行切片(formdata
- 数组方法,说几种回文的判断方法,说了反转和双指针(说完挑一种手写)
- 数组去重的能想到的所有方法(答了set\map\reduce...\indexOf\from\for法)
- vue3的响应式原理(说到了两种数据劫持以及其区别、diff算法、vue23数据劫持的区别以及如何定义一个响应式对象)
- vue3你认为哪一点优化得最好,你最喜欢vue3的什么特性(结合了es6、ts、模块化)?
- 两道套娃的代码输出题(宏任务微任务的,并说一下事件循环)
腾讯二面 80min
- 项目拷打
- vue3的响应式
- 说说依赖收集
- csrf(jwt实现过程+cookie区别)
- 浏览器输入url
- 细说三次握手分别是确认什么在做什么工作?
- http1.0 1.1.2.0的区别
- 跨域以及解决方式(配置请求头/JSONP/WebSocket/Beacon)
- ts的type和interface
- 几题作用域的代码输出题 ac (普通函数作用域和箭头函数作用域)
- 手写正则匹配 ac
- 手写快排ac
百度 60min
- 项目拷打(问了几个组建的实现思路以及项目实现)
- 对闭包的理解
- 数据类型有哪些?判断数据类型的方法?说了instanceof,typeof,tostring。(追问了原型链原理,instanceof原理,prototype.tostring.cal的输出结果以及直接输出arr.tostring,数组转字符串的方法有几个)
- 改变this指向的方法(bind,apply,call)
- vue2\vue3的区别,你觉得哪个改的最好?
- 首屏加载优化从几个方面入手?(答了CDN、预加载、静态资源代理、模块化import、异步 promise之类的使用、webworker)(这里面试官露出了诡异的笑容不知道为什么)
- 两个非空的链表表示,两个非负的整数,他们数字按照逆序方式存储,每个节点只能存储一位数字,将两数相加并返回。一个表示和的链表