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

字节一面

优质
小牛编辑
75浏览
2024-08-30

字节一面

烂完了,手撕做出来一半,尸体凉凉的。。。

一面 90min

  • 自我介绍
  • 进程与线程
  • 协程与线程
  • 多线程的通信
  • 共享内存、消息传递和管道流
  • 一些编程语言提供原子操作,举个例子
  • go的atomic包实现的原理?不会,答了记录状态回滚,错了
  • * 正确答案是:Golang的atomic包的原子操作是通过CPU指令实现的。在大多数CPU架构中,原子操作的实现都是基于32位或64位的寄存器。Golang的atomic包的原子操作函数会将变量的地址转换为指针型的变量,并使用CPU指令对这个指针型的变量进行操作。
  • *例如,当我们调用AddInt32函数时,Golang会将变量的地址转换为int32类型的指针,并使用CPU提供的原子指令对这个指针型的变量进行加法操作。这样,就可以保证对共享变量的操作是原子性的。
  • *在x86架构的CPU上,原子操作是通过lock指令实现的。lock指令可以将内存操作变成原子操作,保证多个CPU同时访问同一内存地址时的正确性
  • http请求的过程封装信息,DNS,封装TCPIP包,发送,NGINX负载均衡,某个实例,服务器处理
  • 子网掩码有什么作用
  • TCP三握
  • 了解SYN攻击吗
  • 有什么防御的手段
  • HTTP2.0 1.1的区别
  • HTTP基于TCP吗?
  • QUIC基于UDP,那么他和之前的HTTP有啥区别(就是tcp和udp区别
  • mysql索引结构
  • ACID的原子性是如何实现的
  • go闭包了解吗?(寄
  • *闭包是由函数和与其相关的引用环境组合而成的实体 。
  • * 详细的懒得码了,到时候一并合到八股文档里,先看https://zhuanlan.zhihu.com/p/92634505把
  • defer,执行流程
  • golang并发控制
  • channel
  • waitgroup
  • GMP调度流程
  • 如何评估程序性能,排查性能优化
  • pprof,testing包

手撕(噩梦来了,我草,太傻比了后面想想

  • 给几个一位数如[1,2,5,7],给定一个n
  • 求由这些数能组成的,比n小的最大值是多少
  • 唐了,没想到9999 和10000这种位数不同的情况
 类似资料: