av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語言

java軟件工程師面試題有哪些

時(shí)間:2025-02-06 01:45:46 java語言 我要投稿
  • 相關(guān)推薦

java軟件工程師面試題有哪些

  java軟件工程師面試題有哪些呢?今天小編為大家收集整理了以下的面試題,歡迎學(xué)習(xí)!

java軟件工程師面試題有哪些

  Java基礎(chǔ)方面:

  1,作用域public,protected,private,以及不寫時(shí)的區(qū)別

  答:區(qū)別如下:

  作用域 當(dāng)前類 同一package 子孫類 其他package

  public √ √ √ √

  protected √ √ √ ×

  friendly √ √ × ×

  private √ × × ×

  不寫時(shí)默認(rèn)為friendly

  2,ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別

  答:就ArrayList與Vector主要從二方面來說.

  一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的

  二.數(shù)據(jù)增長:當(dāng)需要增長時(shí),Vector默認(rèn)增長為原來一培,而ArrayList卻是原來的一半

  就HashMap與HashTable主要從三方面來說。

  一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)

  二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的

  三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value

  3,char型變量能不能定義為一個(gè)中文?為什么?

  答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的

  4,多線程有幾種表示方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?

  答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口

  同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify

  5,繼承時(shí)候類的執(zhí)行順序問題,一般都是選擇題,問你將會(huì)打印出什么?

  答:父類:

  package test;

  public class FatherClass

  {

  public FatherClass()

  {

  System.out.println("FatherClass Create");

  }

  }

  子類:

  package test;

  import test.FatherClass;

  public class ChildClass extends FatherClass

  {

  public ChildClass()

  {

  System.out.println("ChildClass Create");

  }

  public static void main(String[] args)

  {

  FatherClass fc = new FatherClass();

  ChildClass cc = new ChildClass();

  }

  }

  輸出結(jié)果:

  C:\>java test.ChildClass

  FatherClass Create

  FatherClass Create

  ChildClass Create

  6,內(nèi)部類的實(shí)現(xiàn)方式?

  答:示例代碼如下:

  package test;

  public class OuterClass

  {

  private class InterClass

  {

  public InterClass()

  {

  System.out.println("InterClass Create");

  }

  }

  public OuterClass()

  {

  InterClass ic = new InterClass();

  System.out.println("OuterClass Create");

  }

  public static void main(String[] args)

  {

  OuterClass oc = new OuterClass();

  }

  }

  輸出結(jié)果:

  C:\>java test/OuterClass

  InterClass Create

  OuterClass Create

  再一個(gè)例題:

  public class OuterClass {

  private double d1 = 1.0;

  //insert code here

  }

  You need to insert an inner class declaration at line 3. Which two inner class declarations are

  valid?(Choose two.)

  A. class InnerOne{

  public static double methoda() {return d1;}

  }

  B. public class InnerOne{

  static double methoda() {return d1;}

  }

  C. private class InnerOne{

  double methoda() {return d1;}

  }

  D. static class InnerOne{

  protected double methoda() {return d1;}

  }

  E. abstract class InnerOne{

  public abstract double methoda();

  }

  說明如下:

  一.靜態(tài)內(nèi)部類可以有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員。 故 A、B 錯(cuò)

  二.靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪問外部類的非靜態(tài)變量;return d1 出錯(cuò)。

  故 D 錯(cuò)

  三.非靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量。 故 C 正確

  四.答案為C、E

  7,垃圾回收機(jī)制,如何優(yōu)化程序?

  8,float型float f=3.4是否正確?

  答:不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.4

  9、介紹JAVA中的Collection FrameWork(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?

  答:Collection FrameWork如下:

  Collection

  ├List

  │├LinkedList

  │├ArrayList

  │└Vector

  │ └Stack

  └Set

  Map

  ├Hashtable

  ├HashMap

  └WeakHashMap

  Collection是最基本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素(Elements)

  Map提供key到value的映射

  10、Java中異常處理機(jī)制,事件機(jī)制?

  答:使用New操作創(chuàng)建對(duì)象后,JAVA虛擬機(jī)自動(dòng)該對(duì)象分配內(nèi)存并保持跟蹤,JAVA虛擬機(jī)能判斷出對(duì)象是否還被引用,對(duì)不再被引用的對(duì)象釋放其占用的內(nèi)存.

  11、JAVA中的多形與繼承?

  12、抽象類與接口?

  答:抽象類與接口都用于抽象,但是抽象類(JAVA中)可以有自己的部分實(shí)現(xiàn),而接口則完全是一個(gè)標(biāo)識(shí)(同時(shí)有多重繼承的功能)。

  13、Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務(wù)器幾個(gè)字符,再寫入本地顯示?

  答:Server端程序:

  package test;

  import java.net.*;

  import java.io.*;

  public class Server

  {

  private ServerSocket ss;

  private Socket socket;

  private BufferedReader in;

  private PrintWriter out;

  public Server()

  {

  try

  {

  ss=new ServerSocket(10000);

  while(true)

  {

  socket = ss.accept();

  String RemoteIP = socket.getInetAddress().getHostAddress();

  String RemotePort = ":"+socket.getLocalPort();

  System.out.println("A client come in!IP:"+RemoteIP+RemotePort);

  in = new BufferedReader(new

  InputStreamReader(socket.getInputStream()));

  String line = in.readLine();

  System.out.println("Cleint send is :" + line);

  out = new PrintWriter(socket.getOutputStream(),true);

  out.println("Your Message Received!");

  out.close();

  in.close();

  socket.close();

  }

  }catch (IOException e)

  {

  out.println("wrong");

  }

  }

  public static void main(String[] args)

【java軟件工程師面試題有哪些】相關(guān)文章:

java有哪些優(yōu)勢(shì)03-15

Java工程師面試題(170道)07-13

Java語言的優(yōu)點(diǎn)有哪些08-15

java基礎(chǔ)要點(diǎn)有哪些07-23

Java語言有哪些優(yōu)勢(shì)04-25

JAVA語言有哪些特點(diǎn)05-22

Java語言的特點(diǎn)有哪些02-03

學(xué)習(xí)java的方法有哪些07-01

java的Class類有哪些06-04