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

CodePath SE102 - Session 1 (Fall 2021)

7bf2baf0d8d5d7d96e6b67c5d567e3f9?s=47 Caren
September 12, 2021

CodePath SE102 - Session 1 (Fall 2021)

7bf2baf0d8d5d7d96e6b67c5d567e3f9?s=128

Caren

September 12, 2021
Tweet

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. Instructor Intros! Caren Paulina Ben Sushma Noel

  4. TA Intros! Allison Amanda Best Geethika Rashmi Trang

  5. Coding Interviews are difficult

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


    luck plays a big factor
  7. Coding Interviews are difficult Like most things in life, 


    luck plays a big factor Luck is when preparation meets opportunity
  8. Goals for the course

  9. Goals for the course • Be able to go into

    phone screens with confidence
  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
 

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

  14. How are we going to work towards the goal? •

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

    Lectures to reinforce concepts and walkthrough techniques • In class exercises for hands-on practice
  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
  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
  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
  19. What is your personal goal for the next 12 weeks?

  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
  21. https://courses.codepath.com/courses/ intermediate_software_eng Course Portal

  22. Course Portal

  23. Course Portal

  24. Course Portal

  25. Course Portal

  26. Pods / Teams

  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!
  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
  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
  30. In class exercises

  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!
  32. Our first in class exercise!

  33. Our first in class exercise! • Most common interview question:

    “Tell me a little about yourself”
  34. Our first in class exercise! In a moment, we’re all

    going to into small groups with our pods
  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
  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
  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
  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!
  39. None
  40. Common Mistakes

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

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

    role / company • Only talking about things that’s already on your resume
  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
  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
  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, …)
  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)
  47. How’d it go?

  48. The key to acing interviews

  49. The myth: I have to solve 300+ questions on Leetcode

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

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

  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

  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

  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 

  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
  57. U M P I R E

  58. Understand Match Plan Implement Review Evaluate

  59. Understand 
 Understand what the interviewer is asking with clarifying

    questions and test cases
  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?
  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?
  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?
  63. Plan 
 It’s easier to modify your solution before you

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

    write all the code Catch potential bugs before starting to write code
  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
  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
  67. Implement Code!

  68. Review 
 Trace through your code with an input to

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

    your solution Discuss tradeoffs that were made, or assumptions that were taken
  70. Questions?

  71. Next Session 
 Walk through a problem with UMPIRE approach

    Group exercise to try UMPIRE yourself!
  72. Survey