• 2013年3月25日(面试)


    (1)你所知道的集合类有哪些?描述一下这些集合类的作用?

          答:集合类有 List,Set,Map集合。

               1.List集合是有序,且元素可重复。常用类有LinkedList,ArrayList,Vector和Stack。

               2.Set集合是无序,且元素不可重复。

               3.Map集合提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。常用类有Hashtable,HashMap,WeakHashMap。

    (2)有一个将大量短字符拼接成一个长字符串的功能,请描述你将如何实现。

           答:使用StringBuffer来实现

                 StringBuffer str=new StringBuffer();

                 str.append("段字符串").append("段字符串").....;

    (3)公司开发了一个特定功能的api包,由于客户有新需求,要求在保持接口名称不变的情况下实现对参数列表的扩充,请问该怎么实现客户需求?

    后来客户要求保持接口和参数列表不变的情况下,改变接口提供的功能,请问该如何实现客户的需求?(提示,使用Java的什么机制可以方便达到客户要求?)

            答:用接口继承接口来实现参数列表扩充(extends),用一个类来继承实现了接口方法的类,并覆盖该类的方法。

    package TestFor0324;
    
    public interface InterfaceTest {
    
        public void run(int i, int j);
    
    }
    interface test1 extends InterfaceTest{
    
        public void run(int i,int j,int k);
    }

    (4)定义一个Javascript对象字面量,并向对象中添加属性a=1,b=2;

      var test={

        a:1,

        b:2;

      };

    (5)给出如下javascript代码

      var j=1;

          var obj={j:2};

          function test(){

      alert(this.j);

      }

       test();//line7

           test.call(obj);//line8

    line 7输出:1

    line 8输出:2

    (6)输出如下结果:

    *        *

    **      *

    ***    *

    ****  *

    ******

    package TestFor0325;
    
    public class DemoFor水仙花数 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            for(int i=1;i<6;i++){            
                for(int j=1;j<=i;j++){
                    System.out.print("*");    
                }
                for(int k=1;k<6-i;k++){
                    System.out.print(" ");
                }
                System.out.println("*");
            }
            
        }
    }

    (7)一类数字,他们顺着看和倒着看是一样的如“121,12321....”,这样的数字就称回文数字,编写一个Javascript程序,判断某个数字是不是回文数字。

    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <meta http-equiv='content-Type' content='text/html;charset=utf-8'>
    </HEAD>
    <script>
    function check(obj){
    var value=obj.value;
    if(isNaN(value)){
    alert('请输入数字');
    return ;
    }
    for(var i=0;i<value.length/2;i++){

    if(value.charAt(i)-value.charAt(value.length-1-i)!=0){
    alert('不是回文数');
    return ;
    }
    }
    alert('是回文数');
    }
    </script>
    <BODY>
    <input type='text' onblur='check(this)' />
    </BODY>
    </HTML>

    (8)有一个水龙头,能无限出水,还有两个空瓶。分别储藏500ml水和600ml水,想想通过什么方法能得到300ml水?

    (9)谈谈“沉默是金”这句话与软件开发工作的关系!

            答:略。。

  • 相关阅读:
    C++怎么实现线程安全
    Linux内核之进程地址空间
    Linux内核之内存管理
    内存管理之内存寻址
    Linux内核初探
    进程间通信
    下拉列表控件实例 ComboBoxControl
    数据表格控件 DataGridControl
    8 种百度云高速下载,你值得拥有
    10 快好用的下载工具,终于和迅雷说拜拜了
  • 原文地址:https://www.cnblogs.com/DeepBlues/p/2981758.html
Copyright © 2020-2023  润新知