• 第一次前端面试总结(北森一面凉经)


    时间:2022.08.10晚

    1.自我介绍

    2.谈谈你的项目,主要做的什么,以及它的业务背景。

    (面试官:接下来我们分别进行几个话题,能聊多深聊多深...知道多少说多少....)

    3.谈谈你对vue的生命周期的理解?

       父子组件的执行顺序是什么?

       为什么父组件状态先生成,但后销毁?

       如何监听子组件的生命周期状态?(这个问题没有回答上来...)

        答:有两种监听子组件生命周期的方法:1.父子组件通信的方式,用$emit,就是在父组件上封装了一个v-on的事件用来监听子组件的事件,只不过事件名和钩子函数同名,当子组件发布时,即执行this.$emit('钩子函数created/mounted',参数)时,在父组件则可以监听到,然后执行回调。2.@hook 方法可以监听子组件的任何的生命周期。子组件不需要发布。直接在父组件中,插入子组件的地方,使用@hook.声明周期函数名="函数名"即可.

    $emit的例子:

    1. 父组件:
    2. <script>
    3. export default Vue.component("HelloWorld", {
    4. ...
    5. methods:{
    6. handleDoSomething(data){
    7. console.log('监听到子组件生命周期钩子函数mounted时,触发该回调',data)
    8. }
    9. },
    10. components:{
    11. "child-component":ChildComponent
    12. }
    13. });
    14. script>
    15. 子组件:

    hook的例子:

    1. <script>
    2. export default Vue.component("HelloWorld", {
    3. ...
    4. methods:{
    5. handleDoSomething(data){
    6. console.log('监听到子组件生命周期钩子函数mounted时,触发该回调',data)
    7. }
    8. },
    9. components:{
    10. "child-component":ChildComponent
    11. }
    12. });
    13. script>

    4.有一个tab键,如何通过切换tab来实现背景颜色或者其他样式的转换?

    (我说了两种方案,一个用动态class,一个用v-show;面试官说可以实现,但后续要优化的操作太多,有没有别的?emm没想出来)

    5.谈谈你对promise的理解?

       回调地狱怎么理解?

       promise是如何解决的?

    (最后面试官问的地方不会,但忘记具体问的啥了,依稀记得是用settimeout不断进行异步嵌套会有回调地狱危险,那promise是怎么进行解决的,它是在每次then后再用settimeout吗?那这样不是没什么改变吗。。?)

    6.手动实现一个promise.all的功能

    (菜,这个地方没有复习到,手写代码的部分还没来得及去看)(我说不大会写,面试官说,可以说说思路;我说可以用计数,有promise状态成功执行后就加一,直到计数值等于总数就返回;然后面试官点头说就着这个思路写写。。  然后,,依旧不知道咋写)

    7.反问

    (此时心情已经down了,就随意的问了下底层源码是不是看?问完就觉得是个废话,面试官很有耐心的跟我说,当你工作两三年,底层是必要。。。)

    总结:面试官全程非常和蔼,语气柔和,体验很好。但对我来说是个惨痛经历,都是半知半解的状态。。。让我知道,我还有很长的路要走,虽然这次面试就是为了查缺补漏,不追求结果,但还是小小的emo了,感觉自己太菜了,小李还要加油鸭!

    面试考察的知识点一个是四个部分,项目、vue、js,css,手写代码。

    1.原理和流程需要深入,尽量能够完整的在脑子里走一遍。

    2.尽量能将各个知识点进行串联起来,它们之间的相通点。

    3.要再多刷手动代码,例如手写instanceof实现原理,promise.all的手写方法等

    4.虽然这次没有问算法题,但依然要多刷

    多实践!多实践!多实践!

  • 相关阅读:
    LNMP架构&部署Discuz论坛系统
    计算机概述
    人工智能在农业领域的五个应用案例
    Java&C++题解与拓展——leetcode剑指Offer II 091.粉刷房子【么的新知识】
    剑指offer专项突击版第20天
    百度地图 获取某个区域的经纬度 baidu-map 地图绘制
    大厂linux运维面试题库(一)
    复习Day02:数组part02:977. 有序数组的平方、209. 长度最小的子数组、904. 水果成篮、59. 螺旋矩阵II
    ATX Power Supply
    Redis 常用命令
  • 原文地址:https://blog.csdn.net/lijunyan5/article/details/126277786