1. 数据结构和算法
1.2 十大排序算法
1.3 数据结构题目汇总
1.3.1 数组
1.3.2 字符串
- 【阿里】最长不含重复字符的子字符串
- 最长回文长度-动规或中间扩散
- 最长连续序列
- 输入的AaBbCc字符串 按照输出小写字母在前大写字母在后的顺序输出
- 【百度】翻转字符串
- 字符串乘法和加法
- KMP算法
- 二进制转10进制
1.3.3 二叉树
- 二叉树的右视图
- 二叉树的前中后递归和迭代遍历
- 已知前序和中序 ,求高度
- 普通型层次遍历
- 从下往上型层次遍历
- 之字型层次遍历
1.3.4 链表
- 【百度】翻转链表
- 链表中奇数位和偶数位的置换
- 【腾讯】环形链表(证明有环)
- 【腾讯】环形链表(证明环的位置)
- 【网易】两个链表的第一个公共节点(这个题目,挺有爱情味道的)
- 判断回文链表
- K个一组翻转链表
1.3.5 堆
- 两千万数据,取最大的一千个
- 一千万个数找出其中最大的k个数?
- 【腾讯】TOP K
1.3.6 栈
1.3.6 动态规划
- 台阶问题
- 【腾讯】打家劫舍
- 接雨水(双指针更容易记住)
- 1143.最长公共子串
1.3.7 牛客网热搜专栏
- 【牛客网热搜第一–设计LRU缓存结构】
- 【牛客网热搜第二–翻转链表】
- 【牛客网热搜第三–二分查找】
- 【牛客网热搜第四–判断链表是否有环】
- 【牛客网热搜第五–合并有序链表】
- 【牛客网热搜第六–寻找第K大】
1.3.8 剑指offfer专栏
2. Java
2.1 java se
2.1.1 java基础
2.1.2 集合
- 介绍一下三大集合类
- 深入了解HashMap
- linkedlist和arraylist的区别、arraylist怎么扩容
- concurrentHashMap、HashMap、hashtable的区别
2.1.3 面向对象的三大特性-封装、继承、多态
2.1.4 异常、IO流、多线程、反射
- threadlocal
- 线程池
- synchronizd和reentrantLock区别
2.2 java ee
3. 操作系统
- 操作系统面试题
- 进程与线程的区别
- 进程通信,有几种方式?
- 死锁条件和如何避免,说具体操作,银行家算法
- 虚拟地址,逻辑地址,物理地址的关系
4. 计算机网络
- OSI、TCP/IP、五层模型
- TCP/UDP区别、SYN洪泛攻击、三次握手、四次挥手
- http协议
- 输入一个网址之后会发生哪些动作呢? DNS解析的过程又是怎样的。
- 对称加密和非对称加密的好处和坏处
5. 数据库
- 数据库有索引分类、建立索引-sql语句、索引的优化、索引的结构
- 数据库引擎
- 事务
6. Java虚拟机(JVM)
- Class 文件的结构
- 深入理解Java虚拟机
- GC垃圾回收-上
- 堆/方法区/虚拟机栈 主要存放什么
- 引用计数法具体怎么计数的,这个过程jvm里发生了什么
- 内存泄漏,举例,如何解决
7. Redis
8. 高并发
- 谈谈你对volatile关键字的理解
- 谈谈你对CAS的理解