其实这次的题目和这位朋友4月份笔试的是同一份题目
http://willvvv.javaeye.com/blog/612379
呵呵,我做出了更详细的记忆。
笔试:
1.选择题:switch语句,传值传引用,异常处理结果打印(不定项选择,不太难,但基础题底气也不足)
2.问答题:
 a)6个Linux下常用命令,
  b)Ajax的原理,数据如何交互,用与不用的差别
 c)什么是单态模式及为什么要使用单态模式,
  d)从site1登录,保存session通过一个servlet传递session到site2,当隔了一断时间,从site2转回site1,此时site1中的session已经销毁,请问如何解决这个问题,能不能把session的timeout设为-1,为什么? 提出更好的解决方法。
  e)sql题目不难,考点:group by,order by desc
3.编程题:
第一个:字符串倒序处理,如“i am a boy.”变成“boy. a am i”,标点符号算单词里面,每个单词以空格分隔(不能用到String中indexOf,split,substring,replace);
第二个:写一个生产者Product类,一个消费者Customer类,生产者负责将1000个数放入长度为10的Integer[]数组,数组填满时等待,消费者负责将填满之后的数组置空,当消费完之后通知生产者生产,并等待。机试:
要求:使用jdk和记事本完成
统计一个目录下的所有文本文件(txt,html等),分别统计出英文字母、数字、空格、其它字符的个数和每个文件的行数。
(当时那台机幸好有个jdk中文帮助文档,更有味的是当时我那台机可以上网,我以为是“陷阱”,当时没有)昨晚其实还看了下那个朋友的博客,不过是随便瞄了眼,没想到遇到了同一份。。
这次不难,职位要求不是太高,可惜面试题没做好
面试一般,面试的时候是个woman,总喜欢问为什么。。在会议室看到,迅雷开发人员,入职前要经过七个步骤,笔试->机试->面试->....一天就被这样弄完了

解决方案 »

  1.   

    很好玩的生产者消费者问题,以前碰巧写过,分享一下吧
    http://blog.csdn.net/KingWolfOfSky/archive/2010/04/08/5464990.aspx
      

  2.   

    下  迅雷招java的是做什么??
      

  3.   

    呵呵,你应该开个贴给分问!用Pattern与Matcher.group()!
      

  4.   

    跟我四月时去的题目差不多,我要8000,他们给7000,说是还有3000股期权,觉得他们要经常加班,面试的人都跟sb似的没去。ls说2000的题的人,两个小时内用笔把上面的题做出再说,别眼高手低
      

  5.   

    用记事本和JDK写代码...........- -!  有什么意义
      

  6.   

    题还是有点难度的,说不难的不心虚吗?这个职位应该是3年以上的java面试题吧?!
      

  7.   

    1.选择题:switch语句,传值传引用,异常处理结果打印(不定项选择,不太难,但基础题底气也不足)如果是 Java 的话就不应该考这种题目!switch 是面向过程的语法,在面向对象的代码中应尽可能少地使用。
    Java 中有传引用的么?
    异常处理结果打印?这是啥?
      

  8.   

    编程题第一个。import java.util.Stack;public class Test2 extends Stack<String> { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s = "I am a boy.";
    Test2 myStack = new Test2();
    System.out.println(myStack.reverse(s, " "));
    }
        
    public String reverse(String source, String prefix) {
    if (source == null || source.equals("") || prefix == null
    || prefix.equals("")) {
    return null;
    }
    char[] c = source.toCharArray(); for (int i = 0; i < c.length; i++) {
    this.mypush(new String(c, i, 1), prefix);
    }
    StringBuffer sb = new StringBuffer();
    while (!this.empty()) {
    sb.append(this.pop());
    }
    return sb.toString();
    } /**
     * 压入栈
     * @param item
     * @param prefix
     * @return
     */
    private String mypush(String item, String prefix) {
    if (item == null) {
    return null;
    }
    if (this.empty()) {//空栈直接压入
    this.push(item);
    return this.peek();
    }
    String preitem = this.peek();
    if (preitem.equals(prefix) || item.equals(prefix)) {//分隔符直接压入
    this.push(item);
    } else {//否则将栈顶修改
    this.pop();
    this.push(preitem + item);
    }
    return this.peek();
    }}
      

  9.   


    谢谢指点switch 是面向过程的语法,在面向对象的代码中应尽可能少地使用。这
    这道题考的是:
    case语句后加不没加 break的问题Java 中有传引用的么?
    没有,慧眼啊 
    改为Java传值问题
    类似这道题:
    class SomeThing{
    public static void main(String args []){
    StringBuffer A = new StringBuffer("A");
    StringBuffer B = new StringBuffer("B");
    String a = "ab";
    String b = "c";
    operate(A,B);
    operate(a,b);
    System.out.println(A+","+B);
    System.out.println(a+","+b);
    }
    private static void operate(StringBuffer x,StringBuffer y){
    x.append(y);
    y=x;
    }
    private static void operate(String x,String y){
    x+=y;
    y=x;
    }
    }异常处理结果打印?这是啥?给你一段代码,在运行时可能会出现什么异常。
      

  10.   

    虽然不错但是有点复杂
    1.
    import java.util.Collections;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class TextReverse {
    public static void main(String[] args) {
      List<String> strs=new ArrayList<String>();
              String str="i am a boy.";
              Matcher m=Pattern.compile("\\w+[.,;!]?").matcher(str);
              while(m.find()) {
               strs.add(m.group());
              }
              Collections.reverse(strs);
              for(String s:strs) {
               System.out.print(s+" ");
              }
    }}测试结果:boy. a am i 
    2.常用linux命令cd   directory   进入指定的目录   
    cd   ..   进入上一级目录   
    cd   /directory   进入目录   
    cd   进入用户自己的目录   
    cp   file_from   file_to   拷贝文件   
    ln   [-s]   source   linkname   为一个文件建立连结   
    ls   [directory]   查看指定目录下的文件   
    ls   -l   [directory]   查看指定目录下文件的详细   
    ls   -a   [directory]   查看指定目录下的所有文件   
    mkdir   new_directory   建一个新目录   
    more   file   查看一个文本文件的内容   
    rm   file   删除一个文件   
    rm   -r   directory   删除一个目录   
    rmdir   directory   删除一个目录   
    find   .   -name   "file "   从当前目录开始查找指定的文件   
    adduser   创建新用户   
    alias   设置别名或替代名   
    bg   fg   使挂起的进程继续运行   
    ps   ax   查询当前进程   
    mount   连接文件系统   
    more   less   浏览文件内容   
    chown   chgrp   改变文件的拥有者   
    chmod   改变文件属性   
    halt   关闭系统   
    man   显示手册页   
    passwd   改变用户口令   
    grep   查找字符串   
    find   查找文件   
    dd   复制磁盘或文件系统   
    kill   杀掉一个进程   
    killall   杀掉进程
    ps   -ef|grep-v   root   
    这一命令要求grep接受ps命令的输出,并除去所有包含单词root的进程(-v的含义是显示与文本不匹配的内容)。在不使用-v选项时,这一命令将显示进程清单中所有包含单词root的进程。 3.生产者和消费者问题相当经典...
    4.统计出英文字母、数字、空格这个题应该考的是正则表达式...
      

  11.   

    上面两个人实现的第一个编程题也无非是把String的split底层方法加以修改……