Java常见面试题_2016
来源:互联网 发布:linux 文件最后修改人 编辑:程序博客网 时间:2024/06/12 01:01
以下面试题来源:
上海龙泰信息技术有限公司
上海微企信息技术股份有限公司
上海爱信诺航天信息有限公司
用友软件公司
薪资范围:6000~7999
岗位:Java开发工程师 / 1年以下工作经验
1、下列标识符不合法的有( ) A.new B.$Usdollars C.1234 D.car.taxi答案:ACD
2、下列说法错误的有( ) A. 数组是一种对象 B. 数组属于一种原生类 C. int number=[]={31,23,33,43,35,63} D. 数组的大小可以任意改变 答案:BCD
3、不能用来修饰interface的有( ) A.private B.public C.protected D.static 答案:ACD
4、提供Java存取数据库能力的包是( ) A.java.sql B.java.awt C.java.lang D.java.swing 答案:A
5、下列说法正确的有( ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D. 一个class只能定义一个constructor 答案:C
6、执行如下程序代码 a=0;c=0; do{ --c; }while(a>0); 后,C的值是( ) A.0 B.1 C.-1 D.死循环 答案:C
7、下列说法正确的有( ) A. 环境变量可在编译source code时指定 B. 在编译程序时,所能指定的环境变量不包括class path C. javac一次可同时编译数个Java源文件 D. javac.exe能指定编译结果要置于哪个目录(directory) 答案:BCD
8.下列哪一种叙述是正确的( ) A. abstract修饰符可修饰字段、方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括号可有可无 D. 声明抽象方法不可写出大括号 答案:D
9、Servlet的生命周期
1,初始化阶段,容器运行其init()方法2,响应客户请求阶段,调用service()方法,并自动派遣运行与请求对应的doXXX(post或者get)方法,3,终止阶段 调用destroy()方法将实例销毁。
10、Post和get的区别
1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 建议:1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
11、写一个Singleon 类
懒汉式:
public class Single{ private Single(){} private static instance = new Single(); public static Single getinstance(){ return instance; }}
以上容易导致并发,下面的饿汉式加上了事务锁,防止并发
饿汉式:
public class Single{ private static Single instance; private Single(){} public sychronized static Single getinstance(){ if(instance==null){ instance = new Single(); } return instance; }}
需要使用此对象时,只要调取得实例的那个方法即可
Single single = Single.getInstance();
12、 jsp和serverlet的区别
- 简单的来说Jsp就是含有Java代码的html,而servlet是含有html的Java代码;
- Jsp最终也是被解释为servlet并编译再执行,Jsp不过是servlet的另一种编写方式;
- Jsp擅长表示,servlet擅长数据处理,在MVC三层结构中,Jsp负责V(视图),servlet负责C(控制),各有优势,各司其职。
13、Forward和Redirect的区别
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
14、实现分页查询
Oracle实现:
从数据库表中第M条记录开始检索N条记录
SELECT * FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2 where t2.r >= M
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT * FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2 Where t2.R >= 10
MySql实现:
MySQL数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:SELECT * FROM 表名称 LIMIT M,N。
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select * from sys_option limit 10,20 ;
再如在table_name表中,取前5条:
select * from table_name limit 5
取第11条到第15条数据,共5条
select * from table_name limit 10,5
15、String s=a,b,c,d,e, f,g 倒序输出,用Java代码实现。
String[] str = s.Split(',');string dec = "";for(int i = 0;i<str.lenth;i++){ if(i == str.length-1) { dec += str[str.length-1-i]; } else { dec += str[str.length-1-i]+","; }}System.out.println(dec);
- Java常见面试题_2016
- 转:大公司常见的面试题_2016-12-1
- Java常见面试题
- java常见面试题
- java常见面试题
- java常见面试题
- java常见面试题
- java常见面试题
- Java常见面试题
- JAVA常见面试题
- Java常见面试题
- Java 常见面试题
- java常见面试题
- java常见面试题
- java常见面试题
- java常见面试题
- java常见面试题
- Java常见面试题
- 转:Java 自带的数据加密类MessageDigest(MD5或SHA加密)
- linux后门
- “Entity Data Modle Designer 无法显示”的问题
- 前端编码规范总结-01
- 欢迎使用CSDN-markdown编辑器
- Java常见面试题_2016
- 最新Spinner用法详解
- Mac 安装MySQL到移动硬盘
- AngularJS 世界------Angularjs指令的使用方式和自定义指令
- Ant之build.xml详解
- 用Ant实现Java项目的自动构建和部署
- Yaroslav and Permutations
- Learning hard C#学习笔记
- ant 使用指南