您的位置:首页 > 职场人生

面试笔试题总结

2016-05-16 21:57 411 查看

1 Java基本类型数据占用字节数

整型: byte 1字节;short 2字节;int 4字节;long 8字节 

字符型:char 2字节

浮点型:float 4字节;double 8字节

布尔类型:boolean 1字节(Java中boolean类型的值只能为true或false,不能和1/0比较)

2 Java关键字


abstract


assert


boolean


break


byte


case


catch


char


class

const

continue

default

do

double

else

enum

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

strictfp

short

static

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

3 Java垃圾收集机制

Java自动检查并释放不再使用的内存,程序开发者可以调用System.gc()方法请求Java的垃圾回收。JVM收到请求后并不是立即进行垃圾回收,gc方法只是使垃圾回收操作更容易发生,或提早发生,或回收较多而已。

4 try catch finally语句执行顺序

try{
method();
system.out.println("condition1");
return;
}catch(Exception e){
system.out.println("condition2");
return;
}finally{
system.out.println("condition3");
}

当try语句中method()方法正常运行时,程序输出condition1 condition3然后return;当发生异常时,直接转入catch语句,程序输出condition2 condition3然后return。不管在何时返回,返回前都会执行finally语句。

catch语句块可以有多个,也可以没有。如果没有catch语句块,异常或者向上层抛出,或者中断程序执行。

finally语句块只能有一个或者没有,如果没有catch语句块,则finally块是必须的。

5 JSP注释的格式

合法注释:<%--comment--%>   <!--comment-->   <% //comment %>   <% /*comment*/ %>

<@ //comment %>  <@ /*comment*/ %>  编译通过,打印到客户端浏览器

<!--comment-- %> 编译不通过,非法

6 Java集合框架

Collection<--List<--Vector 
Collection<--List<--ArrayList 
Collection<--List<--LinkedList 
Collection<--Set<--HashSet 
Collection<--Set<--HashSet<--LinkedHashSet 
Collection<--Set<--SortedSet<--TreeSet 
Map<--SortedMap<--TreeMap 
Map<--HashMap 

这里的Collection/List/Set/Map都是接口,不是具体的实现类。

7 方法重载

方法具有相同的名字,但是参数不同(或者参数的数量不同,或者参数的类型不同),称为方法重载,是多态性的一种。返回类型可以相同或者不相同,不能以返回类型作为区别重载的标准。

另外一种多态是有关继承的多态。当子类重写父类的某个实例方法时,可以产生同一个方法由于调用对象不同造成结果不同的多态。

重写和重载:重写是子类覆盖父类的方法,方法名/参数/返回类型都相同。重载是多个方法,方法名相同,但参数不同。

8 split函数

" |DF|A".split("|").length的值是多少?  6

" |DF|A".split("|")返回的字符串数组为[" ","|","D","F","|","A"],长度为6

"|"是转义字符,需要加"\\"才能正确分割(".","+","*"同理,也需要加双斜线)(这几个符号在正则表达式中有含义)


" |DF|A".split("\\|")返回字符串数组[" ","DF","A"],长度为3

9 单例模式类的设计

public class Singleton{
<span style="white-space:pre">	</span>private static Singleton instance=null;
<span style="white-space:pre">	</span>public static Singleton getInstance(){
<span style="white-space:pre">		</span>if(instance==null){
<span style="white-space:pre">			</span>synchronized(Singleton.class);
<span style="white-space:pre">			</span>if(instance==null)
<span style="white-space:pre">				</span>instance = new Singleton();
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>return instance;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>private Singleton(){}
}


10 有1000盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏/第4盏/....以此类推,第三轮熄灭编号为3的倍数的电灯,即第3盏/第6盏/.....如果原来那盏灯是亮的,就熄灭它;如果原来是灭的,就点亮它,以此类推直到第1000轮。问第1000轮结束后,还有几盏灯是亮的?

解决方案:找1000以内的平方数,因为31^2=961<1000,32^2=1024>1000,所以最后还有31盏灯是亮的,分别是第1盏灯,第4盏灯,第9盏灯,.......第961盏灯。(原理暂时不明)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: