java面试题

一. Java基础部分 6
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 6
2、Java有没有goto? 6
3、说说&和&&的区别。 6
4、在JAVA中如何跳出当前的多重嵌套循环? 6
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 7
6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 7
7、char型变量中能不能存贮一个中文汉字?为什么? 7
8、用最有效率的方法算出2乘以8等於几? 7
9、请设计一个一百亿的计算器 7
10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 8
11、"“和equals方法究竟有什么区别? 8
12、静态变量和实例变量的区别? 8
13、是否可以从一个static方法内部发出对非static方法的调用? 9
14、Integer与int的区别 9
15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 9
16、下面的代码有什么不妥之处? 9
17、请说出作用域public,private,protected,以及不写时的区别 9
18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 9
19、构造器Constructor是否可被override? 10
20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法? 10
21、写clone()方法时,通常都有一行代码,是什么? 10
22、面向对象的特征有哪些方面 10
23、java中实现多态的机制是什么? 11
24、abstract class和interface有什么区别? 11
25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 11
26、什么是内部类?Static Nested Class 和 Inner Class的不同。 11
27、内部类可以引用它的包含类的成员吗?有没有什么限制? 12
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 13
29、super.getClass()方法调用 13
30、String是最基本的数据类型吗? 13
31、String s = “Hello”;s = s + " world!”;这两行代码执行后,原始的String对象中的内容到底变了没有? 13
32、是否可以继承String类? 14
33、String s = new String(“xyz”);创建了几个String Object? 二者之间有什么区别? 14
34、String 、StringBuffer、StringBuilder的区别 14
35、如何把一段逗号分割的字符串转换成一个数组? 14
36、数组有没有length()这个方法? String有没有length()这个方法? 14
37、下面这条语句一共创建了多少个对象:String s=“a”+“b”+“c”+“d”; 14
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 15
39、下面的程序代码输出的结果是多少? 15
40、final, finally, finalize的区别。 16
41、运行时异常与一般异常有何异同? 16
42、error和exception有什么区别? 16
43、Java中的异常处理机制的简单原理和应用。 17
44、请写出你最常见到的5个exception。 17
45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? 17
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 17
47、sleep() 和 wait() 有什么区别? 18
48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 19
49. 下面两个方法同步吗?(自己发明) 19
50、多线程有几种实现方法?同步有几种实现方法? 20
51、启动一个线程是用run()还是start()? . 20
52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 20
53、线程的基本概念、线程的基本状态以及状态之间的关系 20
54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 21
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 22
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 23
57、介绍Collection框架的结构 27
58、Collection框架中实现比较要实现什么接口 27
59、ArrayList和LinkedList区别 27
60、HashMap实现原理 27
61、List 和 Map 区别? 27
62、List, Set, Map是否继承自Collection接口? 27
63、List、Map、Set三个接口,存取元素时,各有什么特点? 27
64、说出ArrayList,LinkedList的存储性能和特性 28
65、HashMap和ConcurrentHashMap的区别,HashMap的底层源码。 28
66、Collection 和 Collections的区别。 28
67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用
还是equals()? 它们有何区别? 28
68、你所知道的集合类都有哪些?主要方法? 29
69、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 29
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 29
71、说出一些常用的类,包,接口,请各举5个 30
72、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 30
73、字节流与字符流的区别 30
74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 31
75、描述一下JVM加载class文件的原理机制? 31
76、heap和stack有什么区别。 31
77、GC是什么? 为什么要有GC? 31
78、垃圾回收的优点和原理。并考虑2种回收机制。 31
79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 32
80、什么时候用assert。 32
81、java中会存在内存泄漏吗,请简单描述。 32
82、能不能自己写个类,也叫java.lang.String? 34
83. Java代码查错 35
二. 算法与编程 37
1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 37
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 38
3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。 39
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 40
5、说明生活中遇到的二叉树,用java实现二叉树 40
6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序: 44
7、写一个Singleton出来。 46
8、递归算法题1 47
9、递归算法题2 48
10、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。 48
11、有数组a[n],用java代码将数组元素顺序颠倒 49
12、金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 50
13、选择排序 50
14、冒泡排序  51
15、插入排序  52
16、希尔排序  53
17、 堆排序 55
18、归并排序 57
19、 快速排序  59
20、基数排序 62
21、计数排序  64
22、桶排序  65
三. Web前端部分 68
javascript: 68
1. JavaScript中如何检测一个变量是一个String类型?请写出函数实现 68
2、请用js去除字符串空格? 68
3、你如何获取浏览器URL中查询字符串中的参数? 69
  69
4、js 字符串操作函数 69
5、怎样添加、移除、移动、复制、创建和查找节点? 70
6、写出3个使用this的典型应用 71
7、比较typeof与instanceof? 71
8、 如何理解闭包? 71
 9、什么是跨域?跨域请求资源的方法有哪些? 72
10、谈谈垃圾回收机制方式及内存管理 73
11、开发过程中遇到的内存泄露情况,如何解决的? 74
12、 javascript面向对象中继承实现? 75
13、javascript相关程序计算题 75
14、判断一个字符串中出现次数最多的字符,统计这个次数 75
15、Array相关的属性和方法 76
16、编写一个方法 去掉一个数组的重复元素 77
17、求数组的最值? 78
18、数组排序相关 79
19、数组的翻转(非reverse()) 80
  81
jquery相关 81
1、 jQuery 库中的 ( ) 是 什 么 ? 812 、 如 何 找 到 所 有 H T M L s e l e c t 标 签 的 选 中 项 ? 813 、 () 是什么? 81 2、如何找到所有 HTML select 标签的选中项? 81 3、 ()812HTMLselect813(this) 和 this 关键字在 jQuery 中有何不同? 81
4、jquery怎么移除标签onclick属性? 81
5、jquery中addClass,removeClass,toggleClass的使用。 81
6、JQuery有几种选择器? 81
7、jQuery中的Delegate()函数有什么作用? 82
8、 ( d o c u m e n t ) . r e a d y ( ) 方 法 和 w i n d o w . o n l o a d 有 什 么 区 别 ? 829 、 如 何 用 j Q u e r y 禁 用 浏 览 器 的 前 进 后 退 按 钮 ? 8210 、 j q u e r y 中 (document).ready()方法和window.onload有什么区别? 82 9、如何用jQuery禁用浏览器的前进后退按钮? 82 10、 jquery中 (document).ready()window.onload829jQuery退8210jquery.get()提交和 . p o s t ( ) 提 交 有 区 别 吗 ? 8211 、 写 出 一 个 简 单 的 .post()提交有区别吗? 82 11、写出一个简单的 .post()8211.ajax()的请求方式? 82
12、jQuery的事件委托方法bind 、live、delegate、on之间有什么区别?(bind、live、delegate已被标记为过时) 82
HTML & CSS: 83
1、什么是盒子模型? 83
2、行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 83
3、CSS实现垂直水平居中 83
4、简述一下src与href的区别 84
5、简述同步和异步的区别 84
 6、px和em的区别 84
7、浏览器的内核分别是什么? 84
 8、什么叫优雅降级和渐进增强? 84
 9、sessionStorage 、localStorage 和 cookie 之间的区别 85
 10、Web Storage与Cookie相比存在的优势: 85
 11、Ajax的优缺点及工作原理? 85
12、请指出document load和document ready的区别? 85
 正则表达式 86
 1、写一个function,清除字符串前后的空格。(兼容所有浏览器) 86
 2、使用正则表达式验证邮箱格式 86
开发及性能优化 86
1、规避javascript多人开发函数重名问题 86
2、请说出三种减低页面加载时间的方法 86
3、你所了解到的Web攻击技术 86
 4、web前端开发,如何提高页面性能优化? 86
5、前端开发中,如何优化图像?图像格式的区别? 87
6、浏览器是如何渲染页面的? 87
四. Java web部分 88
1、Tomcat的优化经验 88
2、HTTP请求的GET与POST方式的区别 88
3、解释一下什么是servlet; 88
4、说一说Servlet的生命周期? 88
5、Servlet的基本架构 88
6、Servlet API中forward() 与redirect()的区别? 89
7、什么情况下调用doGet()和doPost()? 89
8、Request对象的主要方法: 89
9、forward 和redirect的区别 89
10、 request.getAttribute() 和 request.getParameter() 有何区别? 89
11、 jsp有哪些内置对象?作用分别是什么? 分别有什么方法? 89
12、jsp有哪些动作?作用分别是什么? 90
13、JSP的常用指令 90
14. JSP中动态include与静态include的区别? 90
15、两种跳转方式分别是什么?有什么区别? 90
16、页面间对象传递的方法 90
17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 91
18、MVC的各个部分都有那些技术来实现?如何实现? 91
19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 91
20、现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset 91
五. 数据库部分 91
1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91
2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91
3、存储过程与触发器必须讲,经常被面试到? 92
4、数据库三范式是什么? 93
5、说出一些数据库优化方面的经验? 94
6、union和union all有什么不同? 94
7、分页语句 95
8、用一条SQL语句 查询出每门课都大于80分的学生姓名  97
9、所有部门之间的比赛组合 97
10、每个月份的发生额都比101科目多的科目 97
11、统计每年每月的信息 98
12、显示文章标题,发帖人、最后回复时间 99
13、删除除了id号不同,其他都相同的学生冗余信息 99
14、航空网的几个航班查询题: 100
15、查出比经理薪水还高的员工信息: 101
16、求出小于45岁的各个老师所带的大于12岁的学生人数 101
17、求出发帖最多的人: 102
18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 102
19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户。 102
20、 xxx公司的sql面试 102
21、注册Jdbc驱动程序的三种方式 103
22、用JDBC如何调用存储过程 103
23、JDBC中的PreparedStatement相比Statement的好处 104
24. 写一个用jdbc连接并访问oracle数据的程序代码 104
25、Class.forName的作用?为什么要用? 104
26、大数据量下的分页解决方法。 104
27、用 JDBC 查询学生成绩单, 把主要代码写出来(考试概率极大). 105
28、这段代码有什么不足之处? 105
29、说出数据连接池的工作机制是什么? 105
30、为什么要用 ORM?  和 JDBC 有何不一样? 105
31、补充:MySQL中的锁(表锁、行锁) 106
32、补充:MySQL性能优化的最佳21条经验 110
33、 全面了解MySql中的事务 117
六. XML部分 119
1、xml有哪些解析技术?区别是什么? 119
2、你在项目中用到了xml技术的哪些方面?如何实现的? 119
3、用jdom解析xml文件时如何解决中文问题?如何解析? 119
4、编程用JAVA解析XML的方式. 120
5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 121
七. 流行的框架与新技术 121
1、什么是Spring框架?Spring框架有哪些主要模块? 121
2、使用Spring框架能带来哪些好处? 121
3、什么是控制反转(IOC)?什么是依赖注入? 121
4、请解释下Spring框架中的IoC? 121
5、BeanFactory和ApplicationContext有什么区别? 122
6、Spring有几种配置方式? 122
7、如何用基于XML配置的方式配置Spring? 122
8、如何用基于Java配置的方式配置Spring? 122
9、怎样用注解的方式配置Spring? 124
10、请解释Spring Bean的生命周期? 124
11、Spring Bean的作用域(Spring5+)? 124
12.Spring在SSM起什么作用? 125
13. 怎么样理解IOC和DI? 125
14. Spring的事务,事务的作用。           125
15.Spring的IOC你在项目中是怎么使用的? 125
16.Spring的配置文件有哪些内容?    125
17.说下Spring的注解?     125
18.Spring DI的几种方式? 126
19.@RequestMapping注解用在类上面有什么作用? 126
20. Spring主要使用了什么模式? 126
23、MyBatis接口绑定有几种实现方式,分别是怎么实现的? 126
24、MyBatis实现一对一有几种方式?具体怎么操作的? 126
25、MyBatis的Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 127
26、Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不? 127
27、为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里? 127
28、MyBatis中resultType和resultMap的应用场景 127
29、MyBatis中${}和#{}的区别 127
30、SpringMVC中@RequestMapping注解用在类上面有什么作用? 127
31、SpringMvc中有个类把视图和数据都合并的一起的,叫什么? 127
32、讲下SpringMvc的执行流程 127
33、为什么要用Spring? 128
34、 Spring Boot、Spring MVC 和 Spring 有什么区别? 128
35、spring中BeanFactory和ApplicationContext有什么区别? 128
36、Spring 框架中都用到了哪些设计模式? 128
37、解释一下MyBatis中命名空间(namespace)的作用 129
38、大型网站在架构上应当考虑哪些问题? 129
39、你用过的网站前端优化的技术有哪些? 129
40、你使用过的应用服务器优化技术有哪些? 129
41、SpringBoot核心功能 130
42、SpringBoot几个常用的注解 130
43、使用redis有哪些好处? 130
44、MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据? 130
45、什么是redis? 130
46、为什么redis需要把所有数据放到内存中? 130
47、redis的分布式模式 131
48、NoSQL数据库是什么意思?NoSQL与RDBMS有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点? 131
49、MySQL与MongoDB之间最基本的差别是什么? 131
50、MongoDB支持存储过程吗?如果支持的话,怎么用? 131
51、为什么要使用消息系统(消息队列) 131
52、linux中查询file1中以abc结尾的行? 131
53、写一条放行80端口的防火墙规则 131
54、在 Linux 中什么是平均负载? 131
55、你的linux系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢? 131
56、在linux中怎样一页一页地查看一个大文件的内容呢? 131
57、怎样查看一个linux命令的概要与用法? 132
58、AOP里面重要的几个名词概念解释: 132
八. 软件工程与设计模式 132
1、UML方面 132
2、JavaEE常用的设计模式?说明工厂模式。 133
3、开发中都用到了那些设计模式?用在什么场合? 133
九. JavaEE部分 133
1、BS与CS的联系与区别。 133
3、 什么是Java EE 134
十一. webservice部分 135
1、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 135
2、CORBA是什么?用途是什么? 135
3、LINUX下线程,GDI类的解释。 135
4、四种会话跟踪技术 135
5、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。 135
十二. 其他 135
1、请用英文简单介绍一下自己. 135
2、请把 http://tomcat.apache.org/ 首页的这一段话用中文翻译一下? 135

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值