Coursera
Explore
  • Browse
  • Search
  • For Enterprise
  • Log In
  • Sign Up

Mastering the Software Engineering Interview

OverviewSyllabusFAQsCreatorsPricingRatings and Reviews

HomeComputer ScienceSoftware Development

Mastering the Software Engineering Interview

University of California, San Diego

About this course: You’ve hit a major milestone as a computer scientist and are becoming a capable programmer. You now know how to solve problems, write algorithms, and analyze solutions; and you have a wealth of tools (like data structures) at your disposal. You may now be ready for an internship or (possibly) an entry-level software engineering job. But can you land the internship/job? It depends in part on how well you can solve new technical problems and communicate during interviews. How can you get better at this? Practice! With the support of Google’s recruiting and engineering teams we’ve provided tips, examples, and practice opportunities in this course that may help you with a number of tech companies. We’ll assist you to organize into teams to practice. Lastly, we’ll give you basic job search advice, and tips for succeeding once you’re on the job.

Who is this class for: Undergraduates looking for a software engineering internship or full-time job. Professionals looking to make a career shift towards software engineering. Computer science enthusiasts looking to polish their technical communication skills. Anyone curious about what goes on in a technical interview, and how to use psychology and research to combat self-doubt and set yourself up for success.


Created by:  University of California, San Diego
University of California, San Diego

  • Mia Minnes

    Taught by:  Mia Minnes, Assistant Teaching Professor

    Computer Science and Engineering

  • Leo Porter

    Taught by:  Leo Porter, Assistant Teaching Professor

    Computer Science and Engineering

  • Christine Alvarado

    Taught by:  Christine Alvarado, Associate Teaching Professor

    Computer Science and Engineering
Basic Info
Course 4 of 5 in the Object Oriented Java Programming: Data Structures and Beyond Specialization
LevelIntermediate
Commitment4 weeks of study, 2-4 hours/week
Language
English
How To PassPass all graded assignments to complete the course.
User Ratings
4.6 stars
Average User Rating 4.6See what learners said
Syllabus
WEEK 1
Welcome & What is a Software Engineering Interview?
Welcome to our course on effectively communicating your technical abilities. This course focuses on landing a technical job and excelling in a technical role. To succeed in job interviews, you’ll need to be able to confidently articulate your ability to solve challenging problems and come up with new solutions under potentially stressful conditions. After getting a technical job, the role of communication increases even more. You’ll need to work with other members of the team, communicate technical challenges and successes, and potentially sell the value of your work to those outside the company. Our goal is that by the end of this course each and every one of you understands the importance of technical communication, and has received constructive feedback on areas of potential improvement. In achieving this goal you will also learn about algorithmic thinking on the fly, how to evaluate a good interview answer to a difficult technical problem, and how “soft” skills impact interview outcomes. In this module, we’ll begin to see what a technical interview looks like, from the perspective of a major tech company. We’ll then focus on how to best get the interview in the first place. If you're not in the job market right now, you might want to skim the videos in this module and skip ahead to the Resume Critique (for insights about how to present yourself in writing) or the Introductions assignment (on effectively presenting yourself in person).
15 videos, 6 readings, 4 practice quizzes
  1. Video: Course Introduction
  2. Leyendo: Prerequisites and how to get the most out of this course
  3. Video: Course Goals
  4. Video: Why Soft Skills?
  5. Video: Google engineers share their stories
  6. Leyendo: After completing this course, you will be able to...
  7. Leyendo: By the end of this week, you will be able to...
  8. Cuadro de aviso de la discusión: Introduction
  9. Cuestionario de práctica: Where do you want to start?
  10. Video: The Application Process
  11. Video: Preparing for the Interview
  12. Leyendo: Interview prep resources
  13. Cuadro de aviso de la discusión: Recommended resources
  14. Video: Researching the Company
  15. Cuestionario de práctica: Preparing for the interview
  16. Video: Effective Resumes
  17. Leyendo: Congratulations and quiz answers
  18. Video: Resume critique recap
  19. Video: People Involved
  20. Video: What is a technical phone screen or interview?
  21. Video: What Is an In-Person Interview?
  22. Video: When I struggled: Overcoming a tough interview experience
  23. Cuestionario de práctica: Your experience
  24. Cuestionario de práctica: Where do you want to go next?
  25. Video: The value of your introduction
  26. Video: Good and bad example introductions
  27. Cuadro de aviso de la discusión: Your recommendations
  28. Leyendo: Screen and video recording tips
