In a recent post the issue came up about taking the test late on a Friday after working hard all day....I have not taken exam yet but I plan to take it early in the morning after a good night's sleep...I really think this can help, because I know my mock test preparation goes better early in the AM than after working or studying all day.
Also, I have noticed in my Mock test preparation that I am seeing more and more instances of missing questions not because I don't know the answer, but because I misread the question or the code and missed some small but critical thing.
Here is a check list of the types of obvious but critical things I am trying to remember come test taking time to protect myself against missing question that I should get correct.
Additions to the list are most welcome.
-- Read question very slowly and carefully and more than once
-- Avoid tendency to jump to conclusions about what is asked
-- Watch for opposites like will 'compile vs will not compile'
-- Watch for words like 'always' and 'never'
-- Read answers first then study code
-- if 'does not compile' is an option, study legality of code before purpose of code
-- Drive you analysis from the main method
-- Watch for method calls that throw checked exceptions not getting caught of handled
-- Watch for subtle mixing of primitives + wrappers in code like boolean and Integer
-- Watch for what is missing...seem to get tripped up by missing modifiers, return types, etc.
-- Watch for enum constants with arguments, means an enum constructor that takes a parm must be supplied
-- Watch for effect of parentheses in expressions
-- Watch for attempts to execute nonstatic methods from static main
-- Watch for interface methods with no modifiers (really public, abstract)
-- Watch for interface fields with no access modifiers (really public, final, static)
-- Watch for so-called methods without return types
-- Watch for < vs <=
-- Watch for functions that throw exceptions outside a try/catch block that should be in one
-- Watch for functions that throw exceptions inside a finally clause
-- Watch for illegal use of keywords like 'goto' and 'const'
-- Watch for illegal use of length or length() between arrays and other classes
-- Watch for Compile time error, caused by unreachable code
-- Watch for using extends where implements is needed or the reverse
-- Watch for subtle punctuation changes, like int i; int j=10, int k=10;
-- Watch for wrong case on keywords, variable names, + class names like Int i3 = new Integer(10);
-- Watch for keywords used a variable names like int do = 10;
-- Watch for check for wait, notify, notifyAll not run from synchronizedsynced context
-- Dissect the overall structure of the code sample first, i.e:
classes
constructors
static members
methods
variables
-- When 'compilation fails' is an option use this checklist to find subtle errors:
scope violations
static vs non-static violations
missing modifiers or return types
check class defs
check constructors
check methods
check variables
check for checked exceptions not caught
assert statements returning void
code slipped in between try, and catch and/or finally blocks
Additions to the list are most welcome.