Most Fortune 500 software companies aren’t terribly interested about your intricate knowledge of C++ OpenGL libraries for 2D rendering or Ruby on Rails for remote web site deployment. Instead, they are looking for solid computer science fundamentals accompanied with great problem solving and communication skills. If you have those two and if you are a solid coder in any C-like language (C, C++, C# or Java), in most cases they will have no problem hiring you for a software developer role. Why? Because that shows a potential that with little effort, you can learn their tools and ramp up to get the job done.
This brings us to the following questions. Enjoy! : )
While standing in front of the mirror looking at yourself, answer these questions out loud. Are you happy with what you see and hear?
- What should we hire you?
- What makes a great software developer/tester?
- Can you tell me about a mistake you made in your career? What did you learn from it?
It doesn’t matter if you are applying for a web developer, driver developer or a tester role. These are basic computer science questions and if you want to work for the big guys, you have to be ready to answer questions like these.
- What are common methods for 2 local processes to communicate?
- How would you test the consumer/producer problem?
- In modern operating systems, what is the difference between user-mode and kernel-mode?
Can you solve these coding problems in 20 minutes or so? Be sure to provide test cases proving that your solution works.
- Write a function that takes Java code for input and if it has any missing bracket(s), it prints the line number(s).
- Write a function that takes a DWORD (32-bit value) as a parameter. Every byte in this parameter represents an octet of an IP address. Convert the parameter to an IP address. For example, input: 0xAABBCCDD, output: 220.127.116.11
- Write a function that takes a numeric value for parameter and it prints number of MBs (megabytes) in that value. Note: You are not allowed use the division operator (/).