字节实习二面

文章详细介绍了网络的OSI七层模型和TCP/IP四/五层模型,指出TCP、UDP属于传输层,HTTP、HTTPS属于应用层。讨论了TCP的三次握手和四次挥手过程,以及HTTP与HTTPS的安全性差异。此外,还涉及进程与线程的区别、同步与异步的概念、Java实现多线程的方式,以及Spring、SpringMVC、SpringBoot在应用程序开发中的角色。

网络体系结构分层(7、5、4)

答:

OSI七层网络体系结构:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

TCP/IP四层网络体系结构:物理层、网际层、传输层、应用层

TCP/IP五层网络体系结构:物理层、数据链路层、网络层、传输层、应用层

TCP、UDP协议属于哪一层,HTTP、HTTPS呢

TCP、UDP属于传输层的协议

HTTP、HTTPS属于应用层

TCP三次握手和四次挥手

三次握手:

  1. 客户端向服务端发起一个SYN包,其中携带有客户端生成的随机编号X
  2. 服务端接受到客户端的SYN包后会返回一个ACK确认包(X+1),同时返回一个SYN的包,服务端生成的自己的随机编号Y
  3. 客户端接收到服务端的ACK后随即返回一个ACK确认包(Y+1),随即客户端进入链接建立成功状态,服务端在接收到ACK包后随即进入链接成功状态

四次挥手:

  1. 当客户端向服务端发送的数据完成后客户端会主动请求断开链接,此时客户端会发送一个FIN包表明需要断开客户端向服务端的数据传输通道
  2. 服务端接收到FIN包后返回一个ACK包,表明知道客户端准备断开向服务端的数据传输
  3. 客户端接收到ACK包后随即断开向服务端的数据传输
  4. 服务端向客户端传输的数据发送完毕后,主动向客户端发送一个FIN包,表明服务端也将断开链接
  5. 客户端接收到后返回一个ACK包随即进入time_wait状态,服务端接收到ACK确认包后即断开
  6. 如果在time_wait时间内客户端没有再接收到数据,则客户端也进入断开链接的状态

HTTP和HTTPS区别

  • HTTP是明文传输的,HTTPS是基于SSL协议实现的对数据加密传输形式的HTTP。

  • HTTP默认使用80端口,HTTPS默认使用443端口

  • HTTP传输效率比较高,HTTPS传输效率较低

  • HTTP安全性较低,HTTPS安全性较高

  • HTTP不需要证书,HTTPS需要额外证书

HTTPS加密流程

  • 浏览器将自身支持的对称加密协议发送给服务端
  • 服务端接选出自身同样支持的对称加密协议,并且将自己的非对称加密的公钥一起返回
  • 客户端生成该对称加密协议的密钥,使用服务端的公钥进行加密并返回服务端
  • 服务端使用私钥进行解密,获得对称加密的密钥
  • 随后双方使用对称加密进行数据加解密

进程和线程区别

  • 进程是操作系统中资源分配的最小单位,线程是操作系统中CPU调度执行的最小单位
  • 线程属于进程
  • 线程与线程之间的数据共享是很容易的,进程与进程之间的数据共享比较困难
  • 一个线程崩溃后很容易影响到其他线程,进程崩溃后很难影响到其他进程

进程的状态及状态切换

进程的状态主要有:创建态、就绪态、运行态、阻塞态、挂起态

就绪态➡运行态:进程获得CPU的执行权

运行态➡就绪态:进程时间片到时间释放掉CPU

运行态➡阻塞态:进程需要进行IO或者进程等待的资源未到达

运行态➡挂起态:系统内存空间不足将部分进程挂起到磁盘

阻塞态➡挂起态:同上

同步和互斥的概念(没答好)

互斥:进程之间共享临界资源,需要保证各个进程对资源的互斥的访问临界资源,是一种间接制约的关系

同步:进程之间存在某种时序关系,例如进程A需要在进程B之后执行,是一种直接制约关系

并发、并行、异步的区别

并发:同一时间有多个进程在运行,进程处于交替执行的状态

并行:在多处理器的情况下,多个进程在同一刻由不同的CPU进行执行

异步:异步是和同步相对应的,同步是顺序执行而异步中,某个事件不需要等待其他事件是否执行完。

多线程是实现异步的方式。

java实现多线程的方法

  • 继承Thread类
  • 实现Runable接口
  • 实现Callable接口
  • 使用线程池

各种方式的区别(没答好)

因为java中没有多继承所以通过继承Thread来实现多线程的话这个类就没有办法继承其他类

使用Runable接口的话相当于将多线程任务和多线程创建和执行分离开了,并且继承Runable接口还可以避免单继承的问题

Callable接口类似Runable只是Callable接口可以定义带返回值的方法

