Day One

Coding Interviews

Day One: Introduction

Learning Goals

  • Design and implement an efficient technical solution for typical coding interview problems;
  • Describe the problem-solving process;
  • Identify the computational complexity of the solution;

Programming Challenges 2? 🤔

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."

Martin Fowler

Assessment Instruments

Coding Practice (CP)

  • LeetCode.com
  • Course page
  • Python

Pre-Interview (PI)

  • Preparation for Mock Interview
  • Start early and come prepared
  • Code (Python)
  • Complexity

Mock Interview (MI)

  • Interviewer
  • Interviewee
  • Shadow Interviewer

Final Interview (FI)

  • Students' choice
  • Repeat (a lot)

Algorithm Analysis Test (AT)

  • Algorithm is given
  • Time complexity
  • Space complexity

Mandatory Assignments (MA)

  • Review important algorithms and data structures
  • Improve coding skills

That's a lot, I know

Check the dashboard frequently

LeetCode.com

LeetCode.com

  1. Create an account
  2. Submit your username here
  3. Bonus grade: $\min\left(\frac{\text{# problems solved}}{4}, 10\right)$
  4. Only Python (for now)

"I can't speak English"

Coding Interviews?

Site reliability/DevOps

Testing

UX design

Data Science

Machine Learning

...

Software Engineering

But why?

Cracking the Coding Interview

Cracking the Coding Interview book cover Beyond Cracking the Coding Interview book cover

Why are Coding Interviews used anyway?

Many candidates don't perform well... :(

Unfortunately, false negatives are acceptable

False positives are more of a problem

I could Google the answer

They care about your ability to solve hard problems, not the problem itself

I could Google the data structures

Know the possibilities

Correlates with being a "good developer"

Whiteboard coding is too artificial

Is it though?

Focus on what matters (bugs and syntax errors are expected)

Code doesn't have to compile or be complete

X = ?

1 Volunteer

Find the index of a number k in an array of integers

1 Volunteer

Find the index of a number k in a sorted array of integers

Interview flowchart

Check it here.

1 Volunteer

Print all integer solutions to

$$a^3 + b^3 = c^3 + d^3$$

For $a$, $b$, $c$, $d$ between $1$ and $n$

Coding Practice (CP)

Available here.

Pay attention to the deadlines!