首页 > 字节跳动校招C++后端开发面经 一面
头像
Ricolove
编辑于 2020-09-15 06:20
+ 关注

字节跳动校招C++后端开发面经 一面

面试官人很好,会引导你思考的那种,而且口音很亲切(

  • 自我介绍
  • 问项目
  • 简历上写到会用python,那么 is 和 == 是什么区别
  • 用过c++11之后的版本吗,用过class吗
  • 定义一个class,有public int a, static int b, public int f(), virtual int g(),那么这个class的一个对象占多少空间(int占4,虚函数表指针占4,一共8)
  • 如果 f 不占空间,那么程序是怎么找到 f 的地址的?
  • 那么虚函数又是怎么找到的?
  • 拷贝构造函数了解吗?
  • 现在有一个类 A,构造函数是int,同时又有一个拷贝构造函数,那么 A a = 1, A b(2),两个语句分别调用了哪个构造函数?(都是普通,构造函数需要参数是同类对象)
  • 如果这两个都是用了普通构造函数,那在什么情境下会产生区别?什么时候不可以用?(我答的是explicit关键字修饰就不能 a = 1,以及移动构造函数会使得 a = 1 调用的是移动构造函数)
  • 用过STL吗?用过哪些?
  • vector和map内部什么区别?
  • vector<int> a; sizeof(a) 是多少?(我开始答头尾迭代器一共有8,后来面试官引导我有存储空间的那个迭代器,于是我答12。自己测发现是16,翻书才知道不同机器和STL可能不同,例如有可能24,16。。。)</int>
  • 继续说map,为什么要用红黑树
  • 提到 unordered_map 是哈希,了解hashcode是怎么获得的吗?
  • 哈希冲突之后是怎么解决的?
  • 你提到的往下寻找和拉链法,你认为他们的优缺点是什么?
  • 了解过一致性哈希吗?
  • 多线程用过吗?(了解得少)
  • map 线程安全吗?
  • 不线程安全会出现什么问题?
  • 有用过boost库吗?(完全没有……是一个C++的标准库,有些特性会被吸收到正式的c++里)
  • 简历上写了用 mininet 实现了 UDP 的可靠传输,讲一下怎么做的
  • 音视频是用的 UDP 还是 TCP?
  • 用的 UDP,有什么好处?
  • 你简历上有写游戏开发,有玩过网络游戏吗?你觉得网络游戏会用 UDP 还是 TCP?(具有实时性的游戏需要 UDP,否则重传等待会导致卡顿,而游戏内聊天系统可以 TCP)
  • 有了解 IO 多路复用吗?什么场景会用到?
  • 不用多路复用,用多线程可以吗?多线程和多路复用的优缺点?
  • 有 Linux 开发经验,top 用过吗?
  • top 里面有什么?
  • 你提到僵尸进程,僵尸进程是怎么回事?
  • 算法题,给定正整数序列,求不相邻子序列的最大和。例如[21,5325,123],如果你挑选了21,就不能在你的序列中挑选5325。一开始是想用 dfs + dp,但是发现没必要,可以一次 dp。后来又发现可以原地 dp,不需要新开数组。
  • 会有什么感兴趣的知识吗?
  • 怎么学习的?
  • 你有什么想问的吗?

晚上打电话约了二面。其实抱着薅秋招面经的心态来投字节的,所以成不成对我没啥所谓。加油吧,希望能走更远!

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