Mastering the Software Engineering Interview
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
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…

Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
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-
Taught by: Mia Minnes, Assistant Teaching Professor
Computer Science and Engineering -
Taught by: Leo Porter, Assistant Teaching Professor
Computer Science and Engineering -
Taught by: Christine Alvarado, Associate Teaching Professor
Computer Science and Engineering
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
CertificatesEarn official recognition for your work, and share your success with friends, colleagues, and employers.
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.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 expand
- Video: Course Introduction
- Reading: Prerequisites and how to get the most out of this course
- Video: Course Goals
- Video: Why Soft Skills?
- Video: Google engineers share their stories
- Reading: After completing this course, you will be able to...
- Reading: By the end of this week, you will be able to...
- Discussion Prompt: Introduction
- Practice Quiz: Where do you want to start?
- Video: The Application Process
- Video: Preparing for the Interview
- Reading: Interview prep resources
- Discussion Prompt: Recommended resources
- Video: Researching the Company
- Practice Quiz: Preparing for the interview
- Video: Effective Resumes
- Reading: Congratulations and quiz answers
- Video: Resume critique recap
- Video: People Involved
- Video: What is a technical phone screen or interview?
- Video: What Is an In-Person Interview?
- Video: When I struggled: Overcoming a tough interview experience
- Practice Quiz: Your experience
- Practice Quiz: Where do you want to go next?
- Video: The value of your introduction
- Video: Good and bad example introductions
- Discussion Prompt: Your recommendations
- Reading: 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 expand
- Video: Welcome and Introduction to Live Coding
- Reading: By the end of this week, you will be able to...
- Video: Cold Live Coding Assignment Walkthrough
- Practice Quiz: Your evaluation criteria
- Video: Sample demonstrating key pitfalls
- Video: Talking Through Processes
- Video: Getting Started
- Video: Getting Stuck and Recovering from Mistakes
- Video: Correctness and Testing
- Video: A Very Good Phone Interview
- Video: When I struggled: a first technical phone interview
- Reading: Resources for finding problems to practice with
- Video: Imposter Syndrome and Stereotype Threat
- Video: Growth mindset
- Video: Imposter Syndrome Gallery
- Practice Quiz: Imposter syndrome and growth mindset
- Reading: Growth Mindset and Stereotype Threat: Additional Information and Resources
- Practice Quiz: 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 expand
- Video: Welcome and Introduction to Personal Narrative
- Video: Sample Pitch, Broadly Technical
- Video: Sample Pitch, Non-Technical
- Video: Sample Pitch, Technical
- Video: Personal Narrative: Key Aspects
- Reading: By the end of this week, you will be able to...
- Practice Quiz: Planning your narrative
- Video: Making the Problem Compelling
- Video: Common Pitfall: Mixing Problem and Solution
- Video: Common Pitfall: Assuming Too Much
- Video: Presenting Your Solution
- Video: Common Pitfall: In the Weeds
- Video: Common Pitfall: Chronology
- Video: Visual Aids
- Video: Eye Contact, Speaking, and Projecting Excitement
- Video: When I struggled: A surprising discovery
- Video: Responding to Your Audience
- Video: Describing a group project
- Video: Assignment Overview
- Discussion Prompt: 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 expand
- Video: Welcome to algorithmic problem solving
- Reading: By the end of this week, you will be able to...
- Practice Quiz: Your experience
- Video: Algorithmic problem solving and interviews
- Video: Case study: introduction
- Video: Case study: a first solution
- Video: Case study: working at the whiteboard
- Video: Case study: going deeper
- Video: Case study: next steps
- Reading: Study notes
- Video: When I struggled: dealing with nerves
- Video: In the real world: career advice
- Video: Evaluation criteria
- Video: Highlights from a good mock interview
- Video: Pitfalls in a bad mock interview
- Practice Quiz: Evaluating the mock interviews
- Video: What's next?
- Reading: Evaluation questions
- Practice Quiz: Record your live problem-solving session
- Reading: Interview Question Solutions--DON'T PEEK
- Reading: Additional Resources
- Video: End of course message
- Video: Appendix: full-length mock phone interview
- Video: Appendix: full-length mock bad in-person interview
- 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)
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.