⭐一面自我介绍问我是不是主学的Vue技术栈,美团是react,并让我不要担心,公司并不看重框架,而是看重你的基础,来了之后在公司的培养下是可以很快进行切换的。问我对上面第二点有什么看法(一顿夸,大公司气魄就是不一样,我也是认为框架只是工具,基础才是最重要的)介绍一下项目的亮难点以及协同开发的任务分配这个项目背景是什么(本来是我自己的,后来和同学准备一起做成社区化的形式)具体介绍一下你的长文章加载优化,是预加载吗,分页并发是怎么处理的(我的文章是以一份markdown、一份html的形式存在数据库的,也算是预加载,分页是在redis中的分块存储,页码信息在key中,每个接口发送请求时会携带对应的page,就能去redis中进行获取)你的并发请求是如何发起的,其中细节介绍一下(就说了一下实现的逻辑)并发时的错误重试是整个并发重试还是单个接口重试(单个接口)看你还有一个电商项目(比较简单,练手用的)你的两段实训应该有做项目,简历没有体现出来(都是一些比较简单的项目,含金量不高就没写,然后简单介绍了一下几个项目)介绍一下你对vue生命周期的理解(问的有点宽泛了,我就大概讲了一下理解,没有详细说具体的内容)可以再具体一点吗,比如父子组件的生命周期顺序(父创建到beforMount,然后子组件创建挂载到父组件,父组件再执行mounted)组件通信有哪些方式(常规八股了)异步请求你一般放在哪个生命周期去做?(当时我考虑的是请求回来会操作dom,就回答了mounted,现在想想单纯异步请求的话created中就可以做,大意了)平时是怎么发异步请求的(说了项目中的请求方式,axios二次封装暴露不同的请求方式,再单独开一个api文件用来封装后端接口,除去promise async/await其他的话还有回调函数、生成器之类的)异步请求方式是怎么选择的(有点迷,说遇到回调地狱的话使用promise+async/await,传异步操作的钩子的话用回调函数)事件循环你是怎么用的(讲了一个首屏js动画被阻塞的问题,后来通过把动画推到宏队列解决的)说一下你对虚拟DOM的理解(从起源到作用,还提了一下vue3说是要出一版无虚拟DOM的版本)你提到了Vue3,说说它有哪些改进(使用上说了借鉴react的fragments实现多个根节点、compositionAPI、teleports、异步组件,底层优化上说了diff优化以及treeshaking)你为什么选择vue,你觉得它有什么优势(上手难度小,优化好,说了一下它的设计思想,最后也补充了一下当时书院培养的就是这个方向,可能是因为国内大多数企业是用这个框架的)学习过React吗,感觉怎么样(没有深入学习,只是简单了解,比起vue比较自由,在大项目中性能比vue要好)平时是怎么进行学习的(看课了解大概,看文档以及书籍进行深入学习,举例了我最近在看的vue深入浅出)最近有学习什么新知识吗(我说我有一颗思维导图做成的技能树,记录了不同模块的知识,我在学习新知识前会看整棵树是否平衡,如果不平衡说明我还有需要补充的知识,就会先进行查缺补漏,我发现我的算法相对有些薄弱(借机为自己后续算法题做不出来找台阶下),现在就是在查缺补漏的一个流程)在什么阶段进行DOM操作(记不清是不是这么问了,我分两部分回答了,第一个是创建的时候,在mounted之后DOM才被渲染,可以正常获取。第二个是在运行过程中对DOM的改动会被推入到下一次事件循环中,所以要在nexttick中进行获取)vue双向绑定原理(八股)webpack的作用,说说你对他的理解(前端工程化工具,构建统一高效的开发环境...,后面又说了说loader和plugin对项目的作用,简单列举了几个,最后又说了说代码分割)还用过其他工具吗(只用过配好的vite,深入学习过的只有webpack)你提到了前端工程化,说说你对它的理解(这个问法没怎么见过,我就类比工厂,为我们做自动化处理,比如一些兼容性,压缩,打包之类的搬砖工作,解放程序员,提高生产力)说说进程和线程的区别(前两天刚背的八股)进程调度算法(只记得一个优先级,其他忘了)进程通信的方式(这个真不会)进程的死锁是什么,导致死锁的条件有什么(死锁有印象,但是条件记不清了,我记得有三个)解除死锁的方式(打破导致死锁的条件,但是我不记得条件有哪些了)内存的分类(说了堆内存和栈内存)栈溢出是怎么造成的(我猜一个是函数递归调用退出条件有问题造成溢出,一个是内存泄露,不知道对不对)分页分段说一说(真不记得了)说说虚拟内存(拿一部分硬盘空间来当内存,印象是这样,不知道对不对)说说TCP和UDP的区别(高频八股)说一说HTTP2和HTTP3的新特性(2我说了说,3我不太清楚,就补充说3目前国内比较少见,2也比较少见,只知道B站那边好像用开了2,一般还是1.1)说一说三大范式(具体内容不记得了,只记得是制定表的规范,就说了说我的数据库表是怎么制定的,把需要拆分的部分进行了拆分,而不是存在一张表上)说说数据库索引(这个确实不太懂,猜测说是可以提高查表的效率)coding题,leetcode_61 旋转链表(做的时候没考虑到移动的k是会大于表的,只过了一部分案例,不过面试官说差不多了)反问:现在十一月份了,咱们还有hc吗(部门里的老员工有一部分去搞鸿蒙了,就有hc空出来了),面完大概多久有消息(1-2天)结束后洗个澡出来约二面了⭐二面自我介绍看你项目中用到了pinia,说说pinia和vuex的区别(取消mutation,独立仓库,支持TS)看你项目中用到了redis,说说redis和mysql的区别(键值对存储、分布式、SQL语句、事务、内存存储、应对高并发)你在redis中存过什么数据类型(不太懂,只用它做过缓存,分别是登录和一个文章分页的缓存)vite用过吗(简单用过)vite和webpack的区别是什么呢(八股)vite项目怎么部署到线上(不太懂,是vite直接跑在线上?只回答我的项目是打包好丢在nginx上的)部署过vite项目吗(没,我上面部署的项目是用vue2+webpack的)你项目里图片压缩是怎么做的(转换成base64画在canvas上,利用它的api去输出)这个压缩是用在什么地方呢?(上传到后端之前做一个压缩)防抖节流的作用(常规八股了,顺便举了举懒加载用节流的例子,带出了下面的图片懒加载)项目中的图片懒加载怎么做的(先加载20张,下拉后再加载20张)还有另一种懒加载形式,了解过吗(虚拟列表)mutationObserver(听说过,不太了解)Intersection Observer(没了解过)解释型语言和编译型语言(这个八股没有系统性的梳理过,说的有点乱,不过也算是答上来了)说说面向对象面向对象的三大特征(封装、继承、多态 没想到两年前背的我居然还记得,感谢大二的期末考试)说说多态(今天刚复习的八股)JS如何模拟多态呢(和java搞混了,答了继承这一方面,通过继承在原型链上实现方法的遮蔽,下来想想不对劲)你说的好像是继承,多态如何实现呢(我又圆了一下上面的,没答好)面试官又引导了一下,问我js怎么实现函数重载(渡一的短视频讲过,说了一下思路)并发和并行有什么区别(没了解过,我猜的是并发是同时发送大量的请求,而并行是多个进程或线程的并行执行)说一下内存泄露和内存溢出(老八股了)你在说内存溢出的时候说会有函数递归调用导致的溢出,那js对他有什么优化吗(红宝书上有一节讲过,尾递归的优化)学过计算机硬件,说一下中断和异常(不太清楚,说歪了)web worker的作用(多线程)script标签中的defer和async(八股)大文件断点续传是怎么做的(计算并记录切片的哈希值)前端如何实现的文件分片(input接受文件,拿到文件指针,对它进行分片处理,要计算哈希值的话需要使用fileReader读取文件内容再进行哈希计算)协商缓存和强制缓存说一下(八股)协商缓存返回什么状态码(304)强缓存和协商缓存的header都还记得吗(上面八股里提到过)我不想让客户端有缓存,怎么做(cache-control设置no-store)说说跨域(老八股了)哪三个满足同源(协议域名端口)怎么解决跨域(CORS JSONP 代理 BFF)浏览器发请求时有个options请求,做什么的(跨域的预检请求)什么时候会发这个options请求?(正常的接口请求应该都会有,没仔细观察过)JSONP的原理(前端预定义好方法,通过script标签发起请求,后端返回方法调用,并为其传参,其中参数就是数据)平时如何学习你如何理解vue和react(说了说它们的设计思想)nodejs用过吗,用的什么框架(express和koa都简单用过)问了一个相关的东西,我没听过,也不知道在说什么,就过了编程题二分查找,但是要返回数组中的第一个出现的目标值,有点小插曲,不过ac了重排链表,之前做过,用分割翻转再拼接的思路做的,最后递归反转有点问题没做出来,面试官问过思路后就说可以了团子的进度属实是快,面完一天内就约下一面,后面三面和hr面都没涉及技术问题,坐等出结果,保佑保佑更新 上周五面的,周三发现回到人才库,问了一下hr,说挂了,他说他没有权限查看,也不知道原因,可能是排序挂了吧,不想努力了,签保底了
点赞 23
评论 12
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务