[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Offtopic: How to Design Programming Tests
X-Authentication-Warning: fast.cs.utah.edu: majordom set sender to owner-plt-scheme@flux.cs.utah.edu using -f
Date: Thu, 1 Feb 2001 13:32:47 -0800 (PST)
From: Noel Welsh <noelwelsh@yahoo.com>
Content-Type: text/plain; charset=us-ascii
Sender: owner-plt-scheme@fast.cs.utah.edu
Precedence: bulk
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
good point.
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).
write an XML tree to spec. shows them that trees matter.
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.
stress testing first?
Q4. Threads. Code the producer/consumer. Give
reasons for (responsiveness, blocking IO) and against
threading (synchronisation overhead)
hmph ...
Q5. Resource management. Memory management and
leaks. Handling other resources - finalization and
close.
good and why doesn't this suffice? why can a consumer not kill a run-away
applet?
Q6. Design. Given some specs do a high level design
of a system - the major classes and interactions.
draw a class diagram and explain why diagrams are confusing :-)
Q7. Random questions to assess their depth - what is
a regular expression? non-blocking (asynchronous) IO?
a lexical closure/first-call function?
1. what's a context-free grammar and why does this matter for XML?
2. what's CPS and why is it relevant to writing CGI scripts or servlets?
3. what is a set, set union, set intersection, set inequation and why does
this matter for understanding the flow of values in a program or which
exceptions can be raised.
-- Matthias