Graded: Resume critique
Graded: Introductions
Graded: End of Week Quiz
WEEK 2
Live coding: the technical phone interview and beyond
Now that you’ve gotten warmed up, it’s time to practice your coding skills. One of the things you’ll almost certainly be asked to do during a technical phone interview is to code up a solution to a problem in a shared text document (e.g. Google doc) while you are on the phone with the interviewer. This experience can be intimidating, unfamiliar and humbling if you are not prepared, so this week we will give you lots of practice and tips for getting through this part of the interview with flying colors.
12 videos, 3 readings, 3 practice quizzes
  1. Video: Welcome and Introduction to Live Coding
  2. Leyendo: By the end of this week, you will be able to...
  3. Video: Cold Live Coding Assignment Walkthrough
  4. Cuestionario de práctica: Your evaluation criteria
  5. Video: Sample demonstrating key pitfalls
  6. Video: Talking Through Processes
  7. Video: Getting Started
  8. Video: Getting Stuck and Recovering from Mistakes
  9. Video: Correctness and Testing
  10. Video: A Very Good Phone Interview
  11. Video: When I struggled: a first technical phone interview
  12. Leyendo: Resources for finding problems to practice with
  13. Video: Imposter Syndrome and Stereotype Threat
  14. Video: Growth mindset
  15. Video: Imposter Syndrome Gallery
  16. Cuestionario de práctica: Imposter syndrome and growth mindset
  17. Leyendo: Growth Mindset and Stereotype Threat: Additional Information and Resources
  18. Cuestionario de práctica: Live coding assignment, take 2
Graded: Cold Live Coding Assignment
Graded: Self-assessment
Graded: Live coding take 2, self assessment
WEEK 3
Explaining what you've already done
This week, we’re going to focus on how to speak about your experiences working on projects and how to speak about the technical problems you’ve experienced and how you’ve solved those problems. We’ll introduce the STAR (Situation, Task, Action, Results) model for presenting your work, and discuss how to and how not to present the problem you worked on and the solution you developed. We’ll also discuss the communication skills that are critical to this task. It’s a fun week with lots of examples (both good and bad), which ends with an assignment where you will present your own work on video and submit this video for peer review.
17 videos, 1 reading, 1 practice quiz
  1. Video: Welcome and Introduction to Personal Narrative
  2. Video: Sample Pitch, Broadly Technical
  3. Video: Sample Pitch, Non-Technical
  4. Video: Sample Pitch, Technical
  5. Video: Personal Narrative: Key Aspects
  6. Leyendo: By the end of this week, you will be able to...
  7. Cuestionario de práctica: Planning your narrative
  8. Video: Making the Problem Compelling
  9. Video: Common Pitfall: Mixing Problem and Solution
  10. Video: Common Pitfall: Assuming Too Much
  11. Video: Presenting Your Solution
  12. Video: Common Pitfall: In the Weeds
  13. Video: Common Pitfall: Chronology
  14. Video: Visual Aids
  15. Video: Eye Contact, Speaking, and Projecting Excitement
  16. Video: When I struggled: A surprising discovery
  17. Video: Responding to Your Audience
  18. Video: Describing a group project
  19. Video: Assignment Overview
  20. Cuadro de aviso de la discusión: What project should you talk about?
