Advanced Interview Questions.

Interview questions to any top company in the software industry from the book: "Cracking the Coding Interview" by Gayle Laakmann
Book Description:
  • 150 Programming Interview Questions and Solutions: From binary trees to binary search, this list of 150 questions includes the most common and most useful questions in data structures, algorithms, and knowledge based questions.
  • Ten Mistakes Candidates Make -- And How to Avoid Them: Don't lose your dream job by making these common mistakes. Learn what many candidates do wrong, and how to avoid these issues.
  • Steps to Prepare for Behavioral and Technical Questions: Stop meandering through an endless set of questions, while missing some of the most important preparation techniques. Follow these steps to more thoroughly prepare in less time.
  • Interview War Stories: A View from the Interviewer's Side: Humorous but instructive stories from our interviewers show you how some candidates really flopped on the most important question - and how you can avoid doing the same.

    If you are preparing for a technical interview to any top company in the software industry, you need to read this book. During solving problems through the book first try to do this without looking at the answers. Reading solutions for all the questions you will learn different approaches. You can use this book as a practice guide for interviews with Microsoft, Amazon, Google, Yahoo and Apple.

    Buy the book Cracking the Coding Interview - from and find the answers.
    Below are interview questions from the book "Cracking the Coding Interview" published with a special permission for this site from Gayle Laakmann.
    I selected only some interview questions for software testers from this book, sometimes with some modification.
    1. What is a Hash Table?
    2. What is a Linked List?
    3. What is a Stack?
    4. What's the difference between a thread and a process?
    5. In order for a deadlock to occur what four conditions must be met?
    6. Explain what happens, step by step, after you type a URL into a browser. Use as much detail as possible.
    7. What are the best practices to prevent reverse engineering of DLLs?
    8. Explain the following terms: virtual memory, page fault, thrashing.
    9. What common sorting algorithms do you know?
    10. What is Fibonacci number?
    11. What is Recursive solutions?
    12. What is the difference in precision between floats vs. doubles.
    13. What do you need to test, if you have a 2 GB file with one string per line? Write a couple of test cases.
    14. Find the mistake(s) in the following code:
      1 unsigned int i;
      2 for (i = 100; i <= 0; --i)
      3 printf("%d\n", i);
    15. Explain what the following code does: ((n & (n-1)) == 0).
    16. How will you test a web crawler?
    17. You have to test a database that can store terabytes of data. It should support efficient range queries. How would you do it?
    18. Please describe the differences between C++ and Java
    19. What might be considered strengths or weaknesses of C++ or Java? Why? In what cases might you choose one language over the other?
      Database questions:
    20. What are the different types of joins? Please explain how they differ and why certain types are better in certain situations.
    21. What is denormalization? Explain the pros and cons.
    22. Draw an entity-relationship diagram for a database with companies, people, and professionals (people who work for companies).
    23. Imagine a simple database storing information for students' grades. Design what this database might look like, and provide a SQL query to return a list of the honor roll students (top 10%), sorted by their grade point average.
      Tricky interview questions:
    24. Add arithmetic operators (plus, minus, times, divide) to make the following expression true: 3 1 3 6 = 8.You can use any parentheses you'd like
    25. There is a building of 100 floors. If an egg drops from the Nth floor or above it will break. If it's dropped from any floor below, it will not break. You're given 2 eggs. Find N, while minimizing the number of drops for the worst case.
    26. There are three ants on different vertices of a triangle. What is the probability of collision (between any two or all of them) if they start walking on the sides of the triangle?
    27. You have a five quart jug and a three quart jug, and an unlimited supply of water (but no measuring cups).How would you come up with exactly four quarts of water? NOTE: The jugs are oddly shaped, such that filling up exactly 'half' of the jug would be impossible.
      Testing Problems: Not Just for Testers!
      Testing problems generally fall into one of three categories:
      1. Explain how you would test this real world object (pen, paperclip, etc).
      How would you test a light bulb?
      2. Explain how you would test this computer software (e.g., a web browser).
      3. Write test cases / test code to test this specific method.
    28. How would you load test a webpage without using any test tools?
    29. How would you test a pen?
    30. How would you test an ATM in a distributed banking system?
    31. Explain how you would test an e-mail client
    32. Test a method that sort an array
    33. What can be automated and what must be manually tested?
    34. Five coworkers decide that they’d like to compute their average salary. How can they do this without telling anyone their salary?
    35. Tell me about a time when you had to make a controversial decision?
    36. How many golf balls would fit a school bus?
    37. System requires 6 characters password that allows using upper and lowercase letters and numbers. We want to increase from 6 to 7 characters.
      Question: How many more passwords will be allowed? In how many times security increased?

    Interview Questions QA Main Page
    © January 2006 Alex Samurin and © 2011