字节跳动后端实习面试经验

字节跳动后端实习面试经验

由于参加了暑假的byte camp,所以面试是从二面开始的,顺便也说一下byte camp的面试,笔试的话可以在网上找到题。(byte camp体验非常好)

一面(byte camp)

  • 自我介绍
  • 进程和线程的区别
  • 创建一个进程时操作系统做了什么?
  • 内核态和用户态
  • 以QQ为例,应该怎么设计进程和线程
  • 进程通信的方式
  • 通信方式中哪个速度最快?为什么?
  • new和malloc的区别
  • malloc和realloc的区别
  • C++多态
  • 虚函数表
  • C++的锁的实现
  • C++定义一个函数值针数组
  • 用宏定义一个求最大值
  • 算法题1:有红,黄,白三种颜色小球,要求把所有的红的放在左边,黄的放在中间,白的放在最后
  • 算法题2:给出一组线段,求这些线段覆盖的总长度

二面

  • 自我介绍
  • 谈谈项目
  • 谈谈kafka,我们是怎么设计topic的?
  • 为什么要用websocket?
  • 输入url后都做了什么?如果访问的是在一个路由器下会发生什么?
  • http的状态码
  • tcp/ip的理解,tcp处于哪一层,ip处于哪一层
  • TCP头部信息
  • 三次握手的过程,四次挥手中客户端的wait状态
  • tcp的拥塞控制方法有哪些
  • 对https的理解
  • 对mysql的索引的理解,局促性聚簇索引和非聚簇索引
  • hash的理解,独立链法和平方探测法有什么区别
  • hash中怎么删除一个元素
  • 一致性hash
  • 说说有那些排序,以及时间复杂度,和稳定性
  • 谈谈对docker的理解,docker和虚拟机的区别?
  • 说说linux下常用的命令有哪些?
  • 算法题1:m个房子,每个房子都可以涂n种颜色,要求不能和相邻的房子颜色一样,给出每个房子涂每种颜色的花费,求最小花费
  • 算法题2:每个结点有它的前驱,求一个可行的遍历所有结点的顺序

北京字节一面

从上海字节换到了北京,所以又又又要重新面试了
  • 自我介绍
  • 并发和并行
  • 线程调度算法
  • 怎么保证线程安全
  • 乐观锁和悲观锁
  • 输入url到浏览器显示页面的过程(害,又见面了)
  • python的全局检索?(当时没明白问的是什么意思,所以就说了不会,其实好像正则表达式也可以)
  • 缓存淘汰算法,LRU算法以及它存在的问题以及优化(不清楚优化,不过凭感觉随便答了一下加权,好像对了?)
  • tcp三次挥手四次握手的过程
  • 讲讲tcp和udp
  • 实时视频是用tcp好还是udp好(答错了,不过面试官很和蔼的讲了为什么udp就可以了)
  • 索引以及b树(准备了好久红黑树一直没机会答红黑树的问题,害,B树也还行)
  • 如果索引的key值无序会怎么样
  • 算法题1:给n张牌,抽取四次(可以放回),问能不能凑出m
  • 算法题2:蚂蚁过桥

(顺序不太对,而且有些好像没记清,想起来的时候再补吧)

一面已经过了,还有一次技术面,一次Hr面,现在就想赶紧面试完,时间拉了好久哦,然后就是自我介绍的时候可以说的又多了一个acm银牌

你可能感兴趣的:(面试,c++,面试,算法,数据结构)