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