黑马程序员技术交流社区

标题: 今天上午面试的,忘了分享了! [打印本页]

作者: inception    时间: 2014-11-6 16:50
标题: 今天上午面试的,忘了分享了!
感谢张琼老师的面试。还要感谢流程中的其他老师。谢谢!
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);
                }
        }
}



作者: axing110    时间: 2014-11-6 17:17
我也是一起的加QQ聊一下的撒q:6674784
作者: jeromechen    时间: 2014-11-6 17:58
你的这个两个题目如果单独自己做思路清晰点应该没问题,之前也做过,不过在老师面前做会紧张,经常会漏掉这个那个,或者一些很简单的问题,我面试的时候老师也问我代码敲的不多吧?呵呵,加油
作者: 扫地僧wu    时间: 2014-11-6 18:50
感谢分享…自学了多长时间啊?
作者: chenglove1201    时间: 2014-11-6 18:52
感谢分享
作者: inception    时间: 2014-11-6 19:19
jeromechen 发表于 2014-11-6 17:58
你的这个两个题目如果单独自己做思路清晰点应该没问题,之前也做过,不过在老师面前做会紧张,经常会漏掉这 ...

嗯嗯!加油
作者: inception    时间: 2014-11-6 19:30
扫地僧wu 发表于 2014-11-6 18:50
感谢分享…自学了多长时间啊?

在校学java给面向对象ko了(其实是lol去了)。然后就没然后了
后来自己暑假看过java视频,理解了面向对象。开学又lol去了。
8月边上班边看视频,看的面向对象前面内容
9月10辞职,从多线程到现在

作者: 跟上节奏    时间: 2014-11-6 20:18
感觉挺好的
作者: date1130    时间: 2014-11-6 21:51
感谢楼主分享。。。
作者: Dr.Sparta    时间: 2014-11-6 22:31
感谢分享,顶
作者: Eagle    时间: 2014-11-6 22:41
收藏了。呵呵
作者: 戏言丶    时间: 2014-11-7 01:01
感谢楼主的分享啊
作者: 郑飞    时间: 2014-11-7 07:59
楼主代码练的太少了点 吧 加油
作者: 小朱    时间: 2014-11-7 08:30
面试感觉好有难度哦
作者: xukunn    时间: 2014-11-7 08:49
谢谢楼主无私分享,学习了
作者: 菜鸟一号    时间: 2014-11-7 09:01
楼主好人,楼主加油
作者: song395866365    时间: 2014-11-7 11:30
学习了 学习了
作者: diaolinan    时间: 2014-11-7 15:31
写楼主分享啊,
作者: 飞花雪夜    时间: 2014-11-7 16:31
楼主多少分?
作者: 旅人の影    时间: 2014-11-7 16:36
我现在视频还没学完,感觉看各位的面试题全是天书啊。
好紧张啊。
作者: kerner    时间: 2014-11-7 19:17
感谢楼主的分享,
作者: 扫地僧wu    时间: 2014-11-7 19:54
inception 发表于 2014-11-6 19:30
在校学java给面向对象ko了(其实是lol去了)。然后就没然后了
后来自己暑假看过java视频,理解了面向对象。 ...

好吧,我准么一个月看完基础视频的,看来难度有点大...
作者: 焦旭宁1    时间: 2014-11-7 21:01
加油吧!!!!!!!!!!
作者: inception    时间: 2014-11-8 00:19
小朱 发表于 2014-11-7 08:30
面试感觉好有难度哦

说实话,没有想象中的难。就刚开始会有点紧张
作者: 小朱    时间: 2014-11-8 08:26
inception 发表于 2014-11-8 00:19
说实话,没有想象中的难。就刚开始会有点紧张

老师会问得难吗
作者: feng_0207    时间: 2014-11-8 08:35
面试面试啊。。。
作者: inception    时间: 2014-11-8 14:10
飞花雪夜 发表于 2014-11-7 16:31
楼主多少分?

107.5分50期后付费,希望能做同学,加油。
作者: inception    时间: 2014-11-8 14:18
小朱 发表于 2014-11-8 08:26
老师会问得难吗

还好吧,面试前好好准备,放松心态,进不了,下期再来,我面试前2天上午基本睡觉,下午看面向对象,晚上看io流中的其他流。还有就是把以前写的重点的题看看,拷贝多级文件夹都会了,还怕拷贝mp3吗?加油。。
作者: inception    时间: 2014-11-8 14:27
戏言丶 发表于 2014-11-7 01:01
感谢楼主的分享啊

看了你的分享,4个小题就是爽,,加油。加油!
作者: 戏言丶    时间: 2014-11-8 15:11
inception 发表于 2014-11-8 14:27
看了你的分享,4个小题就是爽,,加油。加油!

我之前发的测试题么?我昨天也面试了:lol
作者: inception    时间: 2014-11-8 15:26
戏言丶 发表于 2014-11-8 15:11
我之前发的测试题么?我昨天也面试了

