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


    时间: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.虽然这次没有问算法题,但依然要多刷

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

  • 相关阅读:
    Maven实战—搭建微服务 Maven 工程架构
    数据结构——排序算法(冒泡排序、选择排序、插入排序、归并排序、快速排序、搜索算法)
    含文档+PPT+源码等]精品基于NET实现的家电维修保养信息系统[包运行成功]计算机毕业设计NET毕业设计项目源码
    雷电模拟器上使用第一个frida(二)之su超级权限
    物联网-电力编辑器(一)
    ThreadLocal在接口参数间传递中的使用
    GET请求中传参List<String>的一些问题
    计算机视觉的应用17-利用CrowdCountNet模型解决人群数量计算问题(pytorch搭建模型)
    机器学习-Pytorch基础
    【无标题】【3D建模制作技巧分享】zbrush中如何卡硬边?
  • 原文地址:https://blog.csdn.net/lijunyan5/article/details/126277786