Skip to content

Instantly share code, notes, and snippets.

@kangashley
Last active January 31, 2020 20:56
Show Gist options
  • Save kangashley/2e10a22b976b1b8098edf54c2424bc4f to your computer and use it in GitHub Desktop.
Save kangashley/2e10a22b976b1b8098edf54c2424bc4f to your computer and use it in GitHub Desktop.
Preparing for a technical interview

Interviewing as a software engineer: How to feel less dread and more fun

@me @you You've got this!

What to flex

  • Five steps to a technical question (Cracking the Coding Interview):
  1. Ask questions: What kind of data type? What kind of data does it hold? What does the data represent? How much data? Who is the user?
  2. Design an algorithm: What are the time and space complexities (Big-O)? What happens if there's a lot of data? Does your design cause other issues? If so, did you make the right tradeoffs? Did you leverage the info given to you in Step 1?
  • [Types of algorithms]
  1. Write pseudocode first: Make sure to tell your interviewer that you are writing pseudocode.
  2. Write your code, not too slow and not too fast: Use data structures wherever relevant to show you care about good object-oriented design.
  3. Test your code and carefully fix any mistakes: Consider extreme cases (0, negative, null, maximums, etc.), user error (null, negative), and general cases. Test as you code instead of waiting until the end. Carefully think about why there is a bug before fixing.

When the ball's in my court

  • From me:
    • What does mentorship look like for an engineer?
    • How has the company supported your professional growth?
    • How have you overcome challenges in working with others?
    • How do you stay motivated?
  • From friends:
    • How long does it typically take a new engineer to become productive and autonomous on their teams?
    • What types of support systems are in place to help me level up during my first few years?
    • If I joined your company, and worked there for six months, what's something that at the end of my first six months, you'd consider to be a really above-and-beyond achievement?
    • How do teams decide the most important feature or project to work on, and how is work distributed among the team?
    • How do individual contributors receive feedback on their performance, and how often does this happen?
    • How many women are on your team?
    • What are your diversity initiatives?
    • How do other teams or departments perceive the team I would be joining?
    • In this role, are there opportunities for cross-functional work and collaborating with other teams?
    • What upcoming projects are you excited to work on this quarter or year?
  • Resources:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment