Core Java Test : J2SE 1.5

SpaceAge ™ ©


Test Instruction

 

Congratulations! Today is the first day of the rest of your life.
You can eat an Elephant, one bite at a time.
Courage-Intellect-Integrity-Teamwork

Test Objectives

 


 Test Instruction - Core Java Test
                
1. Please read all instructions.  

2. The test questions are designed to test our understanding of important concepts in Java, which we
are expected to know, understand and use every day and in every line of source code we write. 

3. The test questions are designed in a manner that we will have minimal need to refer to API or any books.

4. This test is designed for Internet Explorer 6 or higher.
	
5. To take the test, click "Begin Test". 

6. The test will be launched in a new instance of the browser.
	
7. While the test is in progress, you cannot switch between applications. 

8. Each Question comprises of multiple choices.

9. There is a time limit for each question and time limit is not same for all questions.
  
10. The total amount of time you spend in the test will be recorded.

11. To move on to the Next Question: Click "Submit" button, or when the question times out, 
it will automatically move to the next question.
      
12. You will not be able to go back to previous questions.

13. To quit the test click "Cancel Test" button 


All the best!

Goto Top
   Exam Objectives (work in progress)
 
Section 1: Declarations and Access Control
  • Write code that declares, constructs and initializes arrays of any base type using any of the permitted forms both for declaration and for initialization.
  • Declare classes, nested classes, methods, instance variables, static variables and automatic (method local) variables making appropriate use of all permitted modifiers (such as public, final, static, abstract, etc.). State the significance of each of these modifiers both singly and in combination and state the effect of package relationships on declared items qualified by these modifiers.
  • For a given class, determine if a default constructor will be created and if so state the prototype of that constructor.
  • Identify legal return types for any method given the declarations of all related methods in this or parent classes.
  • Section 2: Flow control, Assertions, and Exception Handling
     
  • Write code using if and switch statements and identify legal argument types for these statements.
  • Write code using all forms of loops including labeled and unlabeled, use of break and continue, and state the values taken by loop counter variables during and after loop execution.
  • Write code that makes proper use of exceptions and exception handling clauses (try, catch, finally) and declares methods and overriding methods that throw exceptions.
  • Recognize the effect of an exception arising at a specified point in a code fragment. Note: The exception may be a runtime exception, a checked exception, or an error (the code may include try, catch, or finally clauses in any legitimate combination).
  • Write code that makes proper use of assertions, and distinguish appropriate from inappropriate uses of assertions.
  • Identify correct statements about the assertion mechanism.
  • Section 3: Garbage Collection
     
  • State the behavior that is guaranteed by the garbage collection system.
  • Write code that explicitly makes objects eligible for garbage collection.
  • Recognize the point in a piece of source code at which an object becomes eligible for garbage collection.
  • Section 4: Language Fundamentals
     
  • Identify correctly constructed package declarations, import statements, class declarations (of all forms including inner classes) interface declarations, method declarations (including the main method that is used to start execution of a class), variable declarations, and identifiers.
  • Identify classes that correctly implement an interface where that interface is either java.lang.Runnable or a fully specified interface in the question.
  • State the correspondence between index values in the argument array passed to a main method and command line arguments.
  • Identify all Java programming language keywords. Note: There will not be any questions regarding esoteric distinctions between keywords and manifest constants.
  • State the effect of using a variable or array element of any kind when no explicit assignment has been made to it.
  • State the range of all primitive formats, data types and declare literal values for String and all primitive types using all permitted formats bases and representations.
  • Section 5: Operators and Assignments
     
  • Determine the result of applying any operator (including assignment operators and instance of) to operands of any type class scope or accessibility or any combination of these.
  • Determine the result of applying the boolean equals (Object) method to objects of any combination of the classes java.lang.String, java.lang.Boolean and java.lang.Object.
  • In an expression involving the operators &, |, &&, || and variables of known values state which operands are evaluated and the value of the expression.
  • Determine the effect upon objects and primitive values of passing variables into methods and performing assignments or other modifying operations in that method.
  • Section 6: Overloading, Overriding, Runtime Type and Object Orientation
     
  • State the benefits of encapsulation in object oriented design and write code that implements tightly encapsulated classes and the relationships "is a" and "has a".
  • Write code to invoke overridden or overloaded methods and parental or overloaded constructors; and describe the effect of invoking these methods.
  • Write code to construct instances of any concrete class including normal top level classes and nested classes.
  • Section 7: Threads
     
  • Write code to define, instantiate and start new threads using both java.lang.Thread and java.lang.Runnable.
  • Recognize conditions that might prevent a thread from executing.
  • Write code using synchronized wait, notify and notifyAll to protect against concurrent access problems and to communicate between threads.
  • Define the interaction among threads and object locks when executing synchronized wait, notify or notifyAll.
  • Section 8: Fundamental Classes in the java.lang Package
     
  • Write code using the following methods of the java.lang.Math class: abs, ceil, floor, max, min, random, round, sin, cos, tan, sqrt.
  • Describe the significance of the immutability of String objects.
  • Describe the significance of wrapper classes, including making appropriate selections in the wrapper classes to suit specified behavior requirements, stating the result of executing a fragment of code that includes an instance of one of the wrapper classes, and writing code using the following methods of the wrapper classes (e.g., Integer, Double, etc.):
  • o doubleValue
  • o floatValue
  • o intValue
  • o longValue
  • o parseXxx
  • o getXxx
  • o toString
  • o toHexString
  • Section 9: The Collections Framework
     
  • Make appropriate selection of collection classes/interfaces to suit specified behavior requirements.
  • Distinguish between correct and incorrect implementations of hashcode methods.
  • Goto Top