简单记录一下春招旅程-腾讯&字节

去了字节,腾讯offer 给的太慢了,等了两个星期。本来以为没时间面字节了,结果字节两天全部搞定了。。。,给了口头offer。
投腾讯有点毒瘤,点了一下内推链接,直接把我简历投递了。然后顺便就过了。

腾讯两面

一面

linux 进程 和内存
共享内存了解吗
有哪些锁机制
编译器 选项
用过哪些Linux命令 (说了一些常用的)
shell 脚本了解吗 (这个没用过就没问了)
C++有什么特点
浮点数是怎么储存的
讲一下类的布局
#deine 和函数模板的区别
new 和malloc
static_cast和dynamic_cast
slecet和epoll 的区别
TCP和UDP的区别
他们的首部是什么样的
游戏适合用哪个
有人说用高层协议实现的可靠UDP为什么不直接用TCP呢
写个发牌算法,高度自由,随便你写,主要看编码风格
你对你自己还有什么要补充的。
你还有什么想问的吗?
(面试官突然问了一下)负载均衡算法

二面

项目相关
send返回值
recv呢
粘包
C类构造函数的全过程
类里面的普通成员如果没有初始化会怎么样。
构造函数调用虚函数会怎么样
调用纯虚函数呢
一个基类指针怎么判断他指向了派生类还是基类。
虚继承呢
单例模式怎么设计。
宏定义和内联函数的区别
模板函数呢
宏参数的副作用
内联函数编译器,没有内联是因为什么。
linux 怎么创建进程

都比较基础,基本上都答上来了。面试感觉还是挺好的,面试官也挺和蔼的。

字节跳动

字节跳动就比较夸张,一天面完所有技术面,第二天HR给了口头OFFER😓,这速度真的快。

面试内容不多。

一面

一面比较简单,两个算法题,直接秒了。

  1. 输出一个数 ,这个数左边所有数比他小的,右边所有数比他大。有多个随便输出一个
    1 3 2 7 8
    上面 1 7 8 都可以

  2. 一个图,你可以往右边走,下面走,问从左上角走到右下角,最多可以转K个弯,x是不能走的。
    s 0 x 0
    0 0 0 0
    0 0 0 t

二面

  1. 写个线程安全的hashmap,可以替代unordered_map
  2. 短网址 系统,你怎么设计? (懵逼 你说啥?

三面

说一下STL,用过哪些,介绍下原理。
写个线程安全的队列。

写了之后问了下notify_all和notify_one 的区别,用哪个好。。
讨论一下 消费者越多越好,还是什么。还有一些很神奇的东西,我和面试官思考的点一直对不上,我一度怀疑我是不是没学过多线程。
(最后他说实际上你原本说的没错,只不过在这种情况下,不符合。。。

还问了一下 tcp和udp ,就问了一下 tcp 握手的必要性,问了一下发送数据的的流程。

无锁队列和互斥量的区别,为啥无锁队列块,为啥互斥量快。
然后又出现了回答的问题不到点上。

到此结束,告辞。基础什么的,C++语言基础啥都没问。好在过了。哈哈哈哈。