A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我是深圳第9期基础班学员,这两天面试已经陆陆续续结束了,所以对面试的代码题大概做了一个总结,希望对后面学弟有点作用。

评分

参与人数 4技术分 +1 黑马币 +18 收起 理由
岁月如歌2013 + 6 总结的很好!
杨小楠 + 1
wzg76777 + 6 很给力!
oooohnick + 6 很好的总结! 几乎涵盖了基础班所有的知识点.

查看全部评分

24 个回复

正序浏览
很好很强大
回复 使用道具 举报
有没有面试的题目啊 老兄
回复 使用道具 举报
考试只考3个题,和10个重点的口述。  但是准备要充分
回复 使用道具 举报
好贴,标记一下
回复 使用道具 举报
我是来看代码总结的
回复 使用道具 举报
不错,基础扎实
回复 使用道具 举报
看起来好流弊的样子  就等着基础班开学认真学习了  先32个赞
回复 使用道具 举报
后面的网络通信和反射考的可能性不大,但也不是说不会考,如果考的话也是老师上课讲的最基本的。
面试代码题就大概总结这些,凑合着看一下吧。
回复 使用道具 举报
第十四题:使用递归获取某个目录文件下的所有.java文件
public class Test14 {
        public static void main(String[] args) {
                File file = new File("E:\\");
                getFile(file);
        }

        private static void getFile(File file) {
                File[] fileArray = file.listFiles();
                for (File f : fileArray) {
                        if (!f.isHidden()) {
                                if (f.isDirectory()) {
                                        getFile(f);
                                } else if (f.getName().endsWith(".java")) {
                                        System.out.println(f.getName());
                                }
                        }
                }
        }
}
回复 使用道具 举报
第十三题:单例模式-懒汉式
public class Test13 {
        public static void main(String[] args) {
                Thecher t1 = Thecher.getThecher();
                Thecher t2 = Thecher.getThecher();
                System.out.println(t1 == t2);
                t1.show();
                t2.show();
        }
}

class Thecher {
        private Thecher() {

        }

        private static Thecher t = null;

        public synchronized static Thecher getThecher() {
                if (t == null) {
                        t = new Thecher();
                }
                return t;
        }

        public void show() {
                System.out.println("world");
        }
}
回复 使用道具 举报
第十二题:单例模式-饿汉式
public class Test12 {
        public static void main(String[] args) {
               
                Student s1 = Student.getStudent();
                Student s2 = Student.getStudent();
                System.out.println(s1 == s2);
                s1.show();
                s2.show();
        }
}

class Student {
        private Student() {

        }

        private static Student s = new Student();

        public static Student getStudent() {
                return s;
        }

        public void show() {
                System.out.println("hello");
        }
}
回复 使用道具 举报
第十一题:创建10个线程,第一个线程计算1+2+3+....+10的和,第二线程计算11+12+13+...+20的和,以此类推
最后输出10个线程的总和。
public class Test11 {
        public static void main(String[] args) {
                for (int i = 0; i < 10; i++) {
                        System.out.println("第" + (i + 1) + "个线程的和:");
                        MyRunnable mr = new MyRunnable();
                        Thread t = new Thread(mr);
                        t.start();
                        try {
                                t.join();
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }
                System.out.println("10个线程的总和:");
                new MyRunnable().getAllSum();
        }
}

class MyRunnable implements Runnable {
        int sum = 0;
        static int allSum = 0;
        static int count = 0;

        public void add(int sum) {
                allSum += sum;
        }

        @Override
        public void run() {
                for (int i = 0; i < 10; i++) {
                        sum += ++count;
                }
                System.out.println(sum);
                add(sum);
        }

        public void getAllSum() {
                System.out.println(allSum);
        }

}
回复 使用道具 举报
本帖最后由 青春随了风 于 2015-8-26 12:45 编辑

第十题:随机5个数存入list集合并排序(不能使用封装好的排序方法)
public class Test10 {
        public static void main(String[] args) {
                List<Integer> list = new ArrayList<Integer>();
                Random r = new Random();
                for (int i = 0; i < 5; i++) {
                        list.add(r.nextInt(10) + 1);
                }
                System.out.println(list);
                for (int i = 0; i < list.size() - 1; i++) {
                        for (int j = 0; j < list.size() - i - 1; j++) {
                                if (list.get(j) > list.get(j + 1)) {
                                        int tem = list.get(j);
                                        list.set(j, list.get(j + 1));
                                        list.set(j + 1, tem);
                                }
                        }
                }
                System.out.println(list);
        }
}
回复 使用道具 举报
第九题:匿名线程
public class Test9 {
        public static void main(String[] args) {
                new Thread(new Runnable() {
                        public void run() {
                                for (int x = 0; x < 100; x++) {
                                        // getName()方法是Thread类的,而MyRunnable只实现了Runnable接口,本身没有getName(),所以不能使用。
                                        System.out.println(Thread.currentThread().getName() + "---hello" + x);
                                }
                        }

                }).start();
        }
}
回复 使用道具 举报
第八题:获取某个文件下的所有文件名打印到另一个文件
public class Test8 {
        public static void main(String[] args) throws IOException {
                File file = new File("D:\\360安全浏览器下载");
                BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
                File[] fileArray = file.listFiles();
                for (File file2 : fileArray) {
                        bw.write(file2.getName());
                        bw.newLine();
                        bw.flush();
                }
                bw.close();
        }
}
回复 使用道具 举报
第七题:100以内不含7的数
public class Test7 {
        public static void main(String[] args) {
                for (int i = 0; i < 100; i++) {
                        if ((i / 10) != 7 && (i % 10) != 7)
                                System.out.println(i);
                }
        }
}
回复 使用道具 举报
这些都是本人自己写的,不是绝对的标准,很简单的注释也就没写了,谅解
回复 使用道具 举报
第六题:字符串字母大写变小写,小写变大写,不能使用方法
public class Test6 {
        public static void main(String[] args) {
                String s = "fawifHIjdaD /IwDKDasdkn";
                StringBuilder sb = new StringBuilder();
                char[] ch = s.toCharArray();
                for (int i = 0; i < ch.length; i++) {
                        if (ch[i] >= 'a' && ch[i] <= 'z') {
                                ch[i] = (char) (ch[i] - 32);
                        } else if (ch[i] >= 'A' && ch[i] <= 'Z') {
                                ch[i] = (char) (ch[i] + 32);
                        }
                        sb.append(ch[i]);
                }
                System.out.println(sb.toString());
        }
}
回复 使用道具 举报
第五题:Map集合的两种遍历方式
public class Test5 {
        public static void main(String[] args) {
                Map<String, String> map = new HashMap<String, String>();
                map.put("鸣人", "雏田");
                map.put("佐助", "小樱");
                map.put("路飞", "女帝");
                map.put("索隆", "师姐");

                Set<String> set = map.keySet();
                for (String key : set) {
                        String gf = map.get(key);
                        System.out.println(key + "\t" + gf);
                }

                Set<Map.Entry<String, String>> set2 = map.entrySet();
                for (Map.Entry<String, String> entry : set2) {
                        String key = entry.getKey();
                        String value = entry.getValue();
                        System.out.println(key + "--" + value);
                }
        }
}
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马