嘿嘿,我这个.net出身的java外行,只能出一些通用性质的东东.
编程细节没特意搞,因为我觉得意义不大,类似代码挑错啊,抽象继承之类的我觉得意义不大.JAVA程序员笔试题目1,算法基础 请简要讲述一下排序算法的种类与时间复杂度。
2,数据结构 有一个字符串数组 List <string>="abc","bac","acb".....10万个元素,每个长度在3到16个字符。 
只保留其中一个组合,也就是说对于字符串内容相同,只是字符组合顺序不同的字符串进行删除。
如:"abc","bac","acb" 是相同的,只保留一个"abc"。给出思路或伪代码即可。3,面向对象 介绍一下你常用的设计模式及用途?4, 数据库设计 简要介绍一下关系型数据库的1-3NF泛式5,SQL语句 利用只有一ID列(int 自增)的表,记录只有5行,分别是1,2,3,4,5,查询出5个数字的全排列有多少种。6,正则表达式 写出过滤掉HTML标签的表达式。例如:<标签>文字</标签> 只保留文字。7,JSP服务器端开发 介绍一下JSP的内置对象和页面间对象传递的方法
8,HTML+CSS 在position:relative的情况下,只用DIV+CSS写出“自适应”屏幕宽度的三栏布局。(只要写出CSS关键字即可)9,AJAX和浏览器模型

在上一个题目的第2个DIV中,用JS在里边创建一个Table。10,架构 介绍一下你现在使用的技术框架设计,优缺点。-------------------------------(附加题目)-----------------------------11,软件工程 按照使用的频繁程度,介绍一下你使用的UML图的类型,用途。
12,XML和DOM模型

介绍一下常用的Dom方法,写出查找ID属性为1的Xpath语句。

