Data Structures and Algorithms

muigai unaka

Week 8

Clarifying Questions

Reiterate the questions you are given to the interviewer and ask clarifying questions. Take notes and don't be afraid to ask to repeat.

Technical Interviewing

Identify Inputs & Output

Identify the "shape" (or data type) of the input and output.

Technical Interviewing

Example Input & Output

If the interviewer did not provide an example of the input and output, ask if they could provide an example. If you feel you know the shape of the input and output, feel free to ask if you can write an example.

Technical Interviewing

Communicate Brute Force

Communicate to the interviewer your initial raw thoughts and any ideas you have for the algorithm. Brute force is alright if you cannot identify the most efficient solution yet.

Technical Interviewing

Listen for Hints

Listen for hints from your interviewer. If your interviewer wants to lead you a certain way, take their suggestion and run with it.

Technical Interviewing

Visualize Your Thoughts

While communicating, be sure to visualize any thoughts, inputs, outputs or steps of the algorithm. Visuals go a long way to help you further understand the code, convey to the interviewer that you understand the problem posed and can communicate your thought process in various ways.

Technical Interviewing

Take a moment. Think

At this point, your inputs, outputs, example and some rough ideas are on the board. Take a moment to think about the question asked, the patterns you see and what type of solution this question my warrant.

Technical Interviewing

Write your algorithm

Ask your interviewer if it is alright for you to to write your solution. Begin writing your algorithm but be sure to continue to communicate every step.

Technical Interviewing

Use Technical Terms

Use clear technical terms to describe the parts of your algorithm, such as:

  • I will loop or iterate through the data
  • I will use (insert here) algorithm, i.e. BFS, recursion, memoization
  • I will store the data in a variable or pointer

Technical Interviewing

Time and Space Complexity

Analyze your algorithm and describe both the space and time complexity of your solution.

Technical Interviewing

Test it. Step through algorithm

Ask your interviewer if you could test your implementation against input data. Step through your completed algorithm using previously established example input data or a simple input case.

Technical Interviewing

Made with Slides.com