The test aims at testing your understanding of the following topics:
- Object-Based Concepts
Attributes and methods; static vs. non-static; API; field usage;
final fields; method signature and overloading; method invocation and
constructors and the
new; memory diagrams; object vs. object
- Program Development & Java
The development cycle; VM, bytecode, and compilation; syntax, runtime
and logic errors; statement syntax; declaration; I/O via the
package; primitive types; expression evaluation;
automatic vs. manual casts; assignment, relational, and boolean operators;
selection; iteration; etc.
- Using a standard or a given API
Accessing fields and invoking methods; static versus not-static; declaraing
local variables and constants; carrying out assignments; I/O; input validation;
output formatting; appropriate usage of selection and looping constructs; using
The test achieves its objectives through two groups of questions of weights
~40% (for A) and ~60% (for B):
- Multiple-choice or tracing questions in which
given a Java program or a fragment thereof, you are asked to
identify syntax / logic errors, describe what the fragment is
doing (its functionality), and/or state the fragment's output(s)
given its input(s).
- You will be asked to write an app (or a fragment thereof) that accomplishes
a stated task. If the task involves a new class, its API will be given.
Otherwise you rely on your knowledge of the API of the
Math class, or the classes in
Here is a sample in
and its answers.