写在前面:这篇文章里面总结了不少
Java
相关的知识,基本上应该算是每一个Java
程序员必须会的一些知识,因此,也就是不少面试官喜欢拿来考的一些东西。总结他们第一个目的是本身可以常常拿出来看一看,第二个也是能够给别人一些借鉴。为了方便,我把他们分了类,有一些是必看的,我用!标注,有一些进阶型的我用%标注,有一些须要了解的,我用?标注。java
void
byte
int
long
char
short
float
double
String
StringBuffer
StringBuilder
Array
Collection
Collections
List
ArrayList
LinkedList
Vector
Set
HashMap
TreeMap
LinkedHashMap
ConcerrentHashMap
Set
TreeMap
HashMap
synchronized
volatile
transient
implements
extends
public
private
protected
this
super
static
final
const
null
run
start
thread
enmu
quicksort
mergesort
heapsort
bubblesort
selectsort
insertsort
stack
queue
list
heap
tree
avlTree
Btree
B+Tree
RTree
throw
throws
try
catch
finally
break
continue
instanceof
%一、队列、栈、链表、树、堆、图
!二、栈和队列的相同和不一样之处
?三、栈一般采用的两种存储结构
!四、ArrayList
,Vector
,LinkedList
的存储性能和特性
%五、各类树(平衡树
,排序树
,B树
,B+树
,R树
,多路树
,红黑树
)c++
?一、实现链表排序的一种算法。说明为何你会选择用这样的方法?
!二、排序
都有哪几种方法?请列举。
!三、各类排序算法的时间复杂度
和稳定性
%四、字符串(单链表)逆序
!五、深度优先搜索
和广度优先搜索
%六、使用栈实现链表/使用链表实现栈
%七、全排列、贪心算法、KMP算法、hash算法、海量数据处理git
?一、虚拟内存管理
?二、换页算法
?三、进程间通讯程序员
%一、Linux 一些基本命令,如看load,查看文件内容
%二、列出几个比较常见的命令,并解释下命令的用法web
!一、tcp,udp区别
!二、HTTP请求和响应的全过程
!三、osi
七层模型以及tcp/ip
四层模型(每一层主要功能,传输的内容,主要协议,主要应用)
!四、三次握手,四次关闭,丢包,粘包,容量控制,拥塞控制
?五、子网划分面试
!一、
范式
?二、rownum
和rowid
的区别与使用正则表达式
%一、
Transaction
有哪几种隔离级别?(Isolation Level)
?二、Global transaction
的原理是什么?
!三、事务
是什么?算法
%一、
乐观锁
,悲观锁
spring
!一、
分页
如何实现(Oracle
,MySql
)
!二、Mysql引擎sql
%一、数据库操做的性能瓶颈一般在哪里, 1000万级别访问,在数据库和java程序上考虑哪些来进行性能优化
%二、性能方面。多数结合多线程、同步来问,以提取一张大表数据来做为例子 解决性能的方法
!三、表关联时,内链接
,左链接
,右链接
怎么理解?
!四、Statement
和PreparedStatement
之间的区别
!五、用JDBC怎样从数据库中查询一条记录
%六、索引
以及索引的实现
(B+树介绍、和B树、R树区别
%一、为何不要在构造器中调用虚函数
%二、为何不要在析构函数中抛出异常
!一、面向对象的三大基本特征,五大基本原则
%二、C++继承的内存布局
%三、C++多态的实现机制
!四、new、delete、malloc、free
!一、为何使用补码
%二、C语言中的内存泄漏
!三、进制转换
!四、本身编写strlen/strcpy/strcmp
!一、
interface
和abstrat class
的区别
!二、是否能够继承多个接口,是否能够继承多个抽象类
%三、Static Nested Class
和Inner Class
的不一样
!四、Overload
和Override
的区别。Overloaded
的方法是否能够改变返回值的类型?
!五、abstract
的method是否可同时是static
,是否可同时是native
,是否可同时是synchronized
!六、是否能够继承String
类
!七、构造器Constructor
是否可被override
?
!八、做用域public
,protected
,private
,以及不写
时的区别?
!一、列举几个
Java Collection
类库中的经常使用类
!二、List
、Set
、Map
是否都继承自Collection
接口?
!三、HashMap
和Hashtable
的区别
%四、HashMap
中是否任何对象均可以作为key,用户自定义对象作为key有没有什么要求?
!五、Collection
和Collections
的区别
%六、其余的集合类:concurrenthashmap
,treemap
,treeset
,linkedhashmap
等。
!一、
Error
、Exception
和RuntimeException
的区别,做用又是什么?列举3个以上的RuntimeException
!二、Java中的异常处理机制的简单原理和应用
!三、内存溢出和内存泄露
!一、
String
和StringBuffer
、StringBuilder
的区别
!二、String s = “123”;这个语句有几个对象产生
!三、reader
和inputstream
区别
!四、==
和equals
的区别
%五、hashCode
的做用
%六、hashCode
和equals
方法的关系
?七、Object类中有哪些方法,列举3个以上(能够引导)
!八、char
型变量中能不能存贮一个中文汉字?为何?
%九、了解过哪些JDK8的新特性,举例描述下相应的特性?
!十、Input/OutputStream
和Reader/Writer
有何区别?何为字符,何为字节?
!十一、如何在字符流和字节流之间转换?
!十二、启动一个线程是用run()
仍是start()
?
%1三、海量数据查询、存储
!1四、switch
可使用那些数据类型
!1五、多线程与死锁
%1六、Java的四种引用
!1七、序列化与反序列化
!1八、自动装箱与拆箱
!1九、正则表达式
IDE、maven、svn/git、Linux、Firebug
!一、多线程的实现方式,有什么区别
%二、同步
和并发
是如何解决的
三、什么叫守护线程
,用什么方法实现守护线程(Thread.setDeamon()
的含义)
%四、如何中止一个线程?
!五、解释是一下什么是线程安全
?举例说明一个线程不安全的例子。解释Synchronized
关键字的做用。
!六、当一个线程进入一个对象的一个synchronized
方法后,其它线程是否可进入此对象的其它方法?
!一、
gc
的概念,若是A和B对象循环引用,是否能够被GC?
%二、Java
中的内存溢出是如何形成的
%三、jvm gc如何判断对象是否须要回收,有哪几种方式?
?四、Java中的内存溢出
和C++中的内存溢出
,是一个概念吗?
!五、引用计数,对象引用遍历;jvm有哪几种垃圾回收机制
?讲讲分代回收机制
!一、
ClassLoader
的功能和工做模式
?一、
IO
和NIO
本质不一样在实际项目使用场景及如何使用
?一、
hashcode
有哪些算法
%二、反射
,是否能够调用私有方法,在框架中的运用
?三、知道范型
的实现机制吗?
?四、Socket编程
一般出现的异常有哪些,什么状况下会出现
?五、了解JVM启动参数吗?-verbose -Xms -Xmx
的意思是什么?
%六、StringBuffer
的实现方式,容量如何扩充
%七、代理机制
的实现
!一、
Servelt
的概念。常问http request
能得到的参数
%二、servlet中,如何定制session
的过时时间?
!三、Servlet中的session
工做原理 (禁用cookie如何使用session
)
!四、servlet中,filter
的应用场景有哪些?
!五、描述JSP和Servlet的区别、共同点(JSP的工做原理)。
?六、JSP的动态include
和静态include
!七、Servlet的生命周期
!一、
Struts
中请求的实现过程
!二、MVC
概念
%三、谈一下本身最熟悉的web框架?而后就了解的web框架再深刻下去
%四、Spring mvc
与Struts mvc
的区别 (什么是Mvc框架)
?五、Service
嵌套事务处理,如何回滚
!一、
session
和cookie
的区别
!二、HTTP请求中Session
实现原理?
%三、若是客户端禁止Cookie能实现Session吗?
!四、httpget
和post
区别
!五、在web开发中,用redirect
与forward
作跳转有什么区别?web应用服务器对用户请求一般返回一些状态码,请描述下分别以4和5开头的状态码
?一、
Hibernate
/Ibatis
二者的区别
?二、OR Mapping
的概念
%三、hibernate
一级和二级缓存是否知道
?四、使用hibernate
实现集群部署,须要注意些什么
!五、Spring如何实现AOP
和IOC
的?
!六、Spring的核心理念是什么?是否了解IOC和AOP
!七、Spring的事务管理
,Spring bean注入
的几种方式
!八、SpringAOP
解决了什么问题
?一、
Tomcat
和weblogic
的最根本的区别
?二、Jboss
端口在哪一个配置文件中修改
%一、
SQL注入
SQL安全
?一、
AJAX
感觉,有什么缺点?
%二、你使用的是Ajax
的那种框架?
?三、Ajax
如何解决跨域问题
?一、简述
WebService
是怎么实现的
?一、
JMS
的模式两种模式
?一、
Js:confirm()
方法
?二、Iframe
的优缺点
%三、咱们在web应用开发过程当中常常遇到输出某种编码的字符,如iso8859-1
等,如何输出一个某种编码的字符串?(主要是考量有没有碰到过编码问题,问题是如何解决的)
?四、怎么获取到客户端的真实IP?
?五、名词解释:jndi,rmi,jms,事务
,若是有了解的话能够深刻
?六、WEB层如何实现Cluster
?一、在项目中是否采用分层的结构,是怎样划分的,各层之间采用了哪些相关技术? 对哪些设计模式比较熟悉?
%二、什么是低耦合
和高聚合
?封装原则
又是什么意思?
%三、类A依赖类B,会产生什么问题?怎样解除这种耦合
?
%一、谈一下本身了解或者熟悉的
设计模式
!二、Singleton
的几种实现方式
?三、工厂模式
和抽象工厂模式
之间的区别
!四、简述M-V-C
模式解决了什么问题?
%一、说说你所知道的
UML
图,在项目中是如何运用的
参考问题
程序员面试笔试宝典Java编程思想Effective Java深刻理解Java虚拟机