字节网络2面凉经 5.21 后端开发

  1. 请先做个自我介绍。

  2. 在实习项目中,有用 AI 辅助 coding 吗?

  3. 实习项目相关(占大约一半面试)

  4. 无锁队列的实现原理是什么?对比其他队列的优势和劣势?为什么不是所有场景都用无锁队列?

  5. 锁的种类有哪些?各自的使用场景?

  6. TCP 保证可靠传输的机制有哪些?

  7. 能讲一下 TCP 连接的状态机流转过程吗?

    一、连接建立(三次握手)

    假设客户端主动发起连接,服务器被动监听。

    步骤 客户端状态变化 服务端状态变化
    初始 CLOSED LISTEN(监听端口)
    1. 客户端发送 SYN SYN_SENT
    2. 服务端收到 SYN,回复 SYN+ACK SYN_RCVD
    3. 客户端收到 SYN+ACK,回复 ACK ESTABLISHED
    4. 服务端收到 ACK ESTABLISHED

    状态说明

    • LISTEN:服务器等待连接请求。
    • SYN_SENT:客户端已发送 SYN,等待服务端确认。
    • SYN_RCVD:服务端收到 SYN,已发送 SYN+ACK,等待客户端的 ACK。
    • ESTABLISHED:连接建立成功,可以传输数据。

    二、连接释放(四次挥手)

    假设客户端主动关闭,服务端被动关闭。

    步骤 主动关闭方(客户端) 被动关闭方(服务端)
    初始 ESTABLISHED ESTABLISHED
    1. 主动方发送 FIN FIN_WAIT_1
    2. 被动方收到 FIN,回复 ACK CLOSE_WAIT
    3. 主动方收到 ACK FIN_WAIT_2
    4. 被动方发送 FIN LAST_ACK
    5. 主动方收到 FIN,回复 ACK TIME_WAIT
    6. 被动方收到 ACK CLOSED
    7. 主动方等待 2MSL 后关闭 CLOSED

    状态说明

    • FIN_WAIT_1:主动方已发送 FIN,等待对方 ACK。
    • CLOSE_WAIT:被动方收到 FIN,等待应用程序关闭连接。
    • FIN_WAIT_2:主动方收到 ACK,等待对方发送 FIN。
    • LAST_ACK:被动方已发送 FIN,等待对方 ACK。
    • TIME_WAIT:主动方收到 FIN 并回复 ACK,等待 2MSL(Maximum Segment Lifetime,通常 2 分钟)确保最后的 ACK 能被对方收到,并让旧报文在网络中消失。
    • CLOSED:完全关闭。
  8. 进程间通信方式有哪些?共享内存的实现原理是什么?

  9. C++ STL 容器在插入/删除后,迭代器失效的情况?举例说明。

  10. C++11 之后的智能指针有哪些?使用场景?shared_ptr 多线程修改需要加锁吗?为什么?

  11. 算法设计题:100 亿个 32 位整数,内存限制 256MB,如何找到中位数?

  12. 设计题:管理 1000 万个定时任务,支持 add、超时回调、cancel 操作。请说出关键设计思路。

  13. 手撕

  14. 你对岗位有什么问题吗?(工作内容、实习生评估标准、实习时间等)

#发面经攒人品#
全部评论

相关推荐

05-21 18:12
门头沟学院 C++
字节财经业务客户端一面该岗位是面向ios 安卓 跨端的客户端全栈岗疯狂攒人品中!...1. 自我介绍 实习经历2. 问我这个app是负责什么的?做什么的?问我在公司的开发流程逻辑3. 实习期间重构模块的逻辑详细说一下,改了什么?最后优化了什么?4. 平时怎么用开发的?用ai怎么开发?用的什么工具?5. 客户端怎么跑CI做CI验证呢?怎么做到的呢?6. 有没有什么中等以上的需求?讲一讲(1000行以上的代码变更)7. 怎么去学习负责重构的业务的?从学习到完成需求是怎么个过程?8. vibe coding怎么避免后续代码变化?膨胀堆屎山?有什么自己的解决办法9. 有没有听说过 Spec coding?讲一下10. 讲讲进程跟线程的区别?11. 讲讲数组跟链表的差异12. 如何提升数据库的查询效率?13. ios常用的系统ui组件讲一讲?Tableview讲一讲14. 讲讲collectionView?它的所有视图都会创建对象吗?15. 讲讲MVVM跟MVC的区别,比mvc强在哪?16. 第一道算法递归计算1+2+...n17. 第二道找出字符串中最长无重复子串18. 你感觉ai对整个日常研发流程的提效能有多少?19. 有没有担心如果没有ai基础设施,程序员会怎么样?不要过度依赖ai20. ai开发具体经历了那些阶段?21. 听说过harness吗?讲讲,说说最近的趋势22. 看看博客(没绷住  讲讲日常怎么学习的23. 反问了一手评价(这时候他才发现我大二。。。ps:时长1h,感觉一面难度尚可算简单的了于是乎直接闯进二面
查看22道真题和解析
点赞 评论 收藏
分享
点评被问穿了,项目用点评的可以看,最近一直看Agent了,点评都忘了,回答很烂,但是面试官人很好,一直在教我怎么思考,怎么做技术选型,面试都不白面啊1.先讲一下你的项目的架构,怎么组织的,为什么这样组织2.多级缓存怎么做的,考虑了哪些缓存一致性问题,多个服务器本地缓存、redis缓存、DB之间数据一致性怎么解决3.旁路缓存太low了,而且你是高并发,并不能很好的解决这个问题,面试官举例了很多数据一致性实现方案4.秒杀问题,redis做预扣减,问题在哪里5.宕机了你怎么解决,容灾处理之后,还是有一部分数据丢失了你该怎么办6.对账补偿之后还是有一部请求的数据丢失了,这时候怎么办?7.redis一直宕机起不来,甚至你的容灾策略都出问题了,你该怎么办8.为什么采用kafka?9.你说的这些点RocketMQ也能做,RabbitMQ也能做,甚至redis stream也能做,为什么不用这些?10.你选kafka,kafka有什么缺点?11.共同关注计算,5000量级耗时多少,10万,100万呢?12.对于两个个亿万粉丝的大V,共同关注计算该怎么优化,用什么技术选型13.除了分页还有别的吗,在底层做优化?14.商户搜索是怎么做的,都包含哪些模式?15.这些模式的搜索用的什么技术,怎么优化搜索的方案能保证快,稳,准?16.布隆过滤器的缺点是什么?17.怎么优化,你是怎么重建的,存的数据量级有多大?18.布隆过滤器你用的哈希是几种,都是什么,为什么用这几种?
查看18道真题和解析
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务