国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

數(shù)碼視訊2015校園招聘JAVA筆試題及答案

2019-11-14 21:22:31
字體:
供稿:網(wǎng)友
數(shù)碼視訊2015校園招聘java筆試題及答案

一、選擇題(每題5分,共20分)

1、訪問修飾符作用范圍由大到小是(D)

A、 PRivate-default-protected-public

B、 public -default-protected- private

C、 private- protected-default- public

D、public - protected- default-private

2、以下(D)不是Object類的方法?

A、clone()

B、finalsize()

C、toString()

D、hasNext()

3.Java中,以下(B)接口以鍵——值對的方式存儲對象?

A、java.util.Collection

B、java.util.Map

C、java.util.List

D、java.util.Set

4、指出下列程序運(yùn)行的結(jié)果()

Public class Example{

String str=new String(“good”);

char[] ch={‘a’,’b’,’c’ };

public static void main(String args[]){

Exampleex=new Example();

Ex.change(ex.str,ex.ch);

System.out.print(ex.str+”and ”);

System.out.print(ex.ch);

}

public void change(String str,char ch[]){

str=”test ok”;

ch[0]=’g’;

}

A、good and abc

B、good and gbc

C、test ok and abc

D、test ok and gbc

二、填空題(每題5分,共20分)

5、JAVA基本數(shù)據(jù)類型包括__字符類型char,布爾類型boolean,數(shù)值類型____.

6、Math.round(11.5)等于多少?12,Math.round(-11.5)等于多少?-11

7、程序String str1="hello";String str2="he"+newString("llo");

System.out.println(str1==str2);的運(yùn)行結(jié)果是:false

8、字符串分為兩大類,一類是字符串常量,使用String類的對象表示;另一類是字符串變量,使用StringBuffer類的對象表示。

三 簡答

9.接口和抽象類的區(qū)別是什么?(10分)

答案:接口是公開的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類是可以有私有方法或私有變量的,

另外,實現(xiàn)接口的一定要實現(xiàn)接口里定義的所有方法,而實現(xiàn)抽象類可以有選擇地重寫需要用到的方法,一般的應(yīng)用里,最頂級的是接口,然后是抽象類實現(xiàn)接口,最后才到具體類實現(xiàn)。

還有,接口可以實現(xiàn)多重繼承,而一個類只能繼承一個超類,但可以通過繼承多個接口實現(xiàn)多重繼承,接口還有標(biāo)識(里面沒有任何方法,如Remote接口)和數(shù)據(jù)共享(里面的變量全是常量)的作用.

10.利用遞歸方法求5!

答案:

public class Test {

public static void main(String args[]) {

int x = 5;

int rs = Fac(x);

System.out.println("" + x + "! = " + rs);

}

public static long Fac(int x) {

if(x > 1)

return (x * Fac(x - 1));

else

return 1;

}

}

11.編寫多線程代碼有幾種實現(xiàn)方法?請用一段代碼分別舉例實現(xiàn)。

答案:

三種:

(1)繼承Thread類,重寫run函數(shù)

創(chuàng)建:

classxx extends Thread{

public void run(){

Thread.sleep(1000) //線程休眠1000毫秒,sleep使線程進(jìn)入Block狀態(tài),并釋放資源

}}

開啟線程:

對象.start() //啟動線程,run函數(shù)運(yùn)行

(2)實現(xiàn)Runnable接口,重寫run函數(shù)

開啟線程:

Threadt = new Thread(對象) //創(chuàng)建線程對象

t.start()

(3)實現(xiàn)Callable接口,重寫call函數(shù)

Callable是類似于Runnable的接口,實現(xiàn)Callable接口的類和實現(xiàn)Runnable的類都是可被其它線程執(zhí)行的任務(wù)。

Callable和Runnable有幾點不同:

①Callable規(guī)定的方法是call(),而Runnable規(guī)定的方法是run().

②Callable的任務(wù)執(zhí)行后可返回值,而Runnable的任務(wù)是不能返回值的

③call()方法可拋出異常,而run()方法是不能拋出異常的。

④運(yùn)行Callable任務(wù)可拿到一個Future對象,F(xiàn)uture表示異步計算的結(jié)果。它提供了檢查計算是否完成的方法,以等

待計算的完成,并檢索計算的結(jié)果.通過Future對象可了解任務(wù)執(zhí)行情況,可取消任務(wù)的執(zhí)行,還可獲取任務(wù)執(zhí)行的結(jié)果

12.編程題:寫一個觀察者模式出來(先畫類圖,在用代碼實現(xiàn))

答案:

/// <summary>    ///抽象主題類    /// </summary>    public abstract class Subject    {        private IList<Observer> observers = new List<Observer>();        /// <summary>        ///增加觀察者        /// </summary>        /// <param name="observer"></param>        public void Attach(Observer observer)        {            observers.Add(observer);        }        /// <summary>        ///移除觀察者        /// </summary>        /// <param name="observer"></param>        public void Detach(Observer observer)        {            observers.Remove(observer);        }        /// <summary>        ///向觀察者(們)發(fā)出通知        /// </summary>        public void Notify()        {            foreach (Observer o in observers)            {                o.Update();            }        }    }    /// <summary>    ///抽象觀察者類,為所有具體觀察者定義一個接口,在得到通知時更新自己    /// </summary>    public abstract class Observer    {        public abstract void Update();    }    /// <summary>    ///具體觀察者或具體通知者,將有關(guān)狀態(tài)存入具體觀察者對象;在具體主題的內(nèi)部狀態(tài)改變時,給所有登記過的觀察者發(fā)出通知。具體主題角色通常用一個具體子類實現(xiàn)。    /// </summary>    public class ConcreteSubject : Subject    {        private string subjectState;        /// <summary>        ///具體觀察者的狀態(tài)        /// </summary>        public string SubjectState        {            get { return subjectState; }            set { subjectState = value; }        }    }    /// <summary>    ///具體觀察者,實現(xiàn)抽象觀察者角色所要求的更新接口,已是本身狀態(tài)與主題狀態(tài)相協(xié)調(diào)    /// </summary>    public class ConcreteObserver : Observer    {        private string observerState;        private string name;        private ConcreteSubject subject;        /// <summary>        ///具體觀察者用一個具體主題來實現(xiàn)        /// </summary>        public ConcreteSubject Subject        {            get { return subject; }            set { subject = value; }        }        public ConcreteObserver(ConcreteSubject subject, string name)        {            this.subject = subject;            this.name = name;        }        /// <summary>        ///實現(xiàn)抽象觀察者中的更新操作        /// </summary>        public override void Update()        {            observerState = subject.SubjectState;            Console.WriteLine("The observer's state of {0} is {1}", name, observerState);        }    }

  

四、選做題

一個有10億條記錄的文本文件,已按照關(guān)鍵字排好序存儲,設(shè)計算法,可以快速的從文件中查找指定關(guān)鍵字的記錄

分析:10億在 G量級, 分成100份, 為10M量級, 基本上放入內(nèi)存無壓力了.

在這10億記錄中, 均分為100份, 把每份的第一條記錄關(guān)鍵字和此記錄對應(yīng)的文件偏移量先掃入內(nèi)存(類似索引), 這里需要磁盤隨機(jī)io 100次.

這樣可以馬上定位出指定關(guān)鍵字所在的記錄塊, 把相應(yīng)的記錄塊拿到內(nèi)存, 二分查找即可.

原文:http://www.dy1280.com/thread-408-1-1.html


上一篇:Java語言基本語法

下一篇:java的變量

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江川县| 阿巴嘎旗| 安新县| 南丰县| 南皮县| 黄骅市| 密山市| 潞城市| 大埔县| 石林| 盘山县| 府谷县| 东山县| 富民县| 肃南| 云南省| 姜堰市| 昌邑市| 峡江县| 隆昌县| 股票| 恭城| 威信县| 昂仁县| 蕲春县| 尚志市| 玛沁县| 阳原县| 密山市| 浠水县| 崇州市| 马尔康县| 青田县| 玉溪市| 五华县| 封丘县| 塔城市| 莱西市| 乐至县| 盘锦市| 涡阳县|