[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Offtopic: How to Design Programming Tests



Hi all,

I've been given the task at work of designing our Java
test for potential programmers.  Given the recent
discussions on this list about CS education, I thought
many of you would have opinions about what a good
programmer should know, and hence what a good test
should contain.  My current proposed outline for the
test is:

Q1.  Java nuts & bolts.  .equals() vs ==, objects,
classes & inhertance, packages, dispatch

Q2.  Write a linked list to spec.  Ability to follow
specs and use exceptions.  Possibly defining inner
classes.  This is mainly to prove they actually know
Java (you'd be surprised).

Q3.  Sockets and servers.  How to send and receive
messages over sockets.  The architecture of the
typical multi-threaded server (main server thread
dispatches to many handler threads).  The use of
thread & database pools to improve performance and
control load.  

Q4.  Threads.  Code the producer/consumer. Give
reasons for (responsiveness, blocking IO) and against
threading (synchronisation overhead)

Q5.  Resource management.  Memory management and
leaks.  Handling other resources - finalization and
close.

Q6.  Design.  Given some specs do a high level design
of a system - the major classes and interactions.

Q7.  Random questions to assess their depth - what is
a regular expression?  non-blocking (asynchronous) IO?
 a lexical closure/first-call function?

Comments are most welcome.

Thanks,
Noel

__________________________________________________
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/