解决方案 »

  1.   

    从整体上看还不错,从基础到高级基本上都涵盖了,一般公司在面试Java程序员的时候必考“String”类,无非再变态点的就是用Java语言写出链表、二叉数什么的。顺便问下:楼主的公司要招新人了吗?
      

  2.   

    狼哥 你要  招 java人啊?
    哈哈 题目不错 ,但是  感觉 太多了 , 呵呵 
      

  3.   

    第二题: List<String> l = new ArrayList<String>();
    l.add("bac");
    l.add("bca");
    l.add("aljfijq");
    l.add("abcd");
    l.add("badc");
    Map<String, String> m = new HashMap<String, String>();
    System.out.println("未处理:" + l);
    for (String s : l) {
    char[] c = s.toCharArray();
    Arrays.sort(c);
    m.put(new String(c), s);
    }
    System.out.println("处理后:" + m.values());
      

  4.   

    上面的没格式化
    List<String> l = new ArrayList<String>();
    l.add("bac");
    l.add("bca");
    l.add("aljfijq");
    l.add("abcd");
    l.add("badc");
    Map<String, String> m = new HashMap<String, String>();
    System.out.println("未处理:" + l);
    for (String s : l) {
    char[] c = s.toCharArray();
    Arrays.sort(c);
    m.put(new String(c), s);
    }
    System.out.println("处理后:" + m.values());
      

  5.   

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;public class Test { /**
     * FIXME
     * 
     * @param args
     */
    public static void main(String[] args) {
    List<String> l = new ArrayList<String>();
    l.add("bac");
    l.add("bca");
    l.add("aljfijq");
    l.add("abcd");
    l.add("badc");
    Map<String, String> m = new HashMap<String, String>();
    System.out.println("未处理:" + l);
    for (String s : l) {
    char[] c = s.toCharArray();
    Arrays.sort(c);
    m.put(new String(c), s);
    }
    System.out.println("处理后:" + m.values());
    }}
      

  6.   

    如果都象imA这么帅就好了,我今天面的人几乎都挂在第一,二题上了.这是最基本的东西啊,我的要求过分吗?比baidu,google的题目简单多了.
      

  7.   

    5,SQL语句 利用只有一ID列(int 自增)的表,记录只有5行,分别是1,2,3,4,5,查询出5个数字的全排列有多少种。
    -----------------------------------------------------------
    期待高人出现
      

  8.   

    感觉题目太泛了,比如:
    HTML+CSS应该是前端页面架构程序员的事,而UML应该是系统架构工程师的事吧.觉得分工应该要好一点.
      

  9.   


    imA 排序算法是很好的一个例子哦
    我这里给个 重写hashCode,和 equals的算法 大家看看对不
    多少的给我点分吧
    不给分我 下次就只看你贴就是不绑定class MyString{
    private String str;
    private int myCode = -1;
    //素数表
    public static char [] primeChar ={2,3,5,7,11,13,17,19,23,19,
    31,37,41,43,47,53,59,61,67,71,
    73,79,83,89,97,101};

    public MyString(){
    str = new String();
    }

    public MyString(String str){
    this.str = new String(str);
    }

    /**
     * 思想是 用 字母  (char - 'a')*第[char - 'a']素数来离散
     */
    @Override
    public int hashCode() {
    int n;
    if(myCode == -1)
    {
    char [] meCharAry = this.str.toCharArray();
    int length = str.length();
    for(int i=0; i<length; i++){
    n = meCharAry[i]-'a';
    myCode += n*primeChar[n];
    }
    }

    return myCode;
    } @Override
    public boolean equals(Object obj) {
    if (this == obj)
    return true;
    if (obj == null)
    return false;
    if (getClass() != obj.getClass())
    return false;
    MyString other = (MyString) obj;

    if(this.str.length() != other.str.length()){
    return false;
    }else{
    //长度相同的字符串 他们的素数离散Code如果一样,应该就是 abc=bac的例子
    if(this.hashCode() == other.hashCode())
    return true;
    else
    return false;
    }
    }

    @Override
    public String toString() {
    return  str;
    } public static void test(){
            List<MyString> l = new ArrayList<MyString>();
            l.add(new MyString("bac"));
            l.add(new MyString("bca"));
            l.add(new MyString("aljfijq"));
            l.add(new MyString("abcd"));
            l.add(new MyString("badc"));
            l.add(new MyString("aljfiqj"));
            l.add(new MyString("abcdefghijklm"));
            l.add(new MyString("ghijklmabcdef"));

            Set<MyString> hs = new HashSet<MyString>();
            System.out.println("未处理之前:" + l);
            
            for(MyString ms : l){
             hs.add(ms);
             System.out.println(ms.toString() + "--->hashCode: " + ms.hashCode());
            }
            
            System.out.println("未处理之后:" + hs);
    }/* 运行结果
      未处理之前:[bac, bca, aljfijq, abcd, badc, aljfiqj, abcdefghijklm, ghijklmabcdef]
    bac--->hashCode: 12
    bca--->hashCode: 12
    aljfijq--->hashCode: 1941
    abcd--->hashCode: 33
    badc--->hashCode: 33
    aljfiqj--->hashCode: 1941
    abcdefghijklm--->hashCode: 1941 //hashCode相同但长度不一样 所以equal返回false
    ghijklmabcdef--->hashCode: 1941
    未处理之后:[abcdefghijklm, abcd, aljfijq, bac]
     */
    }
      

  10.   


    这套题是应聘Java开发人员的吗 怎么没有简述下 Java 集合框架 和 IO流呢
    这两个貌似有点重要 用的很多
      

  11.   


    虽然我是大学生 但我还想到一个很重的方面没有考察
    考Java 好歹要叫应聘的学个 类似student teacher 的类
    看看编程风格这么样 写的是不是 geters,seters,变量函数命名之类的
    会不会重写 hashCode,equals,toString,finalize的基础方法 
      

  12.   

    没几个会的
    看来要学的东西还hen 
      

  13.   

    我咋感觉这些题目跟 Java 没有啥关系啊? 
      

  14.   


    应该就是WEB开发人员~~我就一直没明白,你要那分干吗,要完了,你能把这些题都答出来吗??
      

  15.   

    我还以为说我(imasmallbird--imA)呢,我还在纳闷呢,我也没说啥怎么就帅了呢??
    本来以为楼主简写了,仔细一看还真有imA,呵呵,自作多情了,不过imA是真的挺帅
      

  16.   


    .....这   ima真帅  
      

  17.   

    第5题:mysql> select * from t;
    +------+
    | id   |
    +------+
    |    1 |
    |    2 |
    |    3 |
    |    4 |
    |    5 |
    +------+
    5 rows in set (0.00 sec)mysql> select count(*) from
        -> t t1,t t2,t t3,t t4,t t5
        -> where t1.id!=t2.id and t1.id!=t3.id and t1.id!=t4.id
        -> and t1.id!=t5.id and t2.id!=t3.id and t2.id!=t4.id
        -> and t2.id!=t5.id and t3.id!=t4.id and t3.id!=t5.id
        -> and t4.id!=t5.id;
    +----------+
    | count(*) |
    +----------+
    |      120 |
    +----------+
    1 row in set (0.00 sec)
      

  18.   

    superdullwolf:  招人不  我来应聘
      

  19.   

    本人应届毕业生也在找工作,呵呵,做了一下很多不会,请高手指教.JAVA程序员笔试题目1,算法基础请简要讲述一下排序算法的种类与时间复杂度。
    排序算法有:
    插入排序,选择排序,交换排序,堆排序,归并排序等几大类,每类又有小类,时间复杂度,就忘了.
    2,数据结构有一个字符串数组 List <string>="abc","bac","acb".....10万个元素,每个长度在3到16个字符。
    只保留其中一个组合,也就是说对于字符串内容相同,只是字符组合顺序不同的字符串进行删除。
    如:"abc","bac","acb" 是相同的,只保留一个"abc"。给出思路或伪代码即可。
    先降低问题规模,定义14个list,将长度相同的字符串放一个list中,
    利用多线程
    对每一个list再进行处理:
    处理方法如下:
    for(){//每一个list元素
       1 取出list里的第一个String,
       2 调用tochars方法取出构成该String的每一个char,
       3 再建立正则表达式,和list中的其他元素进行匹配,
       4 删除匹配正确的string
    }
    3,面向对象介绍一下你常用的设计模式及用途?
    单例模式:实现一个类只有一个实类
    工厂模式:调用者只管调用,不用管具体的实现.
    抽象工厂模式:对工厂再进行一次工厂模式.
    等4, 数据库设计简要介绍一下关系型数据库的1-3NF泛式
    1:每一个字段不可再分
    2:非码属性之间不能依赖关系  消除传递依赖
    3:所有的非码属性都要完全依赖主属性  消除不完全依赖5,SQL语句利用只有一ID列(int 自增)的表,记录只有5行,分别是1,2,3,4,5,查询出5个数字的全排列有多少种。上楼有一兄弟做出来了,不在重复.6,正则表达式写出过滤掉HTML标签的表达式。例如: <标签>文字 </标签> 只保留文字。
    印象中:正则表达式只能进行匹配,不能过滤吧,高手指点.7,JSP服务器端开发介绍一下JSP的内置对象和页面间对象传递的方法
    是用 EL:${}
    吗?8,HTML+CSS在position:relative的情况下,只用DIV+CSS写出“自适应”屏幕宽度的三栏布局。(只要写出CSS关键字即可)不会,盼高手指点.
    9,AJAX和浏览器模型在上一个题目的第2个DIV中,用JS在里边创建一个Table。10,架构介绍一下你现在使用的技术框架设计,优缺点。
    Hibernate:实现对象的持久化,java里的万物都是对象,hibernate就是一个很好的将对象mapping到关系数据库的开源框架,不过使用数据时,不管使用几个字段hibernate都会将整条记录取出以填充对象,感觉有些多余.
    Struts:听有些高手说很多应用其实不用分MVC,会更简单.这应该不算缺点.struts1中的表单验证是先填充后验证,如果填充不了的话会出错,这应该算一个缺点吧.
    spring:目前没发现缺点
    -------------------------------(附加题目)-----------------------------11,软件工程按照使用的频繁程度,介绍一下你使用的UML图的类型,用途。
    不会,高手请指教!12,XML和DOM模型介绍一下常用的Dom方法,写出查找ID属性为1的Xpath语句。
    document.getElementById(1);
      

  20.   

    [Quote=引用 8 楼 ima 的回复:]
    第二题:  List <String> l = new ArrayList <String>();
      l.add("bac");
      l.add("bca");
      l.add("aljfijq");
      l.add("abcd");
      l.add("badc");
      Map <String, String> m = new HashMap <String, String>();
      System.out.println("未处理:" + l);
      for (String s : l) {
      char[] c = s.toCharArray();
      Arrays.sort(c);
      m.put(new String(c), s);
      }
      System.out.println("处理后:" + m.values());[/Quot]这个题我想知道lz有没有更好的解决方案!
      

  21.   

    先问下 你招这个员工回头给他多少MONEY啊..8T和6T有些偏
    1T嘛 不知道算不算高级排序 基础排序的话也都忘记差不多了 只记得不同的基础排序针对不同的情况 比如需要注意排序的情况下 是比较费时间呢 还是移位费时间呢 以及不同的数据有不同的情况2T嘛 我不太明白什么意思 不过既然是每种只留一个的话 我的建议是先将相同的全部都去掉 然后再详细的进行判断 先按照长度区分 然后怎么弄就不晓得咯(如果说每个元素的内容之间可以一样 比如abx 和 abd 只有一个字符不同的话 的确我没啥办法 不过要是每个都不一样的话 可以尝试从 排序方面解决下) 乱猜的3T嘛 常用的就是单例咯 代理咯 装饰咯 工厂就很少用咯..4T不懂5T也不懂7T是大概说啥捏?传值方法是说attribute那些方法么? 9个内置对象都写完了还要介绍要累死人鸟..8T木明白啥意思 9T创建一个TABLE用createElement吧 10T没明白啥意思大部分的问题大概搜索下就可以解决了 但是LZ问这些实在是太...看样子我出去找工作还得失败而归啊 ..继续研究偶地工资编辑器咯..
      

  22.   


    为什么要HashMap不用HashSet呢?
      

  23.   


    这个算法,用HashMap是精髓所在啊,也就是他帅的地方。用HashSet的话,得到的就是abc,而不是bac,bca的其中一个了。但是个人觉得l还是反排一下比较好,保留第一个,现在是保留最后一个,虽然题目没要求看完这套题,我想,我还是不要出去找技术的活干了
      

  24.   

    yetaodiao 来吧,上海,证券之星,到51job上投简历.
      

  25.   

    8楼的是错的。
    题目说:只保留其中一个组合问题是:你都排序后,留下来的可能是原来数组中没有的。例如:"bac","acb"  ,留下来的应该是:"bac"或"acb" ,而不是:"abc"。因为:"abc"是你新建的,原来的list没有。
      

  26.   

    第5题  sqlserver 下测试declare @test table(id int)
    insert into @test 
    select 1 union all select 2 union all select 3 union all select 4 union all select 5
    select * from @test a full join @test b on 1 = 1 
    full join @test c on 1=1 full join @test d on 1=1 
    full join @test e on 1=1