你发的面试题。。
作者: Doit    时间: 2014-11-8 17:16
谢谢分享!
作者: 王会涛    时间: 2014-11-8 17:23
面试的时候是不是太紧张了
作者: 默默丶    时间: 2014-11-8 19:13
这些都是最基础的了 不知道有没有什么稍微难的好准备下  
作者: scoto263    时间: 2014-11-9 00:09
过来看看顺便把题目瞧瞧,看看你的思路撒的
作者: scoto263    时间: 2014-11-9 01:14
自己试着做了一个不知道对不对。。
public class demo3 {
        public static void main(String args[]) throws IOException{
                BufferedReader bf=new BufferedReader(new FileReader("D:\\111.txt"));
               
                StringBuffer line=new StringBuffer();
                String nextLine;
                while((nextLine=bf.readLine())!=null){
                        line.append(nextLine);
                       
                }
                bf.close();
               
                char[] cc=line.toString().toCharArray();
                char[] er={'a','c','间'};
               
                tochu(cc,er);
               
        }

        private static void tochu(char[] cc, char[] cc2) {
               
                for(int m=0;m<cc2.length;m++){
                        int i=0;
                for(int ii=0;ii<cc.length;ii++){
                        if(cc2[m]==cc[ii]){
                                i=i+1;
                        }
                }
                        System.err.println("出现的字符"+cc2[m]+"为"+i+"次");
                }
               
        }

}

作者: touch_world    时间: 2014-11-9 06:56
谢谢楼主的分享
作者: 海阔天空ZJ    时间: 2014-11-9 08:55
我晕,30分钟敲2题代码,亚历山大啊。这个代码可以复制黏贴之前写过的吗?全部重新敲,搞不定啊
作者: 小朱    时间: 2014-11-9 09:05
inception 发表于 2014-11-8 14:18
还好吧,面试前好好准备,放松心态,进不了,下期再来,我面试前2天上午基本睡觉,下午看面向对象,晚上 ...

那你入学了咯?
作者: inception    时间: 2014-11-9 12:13
scoto263 发表于 2014-11-9 01:14
自己试着做了一个不知道对不对。。
public class demo3 {
        public static void main(String args[]) throw ...

我想应该可以,我没有测试。
存到stringBuffer,然后按er数组中元素查找。应该可以。不过er中的元素应该是cc数组去重复后的元素。

然后建议定义数组直接ch1 ch2好些,cc  er有点乱
tochu(cc,er);
private static void tochu(char[] cc, char[] cc2) {
cc er cc2看得真乱,

tochu(ch1,ch2);
private static void tochu(char[] ch1, char[] ch2) 

for循环用ij  xy   mn  不好些,m ii 也太跳了,

作者: inception    时间: 2014-11-9 12:15
海阔天空ZJ 发表于 2014-11-9 08:55
我晕,30分钟敲2题代码,亚历山大啊。这个代码可以复制黏贴之前写过的吗?全部重新敲,搞不定啊 ...

qq远程桌面了
作者: scoto263    时间: 2014-11-9 12:51
inception 发表于 2014-11-9 12:13
我想应该可以,我没有测试。
存到stringBuffer,然后按er数组中元素查找。应该可以。不过er中的元素应该是 ...

谢谢点评!
作者: 有陷阱快跑丶    时间: 2014-11-9 13:48
感觉蛮有难度的啊,我得加油了
作者: 黄宽    时间: 2014-11-9 14:07
  查找Map是是否存在,不存在put(key,1)不存在就put(key,value+1) 将所有数据都存到Map中?感觉楼主有点粗枝大叶了吧,不要误导我们啊,应该是存在就put(key,value+1) :L
作者: inception    时间: 2014-11-9 14:32
黄宽 发表于 2014-11-9 14:07
查找Map是是否存在,不存在put(key,1)不存在就put(key,value+1) 将所有数据都存到Map中?感觉楼主有点粗 ...

哈哈!谢谢指正。
作者: 空洞的望着窗外    时间: 2014-11-9 21:18
加油~大学也是玩LOL去了,不过现在不玩了,
作者: 奋斗的蜗牛ksd    时间: 2014-11-9 21:56
视频面试吗
作者: 彼此的唯一    时间: 2014-11-9 21:58
感谢分享!
作者: scoto263    时间: 2014-11-9 22:38
inception 发表于 2014-11-9 12:13
我想应该可以,我没有测试。
存到stringBuffer,然后按er数组中元素查找。应该可以。不过er中的元素应该是 ...

我这第二个数组是自己定义所要查询的几个字符
作者: 猪猪fly侠    时间: 2015-5-8 09:42
很好的分享
作者: xgd6612    时间: 2015-6-10 21:47
老夫和你差不多  第一次面试  可惜诶过    也是两道题  第一题 反射会做 第二题包装类 不会   然后 问了几个问题  再然后  我们就商量了一下二次面试时间~~~~~~~~~~~~~~555555555555555555555555




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2