© 2021 Matt Thomas

Interview Whiteboard Coding


Live Coding

Steps for success!

  1. Gather requirements

  2. Break down problem

  3. Write pseudocode

  4. Code a solution

  5. Test the solution

  6. Consider changes

Gather Requirements

  • Asking too many questions is better than too few
  • Establish what your input and output is supposed to be
  • Find edge cases
  • Write out requirements
  • Establish programming language and expected structure
    • Run once "root" code
    • Function

The goal is the clarify the problem to the point that there are no more questions.

Break Down the Problem

  • Restate the key points

  • Establish the priorities of the problems



  • Don’t write out any code or syntax
  • Focus on structure
  • Just use plain old English, explain it to your Grandma.

Enter Value
								If Value greater than 10
									Log "Your number is greater than 10"
								If Value less than 10
									Log "Your number is less than 10"

Write a Solution

  • Write code! Finally!!!
  • Talk with your interviewer about what you are doing
  • Mistakes are okay! 
  • Syntax errors are NOT the end of the world!
  • Be sure to write neatly so your code can be read

If whiteboarding digitally, you should be able to drop code in a Chrome developer console and execute.


  • Walk through the steps of your code verbally, OUT LOUD.
  • Assign values your variables. Take us on an input’s journey!
  • Test edge cases

Consider changes

  • Review and fix any bugs

  • Discuss ways to improve


Question 1

Write a function that takes in two integers and returns their sum, unless the two integers are equal. If the two integers are equal, then return three times their sum.


sum2Integers(10, 20) // --> 30
sum2Integers(10, 10) // --> 60

Question 2

Write a function that takes in integers and returns the integer with the highest value.

(Do NOT use Math.max()!!!)



findHighest(5, 8, 1) // --> 8
findHighest([4, 1, -3]) // --> 4

Take note of the argument data type options.

Question 3

Write a function that generates a random number between 0-10.

If the number is greater than 5, log “{number} is greater than five!”.

If it is less than 5, log “{number} is less than five!”



Question 4

Write a function that counts the number of vowels in a string.

The vowels are "a", "e", "i", "o" & "u"


countVowels('hello') // --> 2
countVowels('why') // --> 0

Question 5

Write a function that determines if a string is a palindrome.

A palindrome is a string that is the same forward and backwards.


isPalindrome('racecar') // --> true
isPalindrome('table') // --> false