面试代码题合集

笔试题:

1. ArrayList<Integer> list = new ArrayList<Integer>(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
import java.lang.reflect.Method;
import java.util.ArrayList;

//在这个泛型为Integer的ArrayList中存放一个String类型的对象。
public class Demo {
//思路: 用反射跳过泛型,调用 ArrayList类中的add方法添加string
        public static void main(String[] args) throws Exception{
                 ArrayList<Integer> al = new ArrayList<Integer>();
                 String str = "xiaomig";
                 Method m = al.getClass().getMethod("add", Object.class);// 得到add方法对象
                 m.invoke(al, str);
                 for(int x=0;x<al.size();x++){
                         System.out.println(al.get(x));
                 }

        }

}

2.使用带缓冲功能的字节流复制文件。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo {
    public static void main(String[] args) throws IOException {
         FileInputStream in=new FileInputStream("c:\\a.flv");
         FileOutputStream out =new FileOutputStream("c:\\d.flv");
         BufferedInputStream bin= new BufferedInputStream(in);
        BufferedOutputStream bout= new BufferedOutputStream(out);
        byte[]bytes=new byte[1024*8];
        int len=0;
        while((len=bin.read(bytes))!=-1){
            bout.write(bytes, 0, len);
        }
        
        bin.close();
        bout.close();
        
    }

}

3.编写一个延迟加载的单例设计模式。
/*
单例模式的要点有三个:
一是某各类只能有一个实例;
二是它必须自行创建这个事例;
三是它必须自行向整个系统提供这个实例


懒汉式和饿汉式有什么不同
懒汉式在于实例的延时加载,会有多线程安全问题,需要用加同步的方式解决,但这种加锁会导致低效,用双重if的
判断形势能解决效率问题,加同步时用的锁是该类的字节码文件
*/
class Single {
    private static Single s=null;
    private Single(){}
    public static Single getInstance(){
        if(s==null){
            synchronized(Demo.class){
                if(s==null){
                    s=new Single();
                }
            }
        }
        return s;
    }
}

4.编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。

5.求三位数的质数,只能被本身和1整除!!!(歇菜这道题)
sqrl()http://bbs.itheima.com/thread-175474-1-1.html

6.为什么配置path,什么时候配置classpath?
设置path是为了让javac或java命令可以运行
设置classpath是为了给程序的运行指定根目标

7.迭代器遍历map集合的步骤?

8.获取class字节码文件的步骤?

9.把集合存到arraylist里面,怎么做。
泛型。集合中的数据类型必须是arrayList的子类对象,或者类型相同

10.把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出

面试题:   自我讲述多线程 、 IO  、 集合  、反射。

1.笔试中的题每一道题都加以说明解释下,面试官手里有咱们的笔试题,如果笔试答的有问题,最好出来后找下正确答案,面试时可能会问相关的问题.


2.单例设计模式为什么要这样写?延迟加载的单例属于哪种设计模式?

3.打印流是什么?flush()和close()方法有什么区别?

4.什么是转换流?举例说明什么时候使用转换流?
InputStreamWriter OutputStreamReader 
字节流转成字节流


5.成员变量和局部变量的区别?

6.遍历集合有几种方法?

7.Map集合转成set集合有几种方式,分别是什么?具体说说这两种方式的思想?

8.说下set集合。具体分析下特点

9.TreeSet有几种排序方法?分别说明?

10.方法中的内部类能不能访问方法中的局部变量,为什么?

11.如何创建线程?分别说明?

12.String转换Integer的方法?(这题其实是我自己回答偏了,问到的,实际上应该是考反射那里的问题)

13.什么是反射?有几种方法加载字节码?分别是什么?

14.通过反射能获取什么?

15.为什么需要配置path,什么时候需要classpath?作用是什么?

16.线程中wait和sleep方法的区别

17.多线程通信,死锁,然后就是多线程通信的方法,wait sleep讲一讲。

18.说说你对集合的理解

19.说说你对反射的理解

20.什么时候会使用转换流

21.循环中怎么结束

22.说说接口和抽象类的特征和区别

23.多线程创建有几种方式?它们的区别

24.多线程为什么会照成不安全问题?怎么解决?

25.说说你对死锁的理解

26.对数组排序有几种

27.Map集合两种取出方式

28.字符流和字节流的区别

29,简述一下集合

30,简述一下线程

31,简述一下反射

32,使用代码实现线程的两种方式

33,使用代码实现一个匿名内部类

34,使用代码实现用反射方式创建对象

35,为什么选择黑马       还有当工作中和同事出现分歧怎么解决?

36,黑马给你的第一印象是什么?

37,复制文件夹下后缀是“.java”的文件,并重命名该文件后缀改为“.txt”,要求是先复制再改名。(这种题回答思路,和核心方法就可以)

38,集合中有没有delete方法
没有,只有remove

39,数组中有length方法吗
没有,lenth是数据的属性

40,编程中遇到过异常吗,都遇到了哪些异常,请你简述一下你遇到的异常以及解决方案。

41,从一个文本文件中读取获得字符串,统计该字符串中各个字符出现的次数,按照自然排序的方式打印

42,请说明字符流和字节流的区别在哪儿?readLine实现的机制是什么?

43, String类哪个方法返回一个数组?
tocharArray()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bryan Ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值