你离BAT之间,只差这一套Java面试题,挑战阿里社招
Posted 程序员超时空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你离BAT之间,只差这一套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
C语言基础
构造函数、析构函数
!1、构造函数和析构函数
%2、为什么不要在构造器中调用虚函数
%3、为什么不要在析构函数中抛出异常
c++相关
!1、面向对象的三大基本特征,五大基本原则
%2、C++继承的内存布局
!3、C++多态的实现机制
!4、new/deletr和malloc/free的区别
其他
!1、为什么使用补码
%2、C语言中的内存泄漏
!3、进制转换
% 4、自己编写strlen/strcpy/strcmp
! 5、C、C++以及Java之间的区别和各自优缺点
Java基础
封装、继承、多态
!1、Java中实现多态的机制是什么,动态多态和静态多态的区别
!2、接口和抽象类的区别,如何选择
!3、Java能不能多继承,可不可以多实现
%4、
Static Nested Class
和Inner Class
的不同
!5、重载和重写的区别。
!6、是否可以继承
String
类
!7、构造器是否可被
override
?
!8、
public
,protected
,private
的区别?
集合相关
!1、列举几个Java中
Collection
类库中的常用类
!2、
List
、Set
、Map
是否都继承自Collection
接口?存储特点分别是什么?
!3、
ArrayList
、LinkedList
和Vector
之间的区别与联系
!4、
HashMap
和Hashtable
、TreeMap
以及ConcurrentHashMap
的区别
!5、
Collection
和Collections
的区别
%6、其他的集合类:
treeset
,linkedhashmap
等。
异常相关
!1、
Error
和Exception
的区别
!2、异常的类型,什么是运行时异常
!3、
final
、finally
和finalize
的区别
%4、
try-catch-finally
中,如果在catch
中return
了,finally
中的代码还会执行么,原理是什么?
!5、列举3个以上的
RuntimeException
!6、Java中的异常处理机制的简单原理和应用
其它
!1、
String
和StringBuffer
、StringBuilder
的区别
!2、
==
和equals
的区别
%3、
hashCode
的作用,和equals
方法的关系
!4、
Input/OutputStream
和Reader/Writer
有什么区别
!5、如何在字符流和字节流之间转换?
!6、
switch
可以使用那些数据类型
%7、Java的四种引用
!8、序列化与反序列化
!9、正则表达式
!10、
int
和Integer
的区别,什么是自动装箱和自动拆箱
Java高级
多线程
!1、进程和线程的区别
!2、并行和并发的区别和联系
!3、同步与异步
!4、多线程的实现方式,有什么区别
!5、什么叫
守护线程
%6、如何停止一个线程?
!7、什么是
线程安全
?
!8、
synchronized
和lock
的区别
!9、当一个线程进入一个对象的一个
synchronized
方法后,其它线程是否可进入此对象的其它方法?
!10、启动一个线程是用
run()
还是start()
?
!12、wait和sleep的区别
%13、notify和notifyAll的区别
%14、线程池的作用
%15、Java中线程池相关的类
JVM底层技术
!1、
gc
的概念,如果A和B对象循环引用,是否可以被GC?
%2、jvm gc如何判断对象是否需要回收,有哪几种方式?
!3、Java中能不能主动触发GC
!4、JVM的内存结构,堆和栈的区别
!5、JVM堆的分代
%6、
Java
中的内存溢出是什么,和内存泄露有什么关系
!7、Java的类加载机制,什么是双亲委派
!8、ClassLoader的类加载方式
IO
! 1、NIO、AIO和BIO 之间的区别
?2、
IO
和NIO
常用用法
其它
?1、
hashcode
有哪些算法
!2、反射的基本概念,
反射
是否可以调用私有方法
!3、Java中
范型
的概念
?4、JVM启动参数,
-Xms
和-Xmx
%5、
代理机制
的实现
!6、
String s = new String("s")
,创建了几个对象。
Java Web
Servlet
!1、
JSP
和Servlet
的区别,Servelt
的概念。
!2、
Servlet
的生命周期
!3、Servlet中的
session
工作原理 ,以及设置过期时间的方式
!4、Servlet中,
filter
的应用场景有哪些?
?5、JSP的动态
include
和静态include
%6、web.xml中常用配置及作用
%7、Servlet的线程安全问题
MVC框架
!1、介绍几个常用的MVC框架
!2、什么是MVC
!3、
Struts
中请求的实现过程
以上是关于你离BAT之间,只差这一套Java面试题,挑战阿里社招的主要内容,如果未能解决你的问题,请参考以下文章