记 2024/5/30 欢聚时代笔试,八股盛宴

实习

  1. 动态数据源切换,讲解具体流程,新加入一个省如何具体实现
  2. 人工客服MQTT具体如何实现流程
  3. 线程安全问题解决场景方案

项目

  1. rabbitmq实现延迟队列下单引入到八股

八股

  1. 计算机网络:输入一个url的整个流程,https做了什么,tcp拥塞控制,流量控制,超时重传,可靠传输,tcp和udp区别,对应的不同场景,在微信视频通话中tcp和udp的应用是什么

  2. 操作系统:进程与线程区别,虚拟内存和真实物理内存的映射等

  3. jvm内存结构

  4. 并发编程:多线程,线程池,AQS,悲观锁和乐观锁

  5. MySQL:MySQL底层数据结构,为什么使用B+树,联合索引,聚集索引和非聚集索引,回表查询,explain关键字,索引优化,慢接口如何排查,线上排查日志方式

  6. rabbitmq消息的可靠性如何实现,如何保证消息消费不重复

相关补充问答

在微信视频通话中tcp和udp的应用是什么

在视频聊天应用中,TCP(传输控制协议)和UDP(用户数据报协议)都有其特定的应用场景,基于它们各自的特点。下面是这两种协议在视频聊天中的具体应用场景:

UDP 在视频聊天中的应用

  1. 视频和音频数据传输
    • 实时性:视频聊天对实时性要求很高,UDP传输不需要建立连接,也没有确认机制,数据包一旦发送就不会被重传,这样可以降低延迟。
    • 容错性:视频和音频流对于少量的数据丢失具有容错性,偶尔丢失几个数据包不会显著影响用户体验。
    • 效率:UDP头部较小,传输效率高,适合频繁、大量的小数据包传输,如视频帧和音频样本。

TCP 在视频聊天中的应用

  1. 信令和控制信息

    • 可靠性:TCP提供可靠的数据传输,通过确认机制和重传保证数据的完整性和顺序。这对于视频聊天中的信令(如呼叫建立、挂断、会话参数协商等)非常重要,因为这些信息必须准确无误地传输。
    • 有序性:TCP确保数据按顺序到达,对于需要顺序处理的控制信息非常关键。
  2. 初始连接建立

    • 握手过程:在视频聊天开始时,TCP可以用于建立和协商连接参数,例如通过HTTP或HTTPS协议来进行身份验证和传输加密密钥等信息。

总结

  • UDP 主要用于传输实时性要求高的视频和音频数据,因为它传输速度快、延迟低,并且能容忍部分数据丢失。
  • TCP 则用于传输信令和控制信息,需要可靠性和有序性保障的地方,确保视频聊天的控制部分能够准确无误地进行。

这种分工利用了两种协议各自的优势,使得视频聊天应用既能保证实时性和流畅度,又能确保连接和控制信息的可靠传输。

5/31 凉经了。。。。。。。