
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
不同类型的企业Java面试题目千奇百怪,形式不同,内容也不尽相同,因此就需要大家平时多积累,多掌握,本文沈阳达内Java培训为大家介绍面试基础之Java开发面试题。
一、数据结构
1、什么是队列、栈、链表
2、什么是树(平衡树,排序树,B树,B+树,R树,红黑树)、堆(大根堆、小根堆)、图(有向图、无向图、拓扑)
3、栈和队列的相同和不同之处
4、栈通常采用的两种存储结构
5、两个栈实现队列,和两个队列实现栈
二、算法
1、排序都有哪几种方法?
2、会写常用的排序算法,如快排,归并等。
3、各种排序算法的时间复杂度和稳定性 ,重点快排。
4、单链表的遍历和逆序
5、深度优先搜索和广度优先搜索
6、最小生成树
7、常见Hash算法,哈希的原理和代价
8、全排列、贪心算法、KMP算法、hash算法
9、一致性Hash算法
三、操作系统
1、虚拟内存管理
2、换页算法
3、进程间通信
4、进程同步:生产者消费者问题、哲学家就餐问题、读者写者问题
5、死锁的四个必要条件,避免方法
6、Linux的一些基本命令,如ls、tail、chmod等
四、计算机网络
1、tcp,udp区别
2、HTTP请求和响应的全过程
3、HTTP常见响应码:200、301、302、404、500
4、get和post的区别
5、forward和redirect的区别
6、osi七层模型
7、tcp/ip四层模型及原理
8、TCP和UDP区别
9、TCP的三次握手,四次关闭
10、丢包,粘包,
11、容量控制,拥塞控制
12、子网划分
13、IPV4和IPV6
14、HTTPS和HTTP/2
五、数据库
1、范式
2、数据库事务和隔离级别
3、为什么需要锁,锁定分类,锁粒度
4、乐观锁,悲观锁的概念及实现方式
5、分页如何实现(Oracle,MySql)
6、Mysql引擎
7、MYSQL语句优化
8、从一张大表读取数据,如何解决性能问题
9、内连接,左连接,右连接作用及区别
10、Statement和PreparedStatement之间的区别
11、索引以及索引的实现(B+树介绍、和B树、R树区别
12、什么是数据库连接池
六、海量数据处理
1、海量日志数据,如何提取出某日访问淘宝次数最多的IP
2、上亿数据,统计其中出现次数最多的前N个数据
3、5亿个int,找出他们的中位数
4、两个文件,各存放50亿条URL,每个URL占64字节。内存限制是4G,找出两个文件中相同的URL
5、有40亿个不重复的unsigned int的整数,没排过序,现在给一个数,如何快速判断这个数是否在这40亿个数当中。
6、提示:分治、Hash映射、堆排序、双层桶划分、Bloom filter、bitmap、数据库索引、mapreduce