3年工做经验的Java程序员面试经



1、Java基础部分

一、使用length属性获取数组长度,public、private、protected、friendly区别javascript

二、Collection和Collections区别前端

三、String s=new String(‘xyz’);建立了几个object对象java

四、short s1;jquery

s1=s1+1;是否有错?linux

五、Overriding和Overloading区别面试

六、Set里面的元素不能重复,用什么方法区分重复与否。正则表达式

七、给出一个常见的runtime exception。redis

八、error和exception区别。算法

九、List和Set是否继承自Collection接口。spring

十、abstract class和interface 的区别。

十一、是否能够继承String类。

十二、try{}里有一个return语句,紧跟在try后的finally里的code会不会被执行,何时执行,return前执行仍是return后执行。

1三、最有效率的方法算2*8等于几

1四、两个对象值相同,x.equal(y)==true,可是却可有不一样的hashcode,这句话对不对。

1五、值传递和引用传递

1六、switch是否做用在byte、long、string上。

1七、ArrayList和Vector区别,HashMap和Hashtable区别(了解这几个类的底层jdk中的编码方式)。

1八、GC是什么,为何要有GC,简单介绍GC。

1九、float f=3.4是否正确。

20、介绍Java中的Collection framework。

2一、Collection框架中实现比较方法

2二、String和Stringbuffer的区别

2三、final、finally、finalize区别

2四、面向对象的特征

2五、String是最基本的数据类型吗。

2六、运行时异常和通常异常的区别

2七、说出ArrayList、Vector、Linkedlist的存储性能和特性

2八、heap和stack区别

2九、Java中的异常处理机制的简单原理和应用

30、垃圾回收的原理和特色,并考虑2种回收机制

3一、说出一些经常使用的 集合类和方法

3二、描述一下JVM加载Class文件的原理和机制

3三、排序的几种方法,了解。(算法和数据结构在面试的时候尚未被问到)

3四、Java语言如何进行异常处理,throws,throw,try catch finally表明什么意义,try块中能够抛出异常吗

3五、一个’.java’源文件是否能够包括多个类,有什么限制。

3六、Java中有几种类型流,jdk为每种类型的流提供了一些抽象类以供继承,请分别说出它们是哪些类。

3七、Java中会存在内存泄漏吗,请简单描述。

3八、静态变量和实例变量的区别。

3九、什么是Java序列化,如何实现java序列化。

40、是否能够从一个static方法内部发生对非static方法调用。

4一、写clone方法,一般都有一行代码。

4二、Java中如何跳出多重嵌套循环

4三、说出经常使用类、包、接口,各举5个。

4四、Java中实现线程的方法,用关键字修饰同步方法。

4五、同步和异步区别。

4六、线程同步的方法。

4七、字符串经常使用方法,字符串转化为整型数方法,整型数转化为字符串方法。

2、Java高级

一、简述面向对象的理解,并举例说出你的理解。

二、写出单例模式。

三、写出一种11位手机号的正则表达式

四、实现字符串多个空格转换一个空格

五、字符串经常使用方法,substring(),split()。

六、start()和run()区别。

七、写出知道的设计模式。

八、Webservice介绍。(这个我本身没用过,渣渣了)

九、说出Servlet生命周期,Servlet和CGI区别。

十、sleep和wait的区别。

十一、什么是发射,如何实现。

十二、检查字符串回文,实现英文中单词个数和单词次数统计(部分公司要求较高,须要手动编程,百度查找一些面试经常使用编程题便可)。

1三、tcp/ip协议三次握手。

1四、http协议几种请求方式,区别。

1五、Ajax请求是否能够实现同步。

1六、隐藏URL方式。

1七、描述取到一个网页内容的实现步骤,不须要具体实现过程(就是爬虫:取到网页的URL,而后从URL中国获取网页内容),考察逻辑思惟能力。

1八、简述form表单提交post方法与get方法在字符编码、http协议方面的区别。

1九、一个http请求从开始到结束都经历了哪些过程,简写流程图。

3、框架(只介绍本身熟悉)

一、Spring中的事务管理,支持哪几种方式,以及每种方式具体方法。

二、Spring经常使用注解。

三、Hibernate的缓存级别。

四、hibernate是什么,工做原理。

五、hibernate如何实现延迟加载。

六、hibernate如何怎样类之间的关系。

七、struts1是什么,工做流程。

八、struts2工做流程。

九、spring是什么。

十、介绍IOC和AOP。

十一、springmvc工做原理。

十二、Mybatis工做流程。

1三、Mybatis与Hibernate区别。

1四、Mybatis框架传递参数方式。

1五、简述Spring事务管理,使用什么设计模式实现。

4、数据库

一、数据库里面的索引和约束是什么。

二、用SQL语句实现oracle分页查询。

三、学生成绩表的经常使用查询(百度便可查到,经常使用的查询语法)

四、数据库性能优化经常使用基础知识,百万级数据优化(百度搜搜便可)。

五、left join ,right join用法。

六、了解redis,memcache,mongodb等,最好有项目使用经验。

七、如何防止SQL注入。

八、一个微博评论功能的数据库设计,部门表和员工表的设计,权限管理系统的数据库设计(数据库设计这个是一个重点,面试了几家公司都问到了,并且是重点)。

九、简述悲观锁和乐观锁。

5、linux基础

一、修改系统时间命令、修改权限命令、

6、前端基础

一、javascript中怎样选中一个checkbox,设置它无效的方式。

二、form表单 的input能够设置readonly和disable区别。

三、javascript变量范围有什么不一样,全局变量和局部变量。

四、列举3种数据类型。

五、javascript经常使用对象

六、javascript中经常使用的取值赋值方法,对于单选按钮,复选框等的取值赋值等方法。(百度便可,javascript经常使用基础)

七、jquery取值赋值基本方法。

八、获取单选按钮的值,获取复选框的值,获取下拉列表的值,后去复选框的值,获取单选按钮组的值,文本框、文本域赋值。

九、jquery的append与appendTo区别。

十、CSS盒子模型的4个顺序。