Graded: Describe Your Work
WEEK 4
Algorithmic thinking on the fly
As we saw in week 2, coding on the fly can be a difficult task! In this final week of the course we’ll revisit the skill of live problem solving by looking at how to solve more challenging algorithmic problems (and write the code associated with the solution) on the whiteboard. You’ll recognize these problems as “classic” interview problems you’ve probably heard a lot about, designed to test your problem solving skills as well as your analysis and coding abilities. Don’t worry, we’ll teach you how to approach them with confidence through a 6-step process to addressing technical questions (hint: you don’t have to produce the perfect solution on the first try!). We’ll show you how to use this process in a number of examples. But of course, there is no substitute for practice, so we’ll set you up with how to train and evaluate yourself.
17 videos, 5 readings, 3 practice quizzes
  1. Video: Welcome to algorithmic problem solving
  2. Leyendo: By the end of this week, you will be able to...
  3. Cuestionario de práctica: Your experience
  4. Video: Algorithmic problem solving and interviews
  5. Video: Case study: introduction
  6. Video: Case study: a first solution
  7. Video: Case study: working at the whiteboard
  8. Video: Case study: going deeper
  9. Video: Case study: next steps
  10. Leyendo: Study notes
  11. Video: When I struggled: dealing with nerves
  12. Video: In the real world: career advice
  13. Video: Evaluation criteria
  14. Video: Highlights from a good mock interview
  15. Video: Pitfalls in a bad mock interview
  16. Cuestionario de práctica: Evaluating the mock interviews
  17. Video: What's next?
  18. Leyendo: Evaluation questions
  19. Cuestionario de práctica: Record your live problem-solving session
  20. Leyendo: Interview Question Solutions--DON'T PEEK
  21. Leyendo: Additional Resources
  22. Video: End of course message
  23. Video: Appendix: full-length mock phone interview
  24. Video: Appendix: full-length mock bad in-person interview
  25. Video: Appendix: full-length mock good in-person interview
Graded: Solving algorithmic problems on the fly: Part 1
Graded: Solving Algorithmic Problems on the Fly: Part 2 (self-assessment)

FAQs
How It Works
Trabajo del curso
Trabajo del curso

Cada curso es como un libro de texto interactivo, con videos pregrabados, cuestionarios y proyectos.

Ayuda de tus compañeros
Ayuda de tus compañeros

Conéctate con miles de estudiantes y debate ideas y materiales del curso, y obtén ayuda para dominar los conceptos.

Certificados
Certificados

Obtén reconocimiento oficial por tu trabajo y comparte tu éxito con amigos, compañeros y empleadores.

Creators
University of California, San Diego
UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.
Pricing
Purchase Course
Access to course materials

Available

Access to graded materials

Available

Receive a final grade

Available

Earn a shareable Course Certificate

Available

Ratings and Reviews
Rated 4.6 out of 5 of 396 ratings
bhawna arora

Wonderful if you are intending to appear for a job/internship interview.

J

worth the time to shape your skill!

Amrit Kumar

a must!

DC

Great!



You May Also Like
University of California, San Diego
Advanced Data Structures in Java
1 course
University of California, San Diego
Advanced Data Structures in Java
View course
University of California, San Diego
Data Structures and Performance
1 course
University of California, San Diego
Data Structures and Performance
View course
Duke University
Java Programming: Arrays, Lists, and Structured Data
1 course
Duke University
Java Programming: Arrays, Lists, and Structured Data
View course
University of California, San Diego
Object Oriented Programming in Java
1 course
University of California, San Diego
Object Oriented Programming in Java
View course
Duke University
Java Programming: Principles of Software Design
1 course
Duke University
Java Programming: Principles of Software Design
View course
Coursera
Coursera provides universal access to the world’s best education, partnering with top universities and organizations to offer courses online.
© 2018 Coursera Inc. All rights reserved.
Download on the App StoreGet it on Google Play
  • Coursera
  • About
  • Leadership
  • Careers
  • Catalog
  • Certificates
  • Degrees
  • For Business
  • For Government
  • Community
  • Partners
  • Mentors
  • Translators
  • Developers
  • Beta Testers
  • Connect
  • Blog
  • Facebook
  • LinkedIn
  • Twitter
  • Google+
  • Tech Blog
  • More
  • Terms
  • Privacy
  • Help
  • Accessibility
  • Press
  • Contact
  • Directory
  • Affiliates