当前位置: 首页 > Web前端 > vue.js

【2020面试真题】这15道面试真题,你能答对几道?

时间:2023-03-31 21:01:49 vue.js

事发原因含泪劝告:没有准备的周末不要去罗面,不要去罗面,不要去罗面,不要去罗面。一旦你受到批评,你的周末和你的信心就会被彻底毁掉。我为什么这么说?这是怎么回事?事情是这样的:这个周末,手机弹出一条关于某工作的信息。想看看现在的前端概况,于是投了简历,然后就开始开心的玩起了手机。过了一会儿,电话直接来了,问现在方便吗,就想聊聊了解一下。我想,只是聊天?没关系,反正就一面,简单说一下。我回答:是的。没想到就是这三个字,让我的周末如坐针毡,心受到重创。整个面试过程中,有的回答似是而非,有的只记得大概意思,有的直接挠头。到现在我的内心还是无法平静,急切的把话题分享出来让更多的人看到2020年的真实情况。答案没有详细整理,只有思路,语言应该自己组织。来,来感受一下我是如何被暴击击中的!!!大事记1.JS是一种面向对象的语言,说说面向对象语言的三大特点?答:这个很简单。我自信地说:封装、继承和多态。面试官轻轻哼了一声。我的自信+1,我想,好吧。2.说说你是怎么理解JS中封装和继承这两个特性的?答:完了,给自己挖坑了,都是套路。封装是指隐藏逻辑实现过程,只对外暴露属性和方法,用户只需要知道如何使用,而不需要关心内部是如何实现的,目的是简化实现过程,实现多次复用,提高开发效率,当需要维护时,将业务逻辑和工具功能分离,降低迭代成本。继承是指一个对象与另一个对象建立父子关系,使子对象可以拥有父对象的属性和方法。继承的目的是实现功能共享,通过“借用”父对象的特性,避免重复编写功能模块,避免占用多余的内存空间。3、JS中函数继承主要继承什么?函数体可以继承吗?为什么?答:我皱了皱眉,发现事情不简单。前三个合着的问题,都是逐渐深入和细化的。幸好之前学过一点,勉强抵挡不住:JS函数的继承主要是继承函数名,没办法实现函数体的继承。至于为什么,我记不太清了。我的心开始焦躁起来,好像记起来了,只是又记不太清了。置信度值开始下降~4。声明一个函数fn,在上面使用typeof,结果返回什么?那我给fn加一个属性,会报错吗?为什么?答:主要查的是型式检验,我不介意。结果作为函数字符串返回。添加属性不会报错,因为在js中,函数不是真正的函数,函数本身就是object对象,对象可以添加属性和方法,所以不会报错。信心又回来了一点~5.定义一个字符串,对这个字符串使用typeof,结果会返回什么?既然返回的结果是一个字符串,而属性和方法只对对象可用,为什么split、join()、length等方法和属性可以用在我定义的字符串上呢?答:怎么又是typeof呢?你刚才不是问了吗?别的不说,直接回答:字符串形式的string。哦,所以我在这里等着,因为我想测试原型和原型链。不要害怕,稍微了解一下:在JavaScript中,全局环境存在于简单数据类型的对象中,String对象就是其中之一。所有的字符串都是这个对象。比如我们在字符串上使用方法和属性的时候,其实字符串本身并没有对应的方法。这时,JavaScript会向上查找原型链,最终在对象String上找到对应的方法和属性。而且这个过程对开发者来说是不敏感的,所以看起来像是在调用字符串本身的方法。信心加一~7。在ES6中,promise可以实现异步的原理是什么?我新建一个promise,然后在这个promise实例上使用typeof,结果是什么?promise实例接收的参数是一个函数,函数接收两个参数,一个resolve和一个reject,为什么resolve之后可以执行后面的代码呢?答:啊,这个~,磨了半分钟,原理,记不太清了,typeof返回的对象是字符串形式;至于为什么能继续执行,这个就不清楚了。信心值在下降~面试官:没关系,你不会也没关系,那我问你几个简单的CSS问题。我:好吧(心里:以前看过promise的原理,怎么没详细看呢,算了,先说后者吧~,css应该更简单)。8.我有一段文字,但我不知道它有多长。如何让单行文字居中,多行文字居左显示?答:啊,这~这不是CSS吗?为什么我没有想法。我试探性地问面试官:“是用属性实现的吗?”尽量拖延时间,仔细想想,顺便搜集一些资料。面试官毫不犹豫的回答:不在乎几个属性,能实现就行。我:我没有得到任何信息,我只能说我不知道??。后来发现,检查flex的时候,当单行文字不够时,会居中,多行自动向左折叠:display:flex;弹性方向:行;证明内容:居中;9.我想实现一个动画,我有什么?替代实施?平滑的动画帧到帧间隔有什么要求?答:html5动画、js动画、CSS3动画。大多数情况下,最高的绘图频率只能是每秒60帧(framepersecond),对应显示器的60Hz。如果低于这个频率,肉眼会感觉到画面不流畅。如果高于这个频率,就会消耗性能。因此,通常采用的时间间隔为1/60,即16.7ms。10、React中的setState什么时候是同步的,什么时候是异步的?为什么原生方法和事件可以同步?答:这个我知道:原生的事件和方法是同步的,React封装的事件是异步的。为什么?这个……这个……以前看过忘记了。你熟悉crit+111.vue吗?你用过nextTick吗?作用是什么?让自己实现一个nextTick,说说你的想法?答:这个有点理解,nextTick是用来执行DOM更新完成后的回调函数。实现这个想法,我还没想好。暴击+112。你认为前端工程包括哪些内容?代码模块化有哪些问题和缺点?答:最后,我们来了一个比较大的问题,大致说一下:工程化是前端项目高效开发的总称,包括:构建、部署、日志监控自动化、项目模块化、编写规范化、结构可视化、测试单元化等。因为模块化会把整体功能碎片化,所以找内容的时候需要回头看,还需要引入构建工具根据依赖打包模块,增加了额外的成本。.由于问题比较大,前面的问题已经把我问糊涂了,所以这里虽然有话要说,但不好说。暴击+113。react和vue改变数据的方式在设计理念上有什么区别?答:我只是简单说了两种数据流的区别和页面之间的关系,并没有展开。感觉面试官不是很满意。14、你认为react的diff算法和vue的diff算法有什么区别?答:这个问题只有在详细了解两者之后才能比较。你可以自己总结一下。我的回答不是很好。15.谈谈你对当前前端发展的理解?答:开题,考察思维认知和发展规划,每个人都有不同的看法。赛事结果面试官:现在了解了大概情况,我们会认真对结果进行分级,如有通知我们会及时通知相关人员。今天的聊天大概到此结束。我:我的心态已经崩了……还没来得及详细整理答案,我有话要说,所以我含着泪把自己挨打的经历发了出来,希望更多知识薄弱的同学能早点壮大自己。结果一定很惨淡。我在文章中列出了情绪变化。细心的朋友一定发现了,心情动态图大致就像过山车一样。区分问题是在提升自信心之后设置的。他们不仅考查知识掌握情况,还考查面对困难时的心态调整和应变能力。大家在去面试之前,不仅要巩固知识,还要做好心理准备,防止面试时打心理战,不打不确定的仗。不说了,擦干眼泪,我要去补洞,越说越觉得脑袋嗡嗡作响。以上为面试真题,已无保留更新,大家可以拿来自测。比如,平台会为你推荐更多优质的主题文章,让更多人看到你在努力;关注,新干货发布时可以及时推荐,否则文章无法推送到首页,将无从得知最新更新的干货。