字节节前搬家通知!你以为只是换个工位?

0 阅读6分钟

最近,字节又搞大动作了,不过这次不是发奖金,而是搬家。

春节前,字节国际化电商部门的同学先收到了消息:部门将从中关村的 e 世界,整体搬迁至北沙滩的东畔科创中心,预计这次搬家会在今年三季度完成。

这一条通知得挺猝不及防。要知道,e 世界算得上字节的核心老工区,当年和中航广场齐名,后来又成了教育业务的大本营。虽然不少同学吐槽 e 世界采光差、工区老,但好歹在中关村。如今这一脚油门踩到北沙滩,不仅通勤变长,估计还得把周边的房租带飞一波,想租房的同学估计得抓紧下手了。

不过换工区这事儿,也不止影响通勤。工区调整后,生活配套、人际协作,各方面都可能受到影响。

并不是说哪一个工区就是不好,e世界采光再差,也没挡住当年业务跑通;北沙滩再远,目前来看,也是业务扩张的硬性需要。

但无论是业务调整还是物理搬家,公司决策永远是从成本和战略出发,不会迁就你的舒适区。

这波搬家潮,你是打算跟着房租跑,还是跟着能力跑?

如果明天公司让你搬到五环外,你的第一反应是啥?

欢迎来评论区聊聊。

今天分享一篇字节面经。大家可以参考看看。

图片

篇幅有限,完整答案可以进入面试鸭 - 2026程序员面试题库大全 | 10000+Java/前端/Python面试题免费刷进行查阅。

浏览器在键入网址后,整个过程是怎样的?

这是一个从应用层到物理层,再跨越网络到达服务器,最后原路返回的过程。核心就是数据的封装(打包)和解封装(拆包)。

我们可以把它分为三个阶段:准备与打包(浏览器端)、网络传输(路上的事)、处理与响应(服务器端)

1)浏览器解析 URL

浏览器会解析 URL,根据请求信息生成对应的 HTTP 请求报文。

2)DNS 解析

请求需要知晓服务器域名对应的 IP 地址才能通信,浏览器会检查本地缓存、操作系统缓存,甚至路由器缓存。如果未命中缓存,浏览器向配置的 DNS 服务器发送查询请求,DNS 服务器递归查询最终返回 IP 地址。

3)TCP或者UDP

接着浏览器会调用 Socket 库委托协议栈工作,根据指定的情况选择 TCP 或 UDP。

如果使用 TCP,需要通过三次握手建立连接。需要在数据发送前通过三次握手与服务端建立连接。

此时得到了封装了 HTTP 数据的 TCP 数据包。

4)IP

在 TCP 数据包的基础上,再封装源地址 IP 和目标地址 IP 等信息,得到网络包。有了 IP 就能在多个网络节点中确定数据包的传输路径,最终能找到目标服务器。

5)MAC

得到网络包后,需要在 IP 头部的前面加上 MAC 头部,封装发送方 MAC 地址和接收方目标 MAC 地址。

MAC 用来确保子网内设备两点之间的通信寻址。(IP 是多个网络节点传输寻址)

6)网卡

这个时候,网络包还是存储在内存中的二进制数据,需要网卡把二进制数据转换为电信号,通过网线进行传输。

7)交换机

通过网线会连到交换机,交换机是二层网络设备。工作在 MAC 层,它会根据数据包中的 MAC 头找到另一个设备连接在交换机的哪个端口,然后传输。

如果找不到对应的端口,则会向交换机上的所有端口(除了源端口)广播。

8)路由器

路由器也是进行转发,但它是三层网络设备,包含 IP 层。利用路由器,数据在不同网络节点之间转发,最后到达服务器。

9)层层验证

服务器确认 MAC 地址匹配、IP 地址匹配,如果是 TCP 协议则看看序列号是否匹配,若匹配根据端口找到对应的监听进程,此时服务器上对应的应用就接收到数据了。

10)服务器处理

服务器接收到请求后,处理相应的业务逻辑,生成 HTTP 响应。这其间可能涉及到读取数据库、访问文件系统等。最终会生成响应给客户端(又是一层一层的封装 TCP、IP、MAC 等头部数据,得到最终传输的数据包),从网卡到交换机到路由器....

11)浏览器接收响应并渲染页面

经过多个路由器转发后,浏览器最终会接收到服务器返回的响应,进行页面渲染展示。

为什么 HTTP 是无状态的?

这样 HTTP 协议更加简单。每次请求和响应都是独立的,不需要维护复杂的状态信息。每个请求都是从头开始的,服务器只关心当前请求,而不需要跟踪或管理之前请求的内容。

死锁发生的条件有哪些?

死锁的发生必须满足以下四个条件,这些条件被称为“死锁的必要条件”:

  1. 互斥条件:每个资源只能被一个线程占用。
  2. 占有和等待:线程在持有至少一个资源的同时,等待获取其他资源。
  3. 不可抢占:线程所获得的资源在未使用完毕之前不能被其他线程抢占。
  4. 循环等待:多个线程形成一种头尾相接的循环等待资源关系。

只要我们打破上述的一个条件,就能避免死锁的发生。

子网掩码的作用是什么?

子网掩码是一种用来划分IP地址网络段的技术,通过引导网络流量分配,以实现更高效的网络管理。子网掩码与IP地址在计算机网络中共同使用,通过位运算来确定IP地址的网络部分和主机部分。

子网掩码通常以32位的二进制表示,与IP地址的32位一一对应。其作用是通过将IP地址的某些位设置为1来标识网络部分,将其他位设置为0来标识主机部分。

更多

💻 编程学习交流:编程导航
📃 简历快速制作:老鱼简历
✏️ 面试刷题神器:面试鸭
📖 AI 学习指南:AI 知识库