线程池通过提前创建线程和保留部分线程来避免重复创建销毁线程的开销,提高了运行效率

线程池

线程池底层有一堆存活线程以及一个任务队列,创建线程池时有几个重要参数:核心线程数、最大线程数、存活时间、任务队列、拒绝策略

当我们向线程池提交任务时,线程池会检测当前是否有空闲线程,如果有则直接执行。否者将任务放入任务队列中,等待空闲线程执行。如果任务队列满了的话则会检测当前线程数是否达到了最大线程数,如果没有则创建一个线程来执行,否者执行拒绝策略。

线程池拒绝策略有哪些(忘了第二个)

  1. 直接抛出异常
  2. 由调用者来执行
  3. 丢弃任务队列中最老的任务
  4. 直接丢弃任务

Spring、SpringMVC、SpringBoot的区别和联系

PS:答得不好,当时脑子有点乱说的我自己都尴尬,其实是答道了关键的但是一直在重复说。

Spring是SpringMVC、SpringBoot的基本框架,它主要提供IOC和AOP两种功能。

SpringMVC是基于Spring的一个WEB层框架

SpringBoot是整合了Spring、SpringMVC以及其他的一些框架的一个框架,它其中内嵌有Tomcat服务器,使得开发Web应用更方便,屏蔽掉了以前Spring、SpringMVC框架很多的配置文件。

Spring Bean是否有并发问题

Bean是有并发问题的,但我们平常使用的Controller、Service这些Bean,主要是直接调用它的方法没有数据共享发生。

解决办法:Synchronized等同步方式

JVM的内存分布

运行时数据区:线程共享的方法区、堆,线程不共享的虚拟机栈、本地方法栈、程序计数器

堆和栈的区别

栈中主要存放基本数据类型,以及引用数据类型的引用

常用的垃圾收集器

CMS、G1

CMS基于标记清楚和标记整理

G1是基于Region的

Redis ZSET的数据结构,如何实现跳表

ZSet底层有两种数据结构:ZipList和跳表

当元素少时使用压缩列表

img

算法:二分查找的迭代、递归写法

​ 检测链表是否有环,有环则返回入环点

​ 两条链表返回是否相交,如果相交返回交点

​ 两个循环链表是否相交,如果相交返回交点

### 字节跳动多模态实习第三轮面试经验及相关准备 #### 面试流程概述 通常情况下,字节跳动的多模态算法岗位实习生招聘会经过多轮筛选,其中包括简历初筛、技术笔试以及多次技术面谈。根据已有案例描述[^1],在前两轮面试中,候选人可能已经完成了基础的技术问答和个人项目的深入探讨。 对于第三轮面试而言,重点往往在于考察候选人的综合能力和对特定领域(如多模态处理)的理解程度。此阶段可能会涉及更深层次的技术细节讨论和实际场景应用分析。例如,在自我介绍部分,除了常规的信息展示外,还需要突出与目标职位高度匹配的经验和技术优势[^3]。 #### 关键知识点复习建议 以下是针对该类岗位所需掌握的核心概念及其扩展方向: 1. **Transformer架构详解** Transformer是一种基于自注意力机制设计出来的神经网络模型结构,广泛应用于自然语言处理等领域。它通过引入multi-head attention层来替代传统RNN/LSTM中的序列依赖关系建模方式,从而实现并行计算加速训练过程的同时提升性能表现。 下面是一个简单的PyTorch版本实现代码片段用于说明其基本组成单元之一——Scaled Dot Product Attention 的逻辑: ```python import torch def scaled_dot_product_attention(query, key, value): dim_k = query.size(-1) scores = torch.matmul(query, key.transpose(-2, -1)) / (dim_k ** 0.5) p_attn = F.softmax(scores, dim=-1) output = torch.matmul(p_attn, value) return output ``` 2. **图像特征提取方法对比** 掌握主流CNN框架的工作原理及优缺点比较非常重要,比如ResNet,VGG等经典卷积神经网络如何逐步优化解决梯度消失等问题;另外也要熟悉一些轻量化设计方案MobileNets系列或者EfficientNet家族成员的特点以便应对移动端部署需求下的效率考量。 3. **跨模态融合策略探索** 当涉及到视频理解任务时,音频流、视觉帧之间存在着复杂的交互作用需要合理表征出来才能达到最佳效果。可以考虑学习一下CLIP这样的预训练大模型是如何构建统一语义空间使得不同类型的输入能够映射到相同维度向量表示进而便于后续操作。 #### 注意事项提醒 最后值得注意的是保持良好心态面对挑战性提问不要慌张,即使遇到完全陌生的话题也可以尝试从已知角度切入寻找突破口展现思考路径给考官留下深刻印象[^2]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shenyang1026

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值