#100devs - Interview Secrets (cohort 2)

Class 61 of our Free Web Dev Bootcamp for folx affected by the pandemic. Join live T/Th 6:30pm ET leonnoel.com/twitch and ask questions here: leonnoel.com/discord

Skip to first slide
Slide 1 of 78

Leon Noel

Interview Secrets

#100Devs

"I just popped a bean and I'm on a helicopter
I don’t wanna do shit, unless I'm with my partners"


Slide 2 of 78

Agenda


Slide 3 of 78

Questions

About class or life


Slide 4 of 78

Checking In

Like and Retweet the Tweet

!checkin


Slide 5 of 78

#HUNTOBER2022


Slide 6 of 78

The Tea Spillith

Friday 6:30pm ET on Discord


Slide 7 of 78

BUILT A BUTTON WITH HTML & CSS
NO CODING CHALLENGE

83k

Daddy_Anki


Slide 8 of 78

There was no technical assessment, I just told them about the projects I had worked on and made sure I was friendly and connected with them as people. I know there's lots of people here that are better coders than me, so it's absolutely possible you can do this!
Don't stop believing, stay consistent, and it will happen!

 

Sean, SOFTWARE FUCKING ENGINEER!


Slide 9 of 78

Was going to cancel the interview, but friend convinced them last minute

 

Works part time, gets paid full time!

 

Erica


Slide 10 of 78

Slide 11 of 78

Slide 12 of 78

"Just had a coffee chat was told they see so many applicants with empty githubs, no portfolio sites and no projects under their belt

 

We’re on the right track yall, Leon has definitely given us the cheat codes"

 

@Telescope_Thieves


Slide 13 of 78

Portfolio, Twitter, Linkedin


Slide 14 of 78

Github

Profile Generator

Readme Template


Slide 15 of 78

PUSH EVERY DAY


Slide 16 of 78

Recruiters Love Green Squares


Slide 17 of 78

10 Premium Apps

Custom everything plus, tweets, blog, and project

 

OCT 25th


Slide 18 of 78

P.R.E.P

Parameters, Returns, Examples, Pseudo Code


Slide 19 of 78

PREP HELPS YOU


Slide 20 of 78

PREP At The Mall


Slide 21 of 78

PREP At The Studio


Slide 22 of 78

PREP At Yo Mommas House


Slide 23 of 78

Methods Questions


Slide 24 of 78

Brute Force


Slide 25 of 78

Data Structures & Algorithms


Slide 26 of 78

Learning How To Learn

ACTIVE RECALL
SPACED REPETITION


Slide 27 of 78

Active Recall

Ali Abdaal: https://youtu.be/ukLnPbIffxE


Slide 28 of 78

Forgetting Curve*

https://intelalearning.wordpress.com


Slide 29 of 78

Resetting Forgetting Curve

https://www.pearsoned.com/three-simple-research-based-ways-to-ace-a-test


Slide 30 of 78

Data Structures &
Algorithms


Slide 31 of 78

 An algorithm is just

the steps you take to solve a problem


Slide 32 of 78

 An algorithm is just a function 


Slide 33 of 78

This function transforms a certain input aka data structure


Slide 34 of 78

Into a certain output aka another data structure


Slide 35 of 78

The function contains logic that decides the transformation of the input to output


Slide 36 of 78

Your inputs and outputs should be defined. This is a great use case for unit tests


Slide 37 of 78

Think of a library

Thanks Scotch.io


Slide 38 of 78

A library contains many data structures


Slide 39 of 78

If your data is a bunch of text, it makes sense to use a book to hold it.


Slide 40 of 78

If your data is a bunch of low quality video, it makes sense to use a dvd to hold it.


Slide 41 of 78

DVDs have a limit on the amount of data they can hold. Cheaper but constrained


Slide 42 of 78

Blu-rays can hold more data, but they cost more


Slide 43 of 78

When worrying about real data, it is also cost, but in space and time


Slide 44 of 78

Think of a linked vs. doubly linked list


Slide 45 of 78

Less Memory, but Less Efficient

More Memory, but More Efficient


Slide 46 of 78

To make good decisions as engineers we need to understand the different structures for our data


Slide 47 of 78

Back to the library


Slide 48 of 78

The best data structures consume minimal resources while storing data in a meaningful way for various operations


Slide 49 of 78

Flip Book vs. DVD


Slide 50 of 78

What if we want a specific book?


Slide 51 of 78

Data Structure

in equals string

Data Structure 

out equals book


Slide 52 of 78

AKA our:

ALGORITHM


Slide 53 of 78

Do you check every book? 


Slide 54 of 78

How much time does it take to move through each book?


Slide 55 of 78

Do you have to remember all the rows you already checked?


Slide 56 of 78

Question:
What would be the most efficient way to find the book?


Slide 57 of 78

How long it takes to find the book is our

Time Complexity


Slide 58 of 78

Thinking through the appropriate data structures and algorithms is how we can efficiently solve problems


Slide 59 of 78

When taking about the effecientness or complexity of a solution we can use

Big-O Notation


Slide 60 of 78

Big-O notation mathematically describes the complexity of an algorithm in terms of time and space


Slide 61 of 78

Common Complexities


Slide 62 of 78

Git Connected Big O Article


Slide 63 of 78

O(1)

For all inputs to our algorithm there is and will always be only one operation required


Slide 64 of 78

O(1) Example

No matter how many inputs are located in num there will only ever be one operation needed!

const nums = [1,2,3,4,5] 
const firstNumber = nums[0]

Slide 65 of 78

O(N)

For all inputs to our algorithm there will be one

operation per input


Slide 66 of 78

O(N) Example

Here we sum the numbers in the array. We have to add each number to a running sum, so we have to operate on each one. This means one operation per input.

const nums = [1,2,3,4,5]
let sum = 0
for(let num of nums){
	sum += num
}

Slide 67 of 78

O(1) VS O(N)

Summing function for a sorted, contiguous array of integers that starts with the number 1? Could easily be O(n) but...

const sumContiguousArray = function(ary){ 
  //get the last item
  const lastItem = ary[ary.length - 1]
  //Gauss's trick
  return lastItem * (listItem + 1) / 2
}
const nums = [1,2,3,4,5]
const sumOfArray = sumContiguousArray(nums)

Slide 68 of 78

Committing these to memory is important


Slide 69 of 78

O(N^2)

Order N Squared

Text

const hasDuplicates = function(num){ 
  for(let i = 0; i < nums.length; i++){
    const thisNum = nums[i]
    for(let j = 0; j < nums.length; j++){
      if(j !== i){ 
        const otherNum = nums[j]
       }
    }  
    if(otherNum === thisNum) return true
  }
  return false
}

const nums = [1,2,3,4,5,5]
hasDuplicates(nums) //true

Slide 70 of 78

O(N^2)

Here we’re iterating over our array, which we already know is O(n), and another iteration inside it, which is another O(n). For every item in our list, we have to loop our list again to calculate what we need.


Slide 71 of 78

O(LOG N)

Logarithmic Time

Divide and Conquer?


Slide 72 of 78

Slide 73 of 78

Time to build the toolbox


Slide 74 of 78

Data Structures


Slide 75 of 78

Advantages 

 

Disadvantages

When To Use

Example


Slide 76 of 78

Slide 77 of 78

Homework


Slide 78 of 78