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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© inception 中级黑马   /  2014-11-6 16:50  /  8538 人查看  /  50 人回复  /   5 人收藏 转载请遵从CC协议 禁止商业使用本文

感谢张琼老师的面试。还要感谢流程中的其他老师。谢谢!
3号问了50期第二批有多少名额。老师说有20个左右。然后我就申请了面试。4号5号准备了两天。
今天9点30,老师发给我2个题,要求半小时完成。
1、把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:
        a:  21 次
        b:  15 次
        c: 15 次
        把:  7 次
        当:  9 次
        前:  3 次
        ,:30 次
2、声明一个共享数组,起两个线程,两个线程分别隔一段时间(可以写一个随机数),给数组中添加数据,每一个线程为数组添加3个数据即可。


      30多分钟做了第一题。另一题没完成(老师是给时间我们多做会的,我建议能写点什么就多写点。就算你写不出整体思路也可以写点比如implements Runnable{    public void run(){ ... }   } 等,然后和老师说不会做。也好过我只写了几个涉及内容的单词sychronized  Thread sleep random ,然后和老师说没思路)。
      第一题以前就存在电脑上了,只是一直没做。只做过类似的题:“abcdefavzc”以a(2)b(1)c(2)...的形式打印。正巧昨天晚上自己独立把这个题做出来了。但今天写的时候。思路都能写出来。但写代码的时候这搞下那改下。感觉写代码思绪像是在飞一样(SO在最后老师就问了我敲代码敲得多不),好在最后搞出来了。
     一运行,目的文件中是乱码。不知道错在了哪。还好昨天做CopyDir时忘了close写入流,有些数据没有刷新到目的中。代码运行正常。却出现了图片显示不全的问题。还好晚上瞅了好久找到了问题。今天这题也是差不多的问题。没写换行newLine();写入到目的中出现的是乱码。这种不报错的问题。简直!还好找到了问题所在。—————所以大家要多注意小细节问题。关流,换行。。。等等
    然后老师就问这两题怎么做的。涉及到哪些知识点,还问了反射。暴力反射。集合框架。
    最后是自我介绍...
/*
* 分析:
* 1.文本到文本用到读取写入字符流
* 2.获取对应 字符的次数并排序, a:  21 键值关系,可以用TreeMap
*
* 3.读取文本一行每个字符。
*  查找Map是是否存在,不存在put(key,1)不存在就put(key,value+1) 将所有数据都存到Map中
*  
* 4.然后在取出Map中元素,写入到目的文本中
* */
import java.io.*;
import java.util.*;
public class Test1 {

        public static void main(String[] args) throws Exception{
                TreeMap<Character , Integer> tm = new TreeMap<Character , Integer> ();

                BufferedReader bufr = new BufferedReader(new FileReader("D:\\Test.txt"));
                BufferedWriter bufw = new BufferedWriter(new FileWriter("D:\\Test1.txt"));
               
                String line = null;
                while((line=bufr.readLine())!=null){

                        store(line,tm);// 将每一行数据存入集合中
                }
                bufr.close();
               
                // 将存在Map集合中的元素取出 ,存入 bufw
                Set<Character> keySet = tm.keySet();
                Iterator<Character> it = keySet.iterator();
                while(it.hasNext()){
                        Character key = it.next();
                        Integer value = tm.get(key);
                       
                        bufw.write(key+": "+value);// 存入目的文本中
                        bufw.newLine();
                }
                bufw.close();
        }
        // 创建读取一行数据的方法 "abcd"
        public static void store(String line, TreeMap<Character , Integer> tm){
                // 字符串转换为字符数组
                char[] ch = line.toCharArray();
               
                // 遍历字符数组,
                for(int i=0; i<ch.length; i++){
                        // 字符作为键,获取值
                        Character key = ch[i];
                        Integer value = tm.get(key);
                        if(value==null){
                                tm.put(key, 1);
                        }else
                                tm.put(key, value+1);
                }
        }
}


50 个回复

倒序浏览
我也是一起的加QQ聊一下的撒q:6674784
回复 使用道具 举报
你的这个两个题目如果单独自己做思路清晰点应该没问题,之前也做过,不过在老师面前做会紧张,经常会漏掉这个那个,或者一些很简单的问题,我面试的时候老师也问我代码敲的不多吧?呵呵,加油
回复 使用道具 举报
扫地僧wu 来自手机 中级黑马 2014-11-6 18:50:08
板凳
感谢分享…自学了多长时间啊?
回复 使用道具 举报
感谢分享
回复 使用道具 举报
inception 来自手机 中级黑马 2014-11-6 19:19:49
地板
jeromechen 发表于 2014-11-6 17:58
你的这个两个题目如果单独自己做思路清晰点应该没问题,之前也做过,不过在老师面前做会紧张,经常会漏掉这 ...

嗯嗯!加油
回复 使用道具 举报
inception 来自手机 中级黑马 2014-11-6 19:30:43
7#
扫地僧wu 发表于 2014-11-6 18:50
感谢分享…自学了多长时间啊?

在校学java给面向对象ko了(其实是lol去了)。然后就没然后了
后来自己暑假看过java视频,理解了面向对象。开学又lol去了。
8月边上班边看视频,看的面向对象前面内容
9月10辞职,从多线程到现在
回复 使用道具 举报
感觉挺好的
回复 使用道具 举报
感谢楼主分享。。。
回复 使用道具 举报
感谢分享,顶
回复 使用道具 举报
Eagle 高级黑马 2014-11-6 22:41:50
11#
收藏了。呵呵
回复 使用道具 举报
感谢楼主的分享啊
回复 使用道具 举报
楼主代码练的太少了点 吧 加油
回复 使用道具 举报
面试感觉好有难度哦
回复 使用道具 举报
谢谢楼主无私分享,学习了
回复 使用道具 举报
楼主好人,楼主加油
回复 使用道具 举报
学习了 学习了
回复 使用道具 举报
写楼主分享啊,
回复 使用道具 举报
飞花雪夜 来自手机 初级黑马 2014-11-7 16:31:17
19#
楼主多少分?
回复 使用道具 举报
我现在视频还没学完,感觉看各位的面试题全是天书啊。
好紧张啊。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马