Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CodePath SE102 - Session 1 (Fall 2021)

Caren
September 12, 2021

CodePath SE102 - Session 1 (Fall 2021)

Caren

September 12, 2021
Tweet

More Decks by Caren

Other Decks in Education

Transcript

  1. Welcome to Week 1!
    Feel free to talk in the room chat
    CodePath Intermediate Software Engineering
    What’s your dream company or
    prodoct that you’d want to work
    on?

    View Slide

  2. • Intros
    • Why study programming problems?
    • Goals
    • Breakout sessions - meet your pod!
    • Top 5 coding interview mistakes

    and how to avoid them
    • Free form Q&A!
    Agenda

    View Slide

  3. Instructor Intros!
    Caren Paulina Ben
    Sushma Noel

    View Slide

  4. TA Intros!
    Allison
    Amanda Best
    Geethika Rashmi Trang

    View Slide

  5. Coding Interviews are difficult

    View Slide

  6. Coding Interviews are difficult
    Like most things in life, 

    luck plays a big factor

    View Slide

  7. Coding Interviews are difficult
    Like most things in life, 

    luck plays a big factor
    Luck is when preparation meets
    opportunity

    View Slide

  8. Goals for the course

    View Slide

  9. Goals for the course
    • Be able to go into phone screens with confidence

    View Slide

  10. Goals for the course
    • Be able to go into phone screens with confidence
    • Most questions follow the same pattern!
    • The key is repeated practice


    View Slide

  11. Goals for the course
    • Be able to go into phone screens with confidence
    • Most questions follow the same pattern!
    • The key is repeated practice


    • Learn more about the tech industry

    View Slide

  12. Goals for the course
    • Be able to go into phone screens with confidence
    • Most questions follow the same pattern!
    • The key is repeated practice


    • Learn more about the tech industry
    • Be prepared to continue studying and practicing
    after the course ends

    View Slide

  13. How are we going to work
    towards the goal?

    View Slide

  14. How are we going to work
    towards the goal?
    • Lectures to reinforce concepts and walkthrough techniques

    View Slide

  15. How are we going to work
    towards the goal?
    • Lectures to reinforce concepts and walkthrough techniques
    • In class exercises for hands-on practice

    View Slide

  16. How are we going to work
    towards the goal?
    • Lectures to reinforce concepts and walkthrough techniques
    • In class exercises for hands-on practice
    • Extra practice problems and review materials to help you fill
    potential gaps

    View Slide

  17. How are we going to work
    towards the goal?
    • Lectures to reinforce concepts and walkthrough techniques
    • In class exercises for hands-on practice
    • Extra practice problems and review materials to help you fill
    potential gaps
    • Weekly HackerRank assessments to keep yourself on track

    View Slide

  18. How are we going to work
    towards the goal?
    • Lectures to reinforce concepts and walkthrough techniques
    • In class exercises for hands-on practice
    • Extra practice problems and review materials to help you fill
    potential gaps
    • Weekly HackerRank assessments to keep yourself on track
    • Mentors, fellow classmates, instructors for help and support

    View Slide

  19. What is your personal
    goal for the next 12 weeks?

    View Slide

  20. Expectations
    Attend weekly sessions

    Tuesdays and Saturdays
    Complete weekly HackerRank test

    *linked in course portal every week
    Optional resources: extra reading and practice
    problems

    View Slide

  21. https://courses.codepath.com/courses/
    intermediate_software_eng
    Course Portal

    View Slide

  22. Course Portal

    View Slide

  23. Course Portal

    View Slide

  24. Course Portal

    View Slide

  25. Course Portal

    View Slide

  26. Pods / Teams

    View Slide

  27. Pods / Teams
    • 5-6 students per team
    • This is the group you’ll be working with for the next
    12 weeks
    • Help support each other throughout the course!

    View Slide

  28. Pods / Teams
    • Find your pod number, prepend it to your name
    right now! (Caren to send link in Zoom chat)
    • Students: 5 - Caren Chang
    • Mentors: 4, 5 - Caren Chang

    View Slide

  29. Mentors
    • Engineers working in the tech industry - some are
    past students of this course!
    • Will be there for most of your Satuday sessions to
    help you through in-class exercises

    View Slide

  30. In class exercises

    View Slide

  31. In class exercises
    • Break out into small groups of 5-6
    • Work on problems together for the topic of the
    week
    • Great practice for phone interviews!

    View Slide

  32. Our first in class exercise!

    View Slide

  33. Our first in class exercise!
    • Most common interview question: “Tell me a little
    about yourself”

    View Slide

  34. Our first in class exercise!
    In a moment, we’re all going to into small groups with our pods

    View Slide

  35. Our first in class exercise!
    In a moment, we’re all going to into small groups with our pods
    Start by having everybody introduce themselves in alphabetical
    order

    View Slide

  36. Our first in class exercise!
    In a moment, we’re all going to into small groups with our pods
    Start by having everybody introduce themselves in alphabetical
    order
    Take 5 minutes to prep for your answer (guidance in course portal).
    Your ‘spiel’ should be ~3 minutes

    View Slide

  37. Our first in class exercise!
    In a moment, we’re all going to into small groups with our pods
    Start by having everybody introduce themselves in alphabetical
    order
    Take 5 minutes to prep for your answer (guidance in course portal).
    Your ‘spiel’ should be ~3 minutes
    Take turns answering the question, jot down notes if you’re not the
    one speaking

    View Slide

  38. Our first in class exercise!
    In a moment, we’re all going to into small groups with our pods
    Start by having everybody introduce themselves in alphabetical
    order
    Take 5 minutes to prep for your answer (guidance in course portal).
    Your ‘spiel’ should be ~3 minutes
    Take turns answering the question, jot down notes if you’re not the
    one speaking
    Once everyone is done, get some feedback!

    View Slide

  39. View Slide

  40. Common Mistakes

    View Slide

  41. Common Mistakes
    • Not mentioning why you’re interested in the role / company

    View Slide

  42. Common Mistakes
    • Not mentioning why you’re interested in the role / company
    • Only talking about things that’s already on your resume

    View Slide

  43. Common Mistakes
    • Not mentioning why you’re interested in the role / company
    • Only talking about things that’s already on your resume
    • Not showing enthusiasm

    View Slide

  44. Common Mistakes
    • Not mentioning why you’re interested in the role / company
    • Only talking about things that’s already on your resume
    • Not showing enthusiasm
    • Not knowing about the company / role you’re interviewing for

    View Slide

  45. Great things to talk about
    • Interesting focuses / projects from past companies
    • Passion projects
    • Why you’re interested in the company
    • Specialities you’re interested in (Mobile, Machine Learning, …)

    View Slide

  46. Ready for our first
    breakout rooms?
    • For instructions, go into the course portal,
    Week 1 - Session 1
    • Let’s meet back at …. 4:25pm (Pacific),
    7:25pm (Eastern)

    View Slide

  47. How’d it go?

    View Slide

  48. The key to acing
    interviews

    View Slide

  49. The myth: I have to solve 300+ questions on
    Leetcode and memorize solutions in order to be
    successful in interviews

    View Slide

  50. The myth: I have to solve 300+ questions on
    Leetcode and memorize solutions in order to be
    successful in interviews
    The reality: Most problems can be solved following
    the same patterns / tricks. You should only have to
    study about 30-40 problems really well in order to be
    successful in 90% of coding interviews.

    View Slide

  51. The myth: I have to get every problem correct in the
    most optimal way in the fastest time frame to pass

    View Slide

  52. The myth: I have to get every problem correct in the
    most optimal way in the fastest time frame to pass
    Top Common interview mistakes:

    - not communicating with interviewer


    View Slide

  53. The myth: I have to get every problem correct in the
    most optimal way in the fastest time frame to pass
    Top Common interview mistakes:

    - not communicating with interviewer

    - jumping to conclusions / solving the wrong problem


    View Slide

  54. The myth: I have to get every problem correct in the
    most optimal way in the fastest time frame to pass
    Top Common interview mistakes:

    - not communicating with interviewer

    - jumping to conclusions / solving the wrong problem

    - doesn’t catch or can’t fix bugs


    View Slide

  55. The myth: I have to get every problem correct in the
    most optimal way in the fastest time frame to pass
    Top Common interview mistakes:

    - not communicating with interviewer

    - jumping to conclusions / solving the wrong problem

    - doesn’t catch or can’t fix bugs

    - not discussing space / run time tradeoffs 


    View Slide

  56. The myth: I have to get every problem correct in the
    most optimal way in the fastest time frame to pass
    Top Common interview mistakes:

    - not communicating with interviewer

    - jumping to conclusions / solving the wrong problem

    - doesn’t catch or can’t fix bugs

    - not discussing space / run time tradeoffs 

    - speed - interviewer wasn’t able to get a good signal

    View Slide

  57. U
    M
    P
    I
    R
    E

    View Slide

  58. Understand
    Match
    Plan
    Implement
    Review
    Evaluate

    View Slide

  59. Understand

    Understand what the interviewer is asking with clarifying questions
    and test cases

    View Slide

  60. Understand

    Understand what the interviewer is asking with clarifying questions
    and test cases
    State any assumptions you make 

    - is the input always sorted?

    - is the input guaranteed to satisfy x & y conditions?

    View Slide

  61. Understand

    Understand what the interviewer is asking with clarifying questions
    and test cases
    State any assumptions you make 

    - is the input always sorted?

    - is the input guaranteed to satisfy x & y conditions?
    Given… x input, do we expect y output?

    View Slide

  62. Match

    Does this problem match any common patterns we’ve seen?
    Which data structures / techniques can we use to simplify this
    problem?

    - can we use hash tables for easy lookup later?

    - would using stacks / queues be helpful?

    - should we use Depth First Search or Breadth First Search?

    View Slide

  63. Plan

    It’s easier to modify your solution before you write all the code

    View Slide

  64. Plan

    It’s easier to modify your solution before you write all the code
    Catch potential bugs before starting to write code

    View Slide

  65. Plan

    It’s easier to modify your solution before you write all the code
    Catch potential bugs before starting to write code
    Use diagrams and pseudocode to visualize how the problem will be
    solved

    View Slide

  66. Plan

    It’s easier to modify your solution before you write all the code
    Catch potential bugs before starting to write code
    Use diagrams and pseudocode to visualize how the problem will be
    solved
    Run through your approach with test cases to check that it works

    View Slide

  67. Implement
    Code!

    View Slide

  68. Review

    Trace through your code with an input to check for the expected
    output
    Catch possible edge cases and off-by-one errors

    View Slide

  69. Evaluate

    Analyze the run time and space complexity of your solution
    Discuss tradeoffs that were made, or assumptions that were taken

    View Slide

  70. Questions?

    View Slide

  71. Next Session

    Walk through a problem with UMPIRE approach
    Group exercise to try UMPIRE yourself!

    View Slide

  72. Survey

    View Slide