首页 > C++客户端-字节跳动面经
头像
一只求offer的小喵咪
编辑于 2020-04-28 09:05
+ 关注

C++客户端-字节跳动面经

C++客户端-字节跳动面经

一面

1.智能指针的实现,weak_ptr为什么能解决循环引用的问题

我只是大概知道智能指针的概念,看来光背概念是不行的,要会写。。。

2.几个sizeof,问了strlen和sizeof的区别

3.指针和引用的区别

4.写个类,问在内存中如何存放,包括成员变量和各种函数存放的位置

5.虚函数指针存放在内存中什么位置

实在不知道放在哪里啊,唉

6.你是个女孩子,你对写代码感兴趣嘛?

我说我对赚钱感兴趣哈哈哈

7.空类大小

8.三次握手和四次挥手,这里的seq是什么机制?

我说是随机生成的吧,让看TCP源码看看这里的seq怎么实现的

9.STL容器,源码。。。。vector、list的联系区别

vector是如何扩容的,迭代器什么时候失效

我这里说vector只有在删除元素和满元素的时候会失效。。。有点问题,后来看到插入元素好像会挪动元素,这里也会导致迭代器失效。

map和set之类

10.红黑树和AVL树,红黑树的平衡因子???

11.你知道你的问题在哪里了吧

emmm然后说自己在哪里菜

这里问了你看过什么源码?关于源码提到了两三次,感觉很多大厂都十分看重关于源码的阅读和学习

第一个未出现的最小正整数

写代码五分钟,优化两小时,本来想的是开个辅助数组来计数,最优方法应该是空间复杂度O(1)的,可以去看力扣高赞解答

二面

一面后四天才通知,我一度以为凉了哈哈

这个面试官人真的好,不会的问题会引导,而且思路清晰,会深入底层,和他探讨问题简直就是一种享受,学到很多,问题不会不要紧,主要是展现你的思考过程,跟这个面试官对话真的深刻体会了字节那句招聘***,跟优秀的人在一起,做有挑战的事

1.对比I/O多路复用和多线程

我觉得多线程会有上下文切换的开销,分析系统瓶颈可能出现在哪里?是在I/O上还是cpu,为什么?

2.一面复盘,智能指针的实现,这下答出来了,虚函数指针存放的位置。。。

分析存放在头部,中间,尾部的可能性,并且对比原因

3.如果有很多从客户端发来的请求,结果大量的失败,分析原因

我说了网络,I/O,后来他又问从操作系统层面考虑,我说是不是socket占用了大量的端口号,然后又问端口号的最大个数

4.访问NULL指针为什么会报错?编译期报错还是运行期报错?编译器会编译这个指令,所以应该是运行期报错,0号地址也是地址,如何实现这个访问0号地址报错这个机制?内存是如何寻址的?

这里一开始只想到了寻址方式,没推测出答案,后来查发现他想说的其实应该是地址转换

这里我后来查到好像是0号地址在地址转换的过程中会把0号地址映射到一个用户没有权限访问的一个页中,然后每次在这个时候报错。

5.写代码

不会。。。。只知道dfs,但是dfs是我的短板,害。。。我以为我缘尽于此

那换一个吧,写个二分查找吧,真的嘛,内心狂喜。

主要是看看你的命名,代码规范什么的,还有注释

这里感谢一个牛油,他给我说问题不会不要紧,大胆提出你的思考过程。还有他面试考的是dfs,哈哈,感谢!!!

Hr面

二面结束第二天hr给我打电话告诉我通过了,进入hr面,这就hr面了????一阵狂喜哈哈哈

1.你是如何学习的

我说到了看书写博,然后问博写了啥,一共有几篇之类的

2.你为什么选择客户端

内心os:我不知道这是客户端啊,当然表面是一顿夸哈哈哈

3.手上有几个offer,如果都拿到了选哪个?为什么?

4.入职时间之类的

这里也要感谢一个牛油,哈哈,跟她hr面的问题一毛一样

拿到offer内心狂喜哈哈哈,但同样认识到自己很多地方的问题,还是需要继续努力学习的啊。。。

更多模拟面试

全部评论

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

相关热帖

近期热帖

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

近期精华帖

热门推荐