OCP 804 Exams -01

      在〈OCP 804 Exams -01〉中尚無留言
Q-001
Given the code fragment:
DataFormat df;
Which statement defines a new Dateformat object that displays the default date format for the UK Locale?
A. df = DateFormat.getDateInstance (DateFormat.DEFAULT, Locale (UK)); 
B. df = DateFormat.getDateInstance (DateFormat.DEFAULT, UK); 
C. df = DateFormat.getDateInstance (DateFormat.DEFAULT, Locale.UK); 
D. df = new DateFormat.getDateInstance (DateFormat.DEFAULT, Locale.UK); 
E. df = new DateFormat.getDateInstance (DateFormat.DEFAULT, Locale (UK));

Answer: C
Q-002
Given:
public class DoubleThread {
    public static void main(String[] args) {
        Thread t1 = new Thread() {
        public void run() {
            System.out.print("Greeting");
        }
        Thread t2 = new Thread(t1); // Line 9
        t2.run();
    }
}
Which two are true?
A. A runtime exception is thrown on line 9. 
B. No output is produced. 
C. Greeting is printed once. 
D. Greeting is printed twice. 
E. No new threads of execution are started within the main method. 
F. One new thread of execution is started within the main method. 
G. Two new threads of execution are started within the main method.

Answer: CE
Q-003
Given:
import java.util.*;
public class AccessTest {
    public static void main(String[] args) {
        Thread t1 = new Thread(new WorkerThread());
        Thread t2 = new Thread(new WorkerThread());
        t1.start(); t2.start; // line1
    }
}
class WorkPool {
    static ArrayList list = new ArrayList<>(); // line2
    public static void addItem() { // line3
        list.add(1); // Line4
    }
}
class WorkerThread implements Runnable {
    static Object bar = new Object ();
    public void run() { //line5
        for (int i=0; i<5000;i++) WorkPool.addItem(); // line6
    }
}
Which of the four are valid modifications to synchronize access to the valid list between threads t1 and t2?
 
A. Replace line 1 with:
    Synchronized (t2) (t1.start();) synchronized(t1) (t2.start();) 
B. Replace Line 2 with:
   static CopyWriteArrayList list = new CopyWriteArrayList<>(); 
C. Replace line 3 with:
    synchronized public static void addItem () { 
D. Replace line 4 with:
   synchronized (list) (list.add(1);) 
E. Replace line 5 with:
   Synchronized public void run () { 
F. replace line 6 with:
   Synchronized (this) {for (in i = 0, i<5000, i++) WorkPool.addItem(); } 
G. Replace line 6 with:
   synchronized (bar) {for (int i= 0; i<5000; i++) WorkPool.addItem(); }

Answer: C
Q-004
Sam has designed an application. It segregates tasks that are critical and executed frequently from tasks that are non critical and executed less frequently. He has prioritized these tasks based on their criticality and frequency of execution. After close scrutiny, he finds that the tasks designed to be non critical are rarely getting executed. From what kind of problem is the application suffering? 
A. race condition 
B. starvation 
C. deadlock 
D. livelock

Answer: B
Q-005
Give:
Class Employee {
   public int checkEmail() {/* . . . */}
   public void sendEmail (String email) {/* . . . */}
   public Boolean validDateEmail(){/* . . . */}
   public void printLetter (String letter) {/* . . . */}
}
Which is correct?
A. Employee takes advantage of composition. 
B. Employee "has-an" Email. 
C. Employee "is-a" LetterPrinter. 
D. Employee has low cohesion.


Answer: D
cohesion[koˋhiʒən] : 聚合
Q-006
Which two demonstrate the valid usage of the keyword synchronized?
A. interface ThreadSafe { 
       synchronized void doIt(); 
   } 
B. abstract class ThreadSafe {
       synchronized abstract void doIt(); 
   } 
C. class ThreadSafe {
       synchronized static void soIt () {} 
   } 
D. enum ThreadSafe { 
      ONE, TWO, Three; 
      Synchronized final void doIt () {} 
   }


Answer: CD
Q-007
Given the incomplete pseudo-code for a fork/join framework application:
submit(Data) {
   if(Data.size < SMALL_ENOUGH) {
      _________________(Data); // line x
   }
   else {
      List x = _________________(Data); // line Y
      for(Data d: x
         ______________(d); // line z
   }
}
And given the missing methods:
process, submit, and splitInHalf
Which three insertions properly complete the pseudo-code?
A. Insert submit at line X. 
B. Insert splitInHalf at line X. 
C. Insert process at line X. 
D. Insert process at line Y. 
E. Insert splitInHalf at line Y. 
F. Insert process at line Z. 
G. Insert submit at line Z.


Answer: CEG
Q-008
ITEM Table
* ID, INTEGER: PK
* DESCRIP, VARCHAR(100)
* PRICE, REAL
* QUALITY, INTEGER
And given the code fragment (assuming that the SQL query is valid):
try {
   String query = "SELECT * FROM Item WHERE ID=110";
   Statement stmt = conn.createStatement();
   ResultSet rs = stmt.executeQuery(query);
   while (rs.next ()) {
      System.out.println("ID: " + rs.getInt("Id"));
      System.out.println("Description: " + rs.getString("Descrip"));
      System.out.println("Price: " + rs.getDouble("Price"));
      System.out.println("Quantity: " + rs.getInt("Quantity"));
   }
} 
catch (SQLException se) {
   System.out.println("Error");
}
What is the result of compiling and executing this code?
A. An exception is thrown at runtime 
B. Compile fails 
C. The code prints Error 
D. The code prints information about Item 110


Answer: A
這題有爭議, 沒有Connection conn=DriverManager.getConnection(...) 所以會compile, 選B
但如果try前面有Connection conn; 那因為conn為null, 才會丟出例外, 選A

Q-009
Given:
class Deeper {
   public Number getDepth() {
      return 10;
   }
}
Which two classes correctly override the getDepth method?
A. public class deep extends Deeper {
      public Integer getDepth(){ return 5; } 
} 
B. public class deep extends Deeper {
      public double getDepth() { return"5"; } 
   } 
C. public class deep extends Deeper {
      public String getDepth () { } 
   } 
D. public class deep extends Deeper {
      public Long getDepth (int d) { return 5L; } 
   } 
E. public class deep extends Deeper {
      public Short getDepth () { return 5; } 
   }


Answer: AE
Q-010
Given the code fragment:
public class App {
   public static void main (String [] args){
      Path path = Paths.get("C:\\education\\institute\\student\\report.txt");
      System.out.println("get.Name(0): %s", path.getName(0));
      System.out.println ("subpath(0, 2): %s", path.subpath (0, 2));
   }
}
What is the result?
A. getName (0): C:\
   subpath (0, 2): C:\education\report.txt 
B. getName(0): C:\
   subpth(0, 2): C:\education 
C. getName(0): education
   subpath (0, 2): education\institute 
D. getName(0): education
   subpath(0, 2): education\institute\student 
E. getName(0): report.txt
   subpath(0, 2): insritute\student


Answer: C
Q-011
To provide meaningful output for:
System.out.print( new Item ()):
A method with which signature should be added to the Item class?
A. public String asString() 
B. public Object asString() 
C. public Item asString()
D. public String toString() 
E. public object toString() 
F. public Item toString()

 
Answer: D
Q-012
Given the code fragment:
public class DisplaValues {
   public void printNums (int [] nums){
      for (int number: nums) {
         System.err.println(number);
      }
   }
}
Assume the method printNums is passed a valid array containing data. Why is this method not producing output on the console?
A. There is a compilation error. 
B. There is a runtime exception. 
C. The variable number is not initialized. 
D. Standard error is mapped to another destination.


Answer: D
Q-013
Which method would you supply to a class implementing the Callable interface?
A. callable ()
B. executable ()
C. call ()
D. run ()
E. start ()


Answer: C
Q-014
Given the existing destination file, a source file only 1000 bytes long, and the code fragment:
public void process (String source, String destination) {
   try (InputStream fis = new FileInputStream(source);
        OutputStream fos = new FileOutputStream(destination)
        ){
      byte [] buff = new byte[2014];
      int i;
      while ((i = fis.read(buff)) != -1) {
         fos.write(buff,0,i); // line ***
      }
   } catch (IOException e) {
      System.out.println(e.getClass());
   }
}
What is the result?
A. Overrides the content of the destination file with the source file content
B. Appends the content of the source file to the destination file after a new line
C. Appends the content of the source file to the destination file without a break in the flow
D. Throws a runtime exception at line***


Answer: A
Q-015
Which two codes correctly represent a standard language locale code?
A. ES
B. FR
C. U8
D. es
E. fr
F. u8


Answer: DE
命名規則為 : 語系_國別
語系小寫, 國別大寫, 如zh_TW, zh_CN
Q-016
Which code fragment demonstrates the proper way to handle JDBC resources?
A. Try {
      ResultSet rs = stmt.executableQuery (query);
      statement stmt = con.createStatement();
      while (rs.next()) (/* . . . */)
   } catch (SQLException e) {}
B. Try {
      statement stmt = con.createStatement();
      ResultSet rs = stmt.executableQuery (query);
      while (rs.next()) (/* . . . */)
   } catch (SQLException e) {}
C. Try {
      statement stmt = con.createStatement();
      ResultSet rs = stmt.executableQuery (query);
      while (rs.next()) (/* . . . */)
   } finally {
      rs.close();
      stmt.close();
   }
D. Try {
      ResultSet rs = stmt.executableQuery (query);
      statement stmt = con.createStatement();
      while (rs.next()) (/* . . . */)
   } finally {
      rs.close();
      stmt.close();
   }


Answer: C
Q-017
Given:
import java.io.IOException;
import java.io.file.Path;
import java.io.file.Paths;
public class Path12 {
   public static void main(String s[]) throws IOException {
      Path path = Paths.get("\\sales\\quarter\\..\\qtrlreport.txt");
      path.relativize(Paths.get("\\sales\\annualreport.txt"));
      if(path.endsWith("annualreport.txt")) {
         System.out.println(true);
      } else {
         System.out.println(false);
      }
      System.out.println(path);
   }
}
What is the result?
A. false
   \sales\quarter\ . . \qtrlreport.txt
B. false
   \quarter\ . . \qtrlreport.txt
C. true
   . . \ . . \ . . \ annualreport.txt
D. true
   \ . . \ . . \annualreport.txt


Answer: A
path.relativize(Paths.get("\\sales\\annualreport.txt"));會傳回新的相對路徑, 但因為沒有接收, 所以path沒有變更
Q-018
Given the fragment:
public class CustomerApplication {
   public static void main (String args[]) {
      CustomerDAO custDao= new CustomerDAOMemoryImpl(); // Line 3
      // ... other methods
   }
}
Which two valid alternatives to line 3 would decouple this application from a specific implementation of CustomerDAO?
A. CustomerDAO custDao = CustomerDAO();
B. CustomerDAO custDao = (CustomerDAO) new Object ();
C. CustomerDAO custDao = CustomerDAO.getInstance();
D. CustomerDAO custDao = (CustomerDAO) new CustomerDAOmemoryImp1();
E. CustomerDAO custDao = customerDAOFactory.getInstance();


Answer: DE
Q-019
Given this error message when running your application:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name MessageBundle, locale
And given that the MessageBundle.properties file has been created, exists on your disk, and is properly formatted.
What is the cause of the error message?
A. The file is not in the environment path.
B. The file is not in the classpath.
C. The file is not in the javapath.
D. You cannot use a file to store a ResourceBundle.


Answer: A
Q-020
Given a language code of fr and a country code of FR, which file name represents a resource bundle file name that is not the
default?
A. MessageBundle_fr_FR.properties
B. MessageBundle_fr_FR.profile
C. MessageBundle_fr_FR.xinl
D. MessageBundle__fr__FR.Java
E. MessageBundle__fr__FR.Locale


Answer: A

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *