| 哈希
请说⼀说,Java中的HashMap的⼯作原理是什么?
介绍⼀下,什么是Hashmap?
讲⼀讲,如何构造⼀致性哈希算法。
请谈⼀谈,hashCode() 和equals() ⽅法的重要性体现在什么地⽅?
请问,Object作为HashMap的key的话,对Object有什么要求吗?
请问 hashset 存的数是有序的吗?

| ⼆叉树
求⼆叉树的最⼤深度
求⼆叉树的最⼩深度
求⼆叉树中节点的个数
求⼆叉树中叶⼦节点的个数
求⼆叉树中第k层节点的个数
判断⼆叉树是否是平衡⼆叉树
判断⼆叉树是否是完全⼆叉树
翻转⼆叉树or镜像⼆叉树
两个⼆叉树是否完全相同
求两个⼆叉树的最低公共祖先节点
两个⼆叉树是否互为镜像
⼆叉树的中序遍历
⼆叉树的前序遍历
⼆叉树的后序遍历
前序遍历和后序遍历构造⼆叉树
输⼊⼀个⼆叉树和⼀个整数,打印出⼆叉树中节点值的和等于输⼊整数所有的路径
在⼆叉树中插⼊节点
⼆叉树的搜索区间
⼆叉树内两个节点的最⻓距离
⼆叉树的层次遍历
给出 n,问由 1...n 为节点组成的不同的⼆叉查找树有多少种?
有⼀个链表,奇数位升序偶数位降序,如何将链表变成升序?

| 链表
谈⼀谈,bucket如果⽤链表存储,它的缺点是什么?
如何反转单链表
现在有⼀个单向链表,谈⼀谈,如何判断链表中是否出现了环
随机链表的复制

| 数组
写⼀个算法,可以将⼀个⼆维数组顺时针旋转90度。
⼀个数组,除⼀个元素外其它都是两两相等,求那个元素?
找出数组中和为S的⼀对组合,找出⼀组就⾏
求⼀个数组中连续⼦向量的最⼤和
寻找⼀数组中前K个最⼤的数

| 排序
⽤Java写⼀个冒泡排序?
介绍⼀下,排序都有哪⼏种⽅法?请列举出来
介绍⼀下,归并排序的原理是什么?
介绍⼀下,堆排序的原理是什么?
谈⼀谈,如何得到⼀个数据流中的中位数?
你知道哪些排序算法,这些算法的时间复杂度分别是多少,解释⼀下快排?

| 堆与栈
请你解释⼀下,内存中的栈(stack)、堆(heap) 和静态区(static area) 的⽤法。
说⼀说,heap和stack有什么区别
输⼊整数数组 arr ,找出其中最⼩的 k 个数
滑动窗⼝最⼤值
给你⼀个整数数组 nums,有⼀个⼤⼩为 k 的滑动窗⼝从数组的最左侧移动到数组的最右 侧。你只可以看到在滑动窗⼝内的 k 个数字。滑动窗⼝每次只向右移动⼀位。返回滑动窗⼝中的最⼤值。
丑数
前K个⾼频元素
有效的括号
最⼩栈
柱状图中最⼤的矩形

| 高级算法
请你讲讲LRU算法的实现原理?
为什么要设计 后缀表达式,有什么好处?
请你设计⼀个算法,⽤来压缩⼀段URL?
谈⼀谈,id全局唯⼀且⾃增,如何实现?
最后⼀个单词的⻓度

| 动态规划
斐波那契数
不同路径
爬楼梯
零钱兑换
打家劫舍
编辑距离

暂时就分享到这吧,希望对大家编程的路上有那么一点点的帮助。