Sometime ago i was in the job market to find my next job. Believe me, finding a new job is no easy experience. It is quite a stress.Esp if you are looking out of town. I was wanting to move from Milwaukee to Seattle.
It was tough trying to figure out what i was looking for. I was quite surprised by the amount of offers. If you dont know what you are looking for, there are enough folks outthere to confuse. Remember there are only a few good jobs. You get your shot in some firms only once.
So even though i was interviewing for more lead development positions. Folks on the other side of the phone esp some recruiters only want to hear what they want to hear. They sometimes push your resume around faster than you want. Do your homework well before looking
Here are many of the questions in no specific order .
1) Write a program which converts a string containing a roman numeral into an integer. One example of this would be if you took as input “IX” the program would output 9. You do not need to deal with roman numerals five thousand or above.
2) How does a doubly linked list work. Write code to show it?
3) Writer the String Index of method without using any strings? ie Foo.IndexOf(3)
4) What is the best way to ( performance ) to do a anagram
5) Write a Java program that takes a command line argument and prints all of its possible anagrams, without regard to lexical duplicates. For example, if the input is “aab”, six strings will be produced. Your primary goal is to do this using as little memory as possible, but see if you can find an algorithm that is both memory and computationally efficient. Along with your solution, briefly describe how much memory and time it uses for an input of size N. Try and limit your time on this problem to an hour or two, though if you end up spending more, just let me know.
6) What is SOA in your perspective? Why is it any different?
7) What are the pros and cons of binary serialization vs XML serialization in java
8) Describe the quickest way to reverse an 3 * 4 matrix of integers?
9) Why should we hire you?
10) Describe the quicksort algorithm?
11) What are generics?
12) Do you TDD? If so what are some benefits you see
13) What are challenges in interop between java and .NET technologies?
I will add more when i remember. What is odd is many of these have nothing do with work. How many times have i needed to write a doubly linked list?
Companies need to judge more than just abstract knowlege. A developer / Architect is not simply one that can crank out alogorithms. Not sure why interviewers are not more realistic. You are hiring a person to contrubute to your organization not some code monkey.
Go beyond algorithms, and text book questions?
Be realistic and ask questions that make real sense. in todays world of google, its not the how to solve a problem, its about providing customer value, being a professional that can solve bigger customer problems.
In the end of the day, you should add value to the firm, to the customer and be a excellent team member that can listen well. code with pleasure and make things happen. It does not matter if you are the pizza under the door guy anymore.
Wake up interviewers. Get real.