2016/07/24 面试题汇总

把自己遇到和网上看到的一写面试题汇总了一下,帮助梳理和学习一些知识点。

一. 算法

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 工作原理

参考 HashMap 的工作原理

2) ConcurrentHashMap原理

参考 HashMap 的工作原理

3) 某公司正在做一个寻找走失儿童的公益项目,现在有一个函数,可以输入两个图片,并返回这个儿童是否重复。请你设计一个系统,帮助他们寻找儿童。

网友可以同时上传一批图片
系统能够把所有图片分类并归为一组
网友上传图片后,网页要尽快返回该照片所在的组。

A:假设你现在有一个机器,请写出你的数据结构与处理流程,设计的思路。
B:如果你有多台机器,如果缩短请求的时间?

三. 设计模式

1) 单例模式

参考 单例模式 。

四. 大数据

五. Linux