Ace the Technical Interview: Part 1
Published: 2021-02-09 23:25:45

Does your upcoming job interview have you sweating it? Don't worry, it's perfectly normal to feel nervous. However unlike other job interviews where you just have to look like a nice competent human being, developers and engineers are often required to "prove" their knowledge. That chokes up a lot of fresh developers.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ytd064a39l3mcuf8xtfi.gif)

I have your back. In my multi-part guide I'll give you the knowledge and confidence to walk into a big tech interview and shine like you're the next Bill Gates or Woz. 💯 

_This is a live document and chapters will be added below_

## Table Of Contents
- [Introduction - you are here ✔](#)
- [How to talk through problems](#chapter-1)
- [More common Interview Questions](#chapter-2)

<a name="chapter-1"></a>
### How To Talk Through Problems

Let's say the interviewer asks you to write a program that takes a string and reverses said string. Sounds simple right? Well, it is. But they aren't just looking for you to drop a solution on them. They want to see your problem solving process; How do you think? Here's an example below:

1. Ask the interviewer if there are any constraints, physical or otherwise. _Does it need to be very memory efficient?_ or possibly, _Do you need to check for errors?_ These are questions that let the interviewer know you're getting all the requirements before jumping into a solution.

Don't go overboard asking for every possible detail either, but a couple general questions really prove you can step back and assess what is needed, before you just impulsively write a function. You can also assess if you should focus on a specific Big O result, such as minimal time complexity, or if it's an IoT device, you may be concerned more about space complexity.

* For more on Big O watch this video below

{% youtube __vX2sjlpXU %}

2. Let's code! As you're writing the solution, and I'll show you two solutions below, make sure you give a reason _why_ you are writing each line, what is it doing to help you achieve your goal?

3. Finally you're done. Really it's that easy. You already know how to code, so don't sweat it. 

_But what if I don't know how to solve the problem?_

Well, this can happen, so be prepared. Ask the interviewer for clarification if you think it will help you to solve the problem. If all else fails, explain in pseudocode as best you can what you would do, and explain that you would be reading documentation to find out the specific commands you use to implement your pseudo-solution.

Getting stuck with a problem you've never faced can happen, just remember, 'I don't know' is the WORST thing to say. In a real job you can't say I don't know, so an interview should be treated the same way.

Oh, and here is that solution. Two different methods. 😉

{% gist https://gist.github.com/alpinstang/3a1192cb3ac2244c4a772168d12c3d2b %}

<a name="chapter-2"></a>
### More Common Interview Questions

I'll be making separate posts with each common interview question and proposed solutions. I may find time to record the process of finding a solution as well.

Coming 02/11/2021

_Thanks for reading and check back soon!_