# How to answer coding questions for your interview?

I have been interviewing companies recently. Here I summarize what I learned from my experience. Interview is just a show in which you perform to the best of your ability. If the interviewer like your show, you win; otherwise, you lose. There is a chance that you play better than what you are, this is GOOD and this is what we want.

**Understand What Companies Want**

First of all, know what companies really want.

**Use a Pattern to Solve Problem**

- Exemplify: Use an example and visualize the problem.
- Simplify: Simply the question and make it simple enough to solve, and then solve the complicated.
- Reflection: Think and solve the problem by using the methods you know, e.g., binary search, various kinds of sorting, handle array from both ends, etc.
- Brain storm all possible data structures: array, linked list, stack, queue, hash table, heap, etc.

**Keep Conversation Going**

You may find it is hard to keep the conversation going. One way is to start with a simple naive solution.

For example, given an array of integers, all elements are in pairs except for one, how to find the single number?

Naively, a hashmap can be used to solve the problem. Then we think more advanced approach.

**Practice**

<pre><code> String foo = "bar"; </code></pre>