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

CodePath SE102 - Week 1a

7bf2baf0d8d5d7d96e6b67c5d567e3f9?s=47 Caren
May 29, 2019
340

CodePath SE102 - Week 1a

7bf2baf0d8d5d7d96e6b67c5d567e3f9?s=128

Caren

May 29, 2019
Tweet

Transcript

  1. A few guidelines as we start… Make sure you’re muted

    Turn on your webcam! Feel free to talk in the room chat
  2. Intermediate Software Engineering Week 1: Intro

  3. Caren Carina Jayashree Paulina Jane Sushma Amit Alex

  4. Mentors are a valuable resource

  5. Mentors are a valuable resource Ping us on Slack!

  6. technical interviews are hard

  7. technical interviews are hard like most things in life, luck

    plays a big factor
  8. technical interviews are hard like most things in life, luck

    plays a big factor luck = preparation meets opportunities
  9. Our goal for this class

  10. Our goal for this class Be able to go into

    phone screens with confidence

  11. Our goal for this class Be able to go into

    phone screens with confidence
 - most questions follow the same pattern

  12. Our goal for this class Be able to go into

    phone screens with confidence
 - most questions follow the same pattern
 - the key is repeated practice
  13. Our goal for this class Be able to go into

    phone screens with confidence
 - most questions follow the same pattern
 - the key is repeated practice Land an internship -> key to getting a full-time offer!
  14. How are we going to work towards the goal?

  15. How are we going to work towards the goal? Lectures

    to enforce concepts and walkthrough techniques
  16. How are we going to work towards the goal? Lectures

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

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

    to enforce 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 assessment to keep yourself on track
  19. How are we going to work towards the goal? Lectures

    to enforce 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 assessment to keep yourself on track Instructors, mentors, fellow classmates for help and support
  20. Week 1: Intro
 Week 2: Big O / Hash Tables


    Week 3: Linked Lists
 Week 4: Linked Lists II
 Week 5: Review 
 Week 6: Stacks & Queues
 Week 7: Strings and Arrays
 Week 8: Strings and Arrays II 
 Week 9: Review
 Week 10: Binary Trees 
 Week 11: Binary Trees II
 Week 12: Final Review
  21. What’s your goal for this summer?

  22. Questions?

  23. Expectations

  24. Expectations Attend weekly sessions
 Tuesday @ 6pm PST, Saturday @

    10am PST
  25. Expectations Attend weekly sessions
 Tuesday @ 6pm PST, Saturday @

    10am PST Complete weekly HackerRank test
 *linked in course portal every week
  26. Expectations Attend weekly sessions
 Tuesday @ 6pm PST, Saturday @

    10am PST Complete weekly HackerRank test
 *linked in course portal every week Optional resources: extra reading and practice problems
  27. Course Portal https://courses.codepath.com/courses/ intermediate_software_eng

  28. Course Portal todo

  29. Course Portal todo

  30. Course Portal todo

  31. Course Portal todo

  32. Questions / Comments?

  33. In class exercises

  34. In class exercises Break out into small groups of 2-5

  35. In class exercises Break out into small groups of 2-5

    Work on problems together for the topic of the week
  36. In class exercises Break out into small groups of 2-5

    Work on problems together for the topic of the week Great practice for phone interviews!
  37. Our first in class exercise!

  38. Our first in class exercise! Most common interview question: “Tell

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

    going to get separated into small groups of 4-5
  40. Our first in class exercise! In a moment, we’re all

    going to get separated into small groups of 4-5 Start by having everybody introduce themselves in alphabetical order
  41. Our first in class exercise! In a moment, we’re all

    going to get separated into small groups of 4-5 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
  42. Our first in class exercise! In a moment, we’re all

    going to get separated into small groups of 4-5 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
  43. Our first in class exercise! In a moment, we’re all

    going to get separated into small groups of 4-5 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!
  44. None
  45. 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
  46. 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, …)
  47. Questions?

  48. How’d it go?

  49. The key to acing technical interviews

  50. The myth: I have to get every problem correct in

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

    the most optimal way in the fastest time frame to pass Common interview mistakes:

  52. The myth: I have to get every problem correct in

    the most optimal way in the fastest time frame to pass Common interview mistakes:
 - not verbalizing thought process

  53. The myth: I have to get every problem correct in

    the most optimal way in the fastest time frame to pass Common interview mistakes:
 - not verbalizing thought process
 - 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 Common interview mistakes:
 - not verbalizing thought process
 - jumping to conclusions / solving the wrong problem
 - not communicating with interviewer

  55. The myth: I have to get every problem correct in

    the most optimal way in the fastest time frame to pass Common interview mistakes:
 - not verbalizing thought process
 - jumping to conclusions / solving the wrong problem
 - not communicating with interviewer
 - missing crucial edge cases 

  56. The myth: I have to get every problem correct in

    the most optimal way in the fastest time frame to pass Common interview mistakes:
 - not verbalizing thought process
 - jumping to conclusions / solving the wrong problem
 - not communicating with interviewer
 - missing crucial edge cases 
 - not discussing space / run time tradeoffs
  57. U M P I R E

  58. Understand Match Plan Implement Review Evaluate

  59. Understand

  60. Understand 
 Understand what the interviewer is asking with clarifying

    questions and test cases
  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?
  62. 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?
  63. Match

  64. Match 
 Does this problem match any common patterns we’ve

    seen?
  65. 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?
  66. Plan

  67. Plan 
 It’s easier to modify your solution before you

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

    write all the code Catch potential bugs before starting to write code
  69. 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
  70. 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
  71. Implement

  72. Implement 
 Code!

  73. Review

  74. Review 
 Trace through your code with an input to

    check for the expected out
  75. Review 
 Trace through your code with an input to

    check for the expected out Catch possible edge cases and off-by-one errors
  76. Evaluate

  77. Evaluate 
 Analyze the run time and space complexity of

    your solution
  78. Evaluate 
 Analyze the run time and space complexity of

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

  80. Next Session 
 Walk through a problem with UMPIRE approach

    Group exercise to try UMPIRE yourself!