面试经历汇总

本文记录了作者在哲库、字节跳动、速腾聚创、百度、滴滴、快手和华为的面试经历,涉及网络开发、协议软件开发、自动驾驶等领域。面试涵盖TCP/IP、操作系统、数据结构、算法等多个技术主题,包括TCP粘包拆包、进程线程协程、网络I/O、智能指针等核心问题。
摘要由CSDN通过智能技术生成

目录

哲库-协议软件开发

 7.14一面

7.19二面

 字节跳动-网络开发

7.22一面

7.28二面

8.3三面

8.15HR面

速腾聚创

7.30一面

百度C++/go北京

8.10一面

8.11二面

滴滴提前批-自动驾驶车云平台与数据研发工程师

8.11一面

快手-网络研发

8.19一面

华为数通-协议开发-通用软件

8.27一面

8.27二面


哲库-协议软件开发

 7.14一面

  • 自我介绍
  • 给定一个结构体求`sizeof`
  • 一段while循环求`a`和`b`
  • 16位数高8位和低8位交换
  • TCP和UDP区别。追问:发送方发送了序列号0-100,接收方除了90都收到了,请问接收方发送给发送方的ack号是多少?答:90。追问:那发送方是把90-100全部发还是只发90。答:TCP中的SACK机制。
  • 链表删除指定节点p,未给头节点指针,给了指向节点p的指针

7.19二面

  • 项目P4语言介绍一下、项目进行时间介绍一下,在线如何实现的,和离线在实现层面区别,有没有遇到什么问题,如何解决的,耗费时间
  • TCP/IP协议
  • 有没有接触过通信相关课程
  • 发送方给接收方发0-10号报文,接收方每收到一个报文就给发送方发送确认号如何解决?答:累计确认。若现在场景为发送方每隔10ms发送一个报文(共10个报文),接收方若还是使用累计确认机制,需要100ms之后才发送确认号,时延会增大,这种场景下应该立刻发确认号,延申:确认号的发送时间是灵活的,可以根据历史信息(网络状况,延时等等)来决定
  • 手撕题:删除有序数组中的重复项

 字节跳动-网络开发

7.22一面

项目:

  • 介绍下项目,交流下他们部门主要做的,好像有重合,但是做的不太一样(网络监控、流量调度),流长对应到的实际问题场景是什么

C++

  • new和malloc的区别。延申问了vector中的allocator。
  • vector是怎么开辟空间的,适用什么场景。
  • map和set的底层以及区别。
  • 动态链接库和静态链接库的区别,在实际应用中如何考虑,一般情况下内存充足,保证应用程序时间响应

操作系统

  • 进程 线程 协程区别。延申讲到Go语言实现协程*****(那会已经听不太懂了)
  • 异步I/O与同步,I/O复用,写时复制
  • 现在内存大小16G,malloc(10G),会发生什么,如果现在再加一条语句给这些内存赋初值,又会发生什么
  • 操作系统内存的结构:五大部分。(我答了,但是面试官好像问的是要继续深入???进程调用时,内存的情况,用户态、内核态,没太听懂他要说啥了)

计算机网络

  • ping工作原理
  • TCP如何保证可靠传输
  • 在建立三次连接时,如果某个报文丢失了,会发生什么
  • 超时重传,超时重传的时间是怎么设置的
  • 什么是TCP粘包和拆包
  • TCP是面向字节流的,那么一个消息在多个报文中,怎么来恢复这个消息
  • 流量控制和拥塞控制区别

手撕代码:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值