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?
  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
  3. Coding Interviews are difficult Like most things in life, 


    luck plays a big factor Luck is when preparation meets opportunity
  4. Goals for the course • Be able to go into

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

    phone screens with confidence • Most questions follow the same pattern! • The key is repeated practice
 

  6. 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
  7. 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
  8. How are we going to work towards the goal? •

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

    Lectures to reinforce concepts and walkthrough techniques • In class exercises for hands-on practice
  10. 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
  11. 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
  12. 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
  13. Expectations Attend weekly sessions
 Tuesdays and Saturdays Complete weekly HackerRank

    test
 *linked in course portal every week Optional resources: extra reading and practice problems
  14. 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!
  15. 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
  16. 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
  17. 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!
  18. Our first in class exercise! In a moment, we’re all

    going to into small groups with our pods
  19. 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
  20. 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
  21. 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
  22. 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!
  23. Common Mistakes • Not mentioning why you’re interested in the

    role / company • Only talking about things that’s already on your resume
  24. 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
  25. 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
  26. 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, …)
  27. 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)
  28. The myth: I have to solve 300+ questions on Leetcode

    and memorize solutions in order to be successful in interviews
  29. 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.
  30. The myth: I have to get every problem correct in

    the most optimal way in the fastest time frame to pass
  31. 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

  32. 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

  33. 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

  34. 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 

  35. 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
  36. 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?
  37. 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?
  38. 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?
  39. Plan 
 It’s easier to modify your solution before you

    write all the code Catch potential bugs before starting to write code
  40. 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
  41. 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
  42. Review 
 Trace through your code with an input to

    check for the expected output Catch possible edge cases and off-by-one errors
  43. Evaluate 
 Analyze the run time and space complexity of

    your solution Discuss tradeoffs that were made, or assumptions that were taken
  44. Next Session 
 Walk through a problem with UMPIRE approach

    Group exercise to try UMPIRE yourself!