
1、树
1.请你来说一说红黑树和AVL树的定义,特点,以及二者区别
2、请你聊一聊哈夫曼编码
3、请你回答一下map底层为什么用红黑树实现
4、请你介绍一下B+树
5、请你说一说map和unordered_map的底层实现
6、请你回答一下map和unordered_map优点和缺点
7、请你回答一下epoll怎么实现的
8、请你说一说C++两种map
9、请问红黑树了解吗
10、请你说一说红黑树的性质还有左右旋转
11、请你说一说**红黑树的原理以及erase以后迭代器的具体分布情况?
12、请你实现二叉树的层序遍历并输出
13、手写代码:二叉树序列化反序列化
2、堆与栈
1、请说一说你理解的stack overflow,并举个简单例子导致栈溢出
2、请你回答一下栈和堆的区别,以及为什么栈要快
3、手写代码:两个栈实现一个队列
4、请你来说一下堆和栈的区别
5、请你说一说小根堆特点
3、数组
1、请你回答一下**Array&List, 数组和链表的区别
2.一个长度为N的整形数组,数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数,请说一下你的思路并手写代码
4、排序
1、请你来手写一下**快排**的代码
2、请你手写一下**快排**的代码
3.请问求第k大的数的方法以及各自的复杂度是怎样的,另外追问一下,当有相同元素时,还可以使用什么不同的方法求第k大的元素
4、请你来介绍一下各种排序算法及时间复杂度
5、请你说一说你知道的**排序算法及其复杂度
6、请问海量数据如何去取最大的k个
7、请你说一说Top(K)问题
8、请问快排的时间复杂度最差是多少?什么时候时间最差
9、请问稳定排序哪几种?
10、请你介绍一下快排算法;以及什么是稳定性排序,快排是稳定性的吗;快排算法最差情况推导公式
5、哈希
1、请你来说一说hash表的实现,包括STL中的哈希桶长度常数。
2、请你回答一下hash表如何rehash,以及怎么处理其中保存的资源
3、请你说一下哈希表的桶个数为什么是质数,合数有何不妥?
4、请你说一下解决hash冲突的方法
5、请你说一说哈希冲突的解决方法
6、动态规划
1、请你手写代码:最长公共连续子序列
2、手写代码:求一个字符串最长回文子串
3、手写代码:查找最长回文子串
7、链表
1.请你手写代码,如何合并两个有序链表
2、手写代码:反转链表
3、判断一个链表是否为回文链表,说出你的思路并手写代码
4、请你手写链表反转
5、什么是单向链表,如何判断两个单向链表是否相交
7、高级算法
1、如果让你做自然语言理解(NLU),在处理语言规则的时候大概会用到什么算法
2、请问加密方法都有哪些
3、什么是LRU缓存
4、请你说一说洗牌算法
5、并查集思想
8、字符串
1、给你一个字符串,找出第一个不重复的字符,如“abbbabcd”,则第一个不重复就是c
2、字符串拷贝、拼接、最长公共子串
3、itoa、atoi的实现、逆序、大数加减法等

您的关注和转发,是我们不断努力的动力!




