前端接收广播消息,后台使用消息总线rabbitMq。,熬夜整理小米前端面试题

68 阅读3分钟

总结

=============================================================

从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。

个人将这段时间所学的知识,分为三个阶段:

第一阶段:HTML&CSS&JavaScript基础

第二阶段:移动端开发技术

第三阶段:前端常用框架

  • 推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;如果因为我的笔记太过简陋不理解,可以关注我以后我还会继续分享。

  • 大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。

开源分享:docs.qq.com/doc/DSmRnRG…

1、后端像前端发送消息


import org.springframework.amqp.rabbit.core.RabbitTemplate;
public class TestController {
    @Autowired
    private RabbitTemplate rabbitTemplate;


    @GetMapping("test")
    public void test() {
            JSONObject params = new JSONObject();
            params.put("actualPrice", "123456");
            //定义一个队列;
            Queue queue = new Queue("ActualPriceBusEvent");
            //声明一个fanout类型的交换机
            FanoutExchange fanoutExchange = new FanoutExchange("jeecg.fanout.exchange");
            //将交换机和队列绑定一起
            BindingBuilder.bind(queue).to(fanoutExchange);
            //群发消息;jeecg.fanout.exchange是交换机名称;
            rabbitTemplate.convertAndSend("jeecg.fanout.exchange", "",                                         
     params.toJSONString());

    }
}

2、前端:www.cnblogs.com/tcz1018/p/1…

/*前台订阅频道时要写清楚交换机的路径,否则,无法接收消息,或只有一台客户机能接收消息。如果不清楚具体路径,浏览器控制台里可以看到:
>>> SUBSCRIBE
id:sub-0
destination:/

destination就是具体的路径了;
*/



import Stomp from "stompjs";

this.client = Stomp.client(this.mqttService);

//----------消息总线方法------------------
    mqtthuoquMsg() {
      //初始化连接
      const headers = {
        login: this.mqttUsername,
        passcode: this.mqttPassword,
      };
      //进行连接
      this.client.connect(headers.login, headers.passcode, this.onConnected, this.onFailed, this.virtualHost);
    },
    onConnected: function () {
      //订阅频道
      this.client.subscribe('/exchange/交换机名称/队列名', this.responseCallback, this.onFailed);
    },
    onFailed: function (frame) {
      this.$toast('获取实时积分单价失败')
    },
    // 回传消息
    responseCallback: function (frame) {
      //接收消息处理
      var price = JSON.parse(frame.body).actualPrice
      //处理自己业务逻辑


###  最后

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。



这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》  

![](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/9a4ec4e284174a00945268a91c72b1d9~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzM5MTQ5MjgwNjA=:q75.awebp?rk3s=f64ab15b&x-expires=1771921017&x-signature=a8WLYFl35cR%2F9zZHuluFNpfQPQk%3D)



最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://docs.qq.com/doc/DSmRnRGxvUkxTREhO)**

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。