前言
不论是刚毕业的新手程序员还是工作好几年的老程序员都可能要面对的一件事情:那就是找工作。
对于找工作这件事,有着过硬的技术能力固然重要,但是也要有期前的准备和熟悉,下面是整理的一些面试点,希望对要去面试的小伙伴有所帮助。
阶段一:数据结构
一、基础
1、基本的数据结构
(1)基础概念
(2)数组
(3)链表
(4)栈
(5)队列
2、树
(1)哈夫曼树
(2)平衡二叉树
(3)红黑树
(4)B树、B+树
(5)LSM树
3、图
(1)最小生成树
(2)最短路径算法
(3)拓扑排序
4、排序
(1)选择排序
(2)冒泡排序
(3)插入排序
(4)快速排序
(5)归并排序
(6)希尔排序
(7)基数排序
(8)java中的排序工具
(9)排序算法的特点总结和性能比较
二、中级
1、KMP算法
2、布隆过滤器
3、并查集
4、符号表
5、汉诺塔
常见的面试题总结:
1、手写排序算法,比较他们之间的性能
2、解决hash冲突的方法
3、字符串和二叉树的手写实现
最主要的就是手写代码。对于每一种数据结构和算法,都要能够手写实现。
阶段二:java基础
1、常见的集合类
(1)基础类型和封装类
(2)String
(3)System
2、关键字
(1)transient
(2)instanceof
(3)final
(4)static
(5)this
(6)super
(7)void
3、高级
(1)泛型
(2)枚举
(3)异常
(4)注解
(5)泛型
(6)反射
(7)进制
(8)编码转化
4、集合类
(1)总体框架
(2)Collection
(3)ArrayList
(4)fail-fast原理
(5)LinkedList
(6)Vector
(7)Stack
(8)HashMap
(9)TreeMap
(10)LinkedHas