字节基础架构后端开发一二三面面经,许愿Offer

反馈社区,许愿Offer!!

时间线

  • 投递 3.21
  • 一面 3.23
  • 二面 3.28
  • 三面 4.2
  • hr面 4.8

不得不说,字节的流程真的快呀!

一面

一个小时

  1. 三个项目轮流拷问
    • 联合文件系统、
    • 怎么挂载、怎么设置根目录
    • 怎么配置网络,怎么通信
    • ....

二面

40分钟
态度很好

  1. 项目
    • 上下文切换,汇编代码解释
    • 举例说明计算密集型和IO密集型
  2. 算法
    • 用互斥锁实现读写锁
  3. 反问
    • 业务和技术栈

三面

35分钟

  • 实习过吗?
    • 实习过,在字节
    • leader是谁,肖战(x
    • 哄堂大孝 xswl
  • 自我介绍
    • 看到博客,The Future of Docker Containers 举例:eBpf和无状态
  • cat命令发生了什么?
    • 只知道从磁盘读取文件再打印出来
  • wget url过程
    • 解析命令
    • fork+exec,将wget binary装载进去并执行
    • CLONE和exec的区别
    • 请求url涉及的过程:接受到网络包的过程,网卡,中断,协议栈,read
    • 有什么提升网络性能的方法:
      • 绕过内核:ebfd, DPDK
      • 其他:不会了/哭哭
  • C++
    • vector<node> new一个struct数组是如何调用构造函数的
      • 分配空间再调用构造函数呗
      • 面试官一直追问怎么调用构造函数的
      • 我说知道内存地址,知道构造函数指针地址,不直接构造就行?
      • 最后才明白,他大概是想问placement new,在指定内存上调用构造函数
      </node>
    • 和在栈上构造有什么区别:栈上是编译器帮忙调用的,new是相当于程序员自己调用的?
  • 项目:
    • 讲一下goroutine是如何实现的
    • 什么时候调用yield?用户不会调的,事件未就绪的时候掉调用,例如read调用返回0和EAGAIN时
    • for死循环会调用吗?我们将计算密集型和IO密集型分开,和go一样,我们有10ms系统级抢占机制
  • 体系结构记得哪些?
    • 一些折中和并行思想吧,像cache,虚拟地址空间,TLB,五级流水线
    • TLB的作用:快表,相当于页表的cache
    • 虚拟内存的作用:提供统一的管理和访问;程序的编写,装载,链接,执行;进程的隔离;内存管理;扩大内存
  • 编译原理记得哪些?
    • L1、L2、L3文法,递归下降法,语法树和各种自动状态机、中间代码优化
    • 编译的过程:预编译、编译、汇编、链接
    • 预编译干什么:宏定义展开,替换等
    • 词法分析和语法分析在哪一步:编译
  • 讲讲Code style
    • 举一些例子:智能指针,传引用而不是值,返回值优化
    • Google Code style看过吗? 昨天翻过(但是我没读。。。
  • 反问
    • 我:没什么问题,二面面试官介绍过了
    • 面:那我不讲了
    • 我:您还是讲讲吧
    • 我:呜呜呜呜呜呜呜呜

hr面

15分钟

  • 没有自我介绍

总结

字节的流程也比较快,面完通常会立即出结果,也会发邮件让选择下次面试时间,而不是知会你(实名批评某T姓大厂
多谢字节手下留情,没整什么hard题
最后,许愿Offer,给我Offer.....求求

更新:
收到offer啦🌶🌶🌶

#暑期实习##实习##面经##求面经##面试流程##C/C++##字节跳动##后端开发#
全部评论
我去,这些底层知识我根本不懂
点赞 回复 分享
发布于 2022-04-08 14:56

相关推荐

1 28 评论
分享
牛客网
牛客企业服务