当前位置: 首页 > 面试经验 >

字节日常实习一面

优质
小牛编辑
82浏览
2024-01-24

字节日常实习一面

忘记录音了,记录比较模糊,被拷打了一个半小时,凉凉

时间/部门

2024/1/24
后端——商业化产品与技术

自我介绍

本硕西电
介绍了一下简历上写的三个项目

  • 跟着网上做的铁路购票系统
  • 自己手写的MQ
  • 服务外包竞赛项目

面试官提问

  1. RocketMQ 延时消息是怎么实现的?(针对第一个项目问的)
    我:使用 RocketMQ 的原因就是因为 RocketMQ 有一些内置的消息类型,延时消息就是其中一种。Kafka 里没有这个功能,所以这也是为什么没使用 Kafka。
    面试官:那你知道 RocketMQ 是怎么实现延时消息的吗?
    我:这个我目前还不太清楚,我下去看看。
  2. 你自己手写的 MQ 实现了延时消息和死信队列这些功能么?
    我:没有,我主要是模仿3.3版本之前的 Kafka,实现了消息持久化和主从选举。
  3. Kafka 新版本怎么实现主从选举的?
    (我答的 kraft)
  4. 消息队列怎么保证消费者的消息不丢失的?
    (我从 kafka 和 rocketMQ 两个消息队列怎么实现的来回答的)
  5. 消息队列怎么实现顺序消费的?
    我回答了 kafka 的两种方式和 rocketMQ 有内置的顺序消息类型
  6. Kafka 生产者同步发送、异步发送和发送后遗忘,异步发送也可以使消息有顺序性么?
    我没有想过这个问题,所以当时回答的使按理来说有可能会导致消息乱序,但是我猜kakfa做了相应的应对措施。(但事实上,Kafka 并没有做对应的措施,如果异步发送的话,发送到 broker 里就有可能是乱序的,那消费的时候也是乱序的)

手撕

  1. 约瑟夫环
    没做过,讲对了思路,但是最后空指针异常了,不想找bug了,就下一个题了。
  2. 给一个图书管理系统设计数据库表
    这个过程面试官一直在引导,体验很好。一开始说了基础的设计之后,面试官再加一些新的需求。
  3. 写 SQL 语句
    事先没想到会有这种,让我写一条 SQL 语句,在学生表、课程表(ID, TEACHER_ID, TEACHER_NAME, COURSE_ID, COURSE_NAME)、学生_课程表三个表中找出没选"XXX"老师课的学生。

其他

在手撕 2 之后,问了一些计算机网络的基础。

  1. 怎么用 UDP 实现 TCP?
  2. 在浏览器输入一个 URI,到页面渲染到你的浏览器上,这一段时间发生了什么?
  3. IP 是动态变化的,怎么根据 IP 找到你的电脑的?
 类似资料: