把自己遇到和网上看到的一写面试题汇总了一下,帮助梳理和学习一些知识点。
一. 算法
1.1 排序
1) 时间复杂度
参考 算法排序 。
2) 快速排序
参考 快速排序 。
3) 冒泡排序
参考 冒泡排序 。
4) 选择排序
参考 选择排序 。
1.2 查找
1) 二分查找
参考 二分查找 。
1.3 树
1) 二叉树
参考 二叉树 。
2) 红黑树
二. Java 基础
2.1 nio
2.2 线程
1) 线程有几种状态?
参考 线程的状态 。
2) 线程的优先级
Java 线程的优先级有10种,从1到10,默认为5。Java 线程的优先级具有继承性。
2.3 JVM
2.4 集合
1) HashMap 工作原理
2) ConcurrentHashMap原理
3) 某公司正在做一个寻找走失儿童的公益项目,现在有一个函数,可以输入两个图片,并返回这个儿童是否重复。请你设计一个系统,帮助他们寻找儿童。
网友可以同时上传一批图片
系统能够把所有图片分类并归为一组
网友上传图片后,网页要尽快返回该照片所在的组。
A:假设你现在有一个机器,请写出你的数据结构与处理流程,设计的思路。
B:如果你有多台机器,如果缩短请求的时间?
三. 设计模式
1) 单例模式
参考 单例模式 。