Skip to content

Instantly share code, notes, and snippets.

@irnnr
Forked from jamtur01/c4q_techinterview.md
Created September 4, 2018 02:22
Show Gist options
  • Save irnnr/032dd8118a3290d9807bf8c122259309 to your computer and use it in GitHub Desktop.
Save irnnr/032dd8118a3290d9807bf8c122259309 to your computer and use it in GitHub Desktop.
C4Q Technical Interview Slides

Interviewing for Engineering roles


Workshop timetable

  • 15 mins Introduction

Per interview.

  • 10 mins Introduction
  • 15 mins Interview
  • 5 mins wrap-up

Wrap-up and questions

  • 45 mins wrap-up and questions.

Why?

  • To work out if they want to hire you.
  • Technical fit.
  • Experience fit.
  • Personality or "culture fit".

What happens internally at these companies?

  1. Requirement is generated.
  2. Sourcing - advertise and network.
  3. Review resumes.
  4. Interview candidates.
  5. Decide on a candidate.

How does it work?


Potential lifecycle

  1. Apply for the role.
  2. Complete a code challenge.
  3. Have a phone screen.
  4. Onsite times x interviews...

Where?

  • Phone.
  • Remote / Video conference.
  • Onsite.

Types of interview

  1. Algorithms and Structures.
  2. Technical interview.
  3. Whiteboard/Coding exercise.
  4. Product interview.

Algorithms and Structures interview

  • Abstract problems.
  • Heavily theoretical.
  • What's the best technique to solve a problem?

Practice/Learning

  • Relies on prior study - often LOTS of prior study.
  • Not just knowing the algorithm but how to articulate it.
  • If you can't go deep, go broad.

Tips & Tricks

  • "I don't know but..."
  • Propose alternative idea(s).
  • Their behavior sends important signals.

Let's interview someone #1

An algorithms and structures interview


Technical interview

  • Technical questions - what is a thing?
  • Often hands on:
    • Troubleshoot a problem.
    • Solution-centric - how would you do it?
    • Architecture - draw an architecture.
  • Best practices for Engineering.

Practice/Learning

  • Also study-based.
  • Work on problems and problem solving.
  • Be able to talk through process - "When we did our projects we did..."
  • Tests and testing are often weaknesses - know background and types even if you've not written a lot. Know the why.
  • Know Git, GitHub, Eng workflow, Agile.

Tips & Tricks

  • Not knowing is okay.
  • "I haven't done but I have done..."
  • "I have done x with y so I am looking forward to z."
  • Turn the question(s) around:
    • "We did some Agile, what do you do?"
    • "What it's like to work on x?"
    • "Do you have a tool for x, what's it like?"

Let's interview someone #2

A technical interview


Whiteboard/coding interview

  • The solution is important.
  • But the journey is important too.
  • Show your working!

Practice/Learning

  • Best method to learn is to run exercises.
  • Rehearse/practice talking through your solution as you build.

Tips & Tricks

  • Ask questions - this isn't a one way street.
  • Assumption is the mother of all ice cream truck crashes.
  • Break the problem down - start with data structures, model and then code.
  • Pseudo-code beats no code.

Let's interview someone #3

A Whiteboard/coding interview


Product Interview

  • Usually done by a designer or product manager.
  • They want to know how you'll work within a product lifecycle.
  • They want to know if you care about their product.
  • Often overlaps with personality interview.

Practice/Learning

  • Know them and their product.
  • Typical questions:
    • "What's worst aspect of product?"
    • "What would you change?"
    • "What do you love about the product?"
    • "Why do you think product does x?"

Tips & Tricks

  • Be enthusiastic about their product.
  • Have a good story about their product.
  • Have a product idea.

Let's interview someone #4

A Product interview


Questions & Answers?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment