I am currently looking for entry level .NET developer positions, and I was contacted by a company today that wants to schedule a "Programmer's Logic Test" that is mainly sequence logic and math but no coding. What is the best way to prepare for such a test, if there is a best way?
views:
563answers:
5You could consider spending some time brushing up on discrete mathematics. The Wikipedia article provides a good overview with links to relevant subjects.
I was given a "logic test" for a major IT company in one of my interviews.
The test was a scenario where I owned a shop where I fixed pianos in a given city. My task was: How many pianos did I have to fix per day, in order to stay up and running?
The whole point to this test, was how I approached the problem and how I solved it. I was allowed to ask questions which would help me solve the problem. Yes, it included simple math.
I think that the ability to solve logical problems, often comes from experience. And for many ppl, solving logical problems comes naturally.
But just practice solving various mathematical problems. And just google and find sites like this: http://www.queendom.com/tests/quiz/index.htm?idRegTest=752
Find some hairy boolean expressions (e.g., (foo AND NOT bar) XOR (x < 3 OR y != 0)
), and practice reducing them to their simplest form. Check yourself by building a truth table for each version. Once you've simplified such an expression, see if you can explain it precisely in natural language.
I would expect it will be a test similar to IQ tests. Along the lines of "what is the next item in this sequence? 1 2 3 5 8 13 ?
Perhaps search for psychometric tests, they are often used by companies.
Probably nothing you can study for, but doing some online IQ test would get your brain working.
Work on some proofs of formal logic theorems. e.g. prove that ((A subset B) subset C) is equivalent to (A subset (B subset C)).
Write out some truth tables of 3 or 4 variables with some equation (you should be able to write this out very fast by hand), e.g. ((x and y) or z) looks like this:
x y z ((x&y) | z)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Given an equation such as the above, draw a Karnaugh map of the results and simplify the equation