字节C++后端三面(50min)
自我介绍,项目经历
数据结构
1. 说一下熟悉的数据结构?
2. 数组和链表的区别?
3. 了解哈希表吗?如何解决哈希冲突?
4. 如果是用拉链法解决哈希冲突,会有什么问题?如何解决?
5. 如果是扩容的话,会带来什么问题?如何解决?
6. 哈希表是空间友好的数据结构吗?为什么你要说会带来空间上的负担?
7. 你怎么理解哈希函数的?为什么扩容可能会将元素重新排列?(说了一些,面试官不太满意,可能是理解不到位)
C++
1. C++11的新特性了解吗?说几个。
2. 右值引用了解吗?有什么作用?(突然想不起来移动构造函数这个名字了……)
3. 智能指针了解吗?说一下。
4. 智能指针内部如何实现的?
5. 说一下三种智能指针使用的场景。
6. 共享内存是指针的特性,不是shared_ptr的。有想过unique_ptr的作用吗,用在什么地方?
7. Linux问了一下,不记得是什么了,直接说不会。
计算机网络
1. HTTP和HTTPS的区别?
代码
1. N个数的数组,里面有范围是1-N的元素,如何输出所有重复的元素?(时间O(n),空间O(1))
https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/
类似这一道,不同的是全部输出出来。
反问环节。
#面经##字节跳动##C++工程师#