About this Course
16,788 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level


Subtitles: English, Arabic

Skills you will gain

Live CodingProgramming InterviewAlgorithmsProblem Solving

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level


Subtitles: English, Arabic

Syllabus - What you will learn from this course

3 hours to complete

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 (Total 87 min), 5 readings, 6 quizzes
15 videos
Course Goals7m
Why Soft Skills?8m
Google engineers share their stories4m
The Application Process3m
Preparing for the Interview5m
Researching the Company7m
Effective Resumes6m
Resume critique recap6m
People Involved2m
What is a technical phone screen or interview?7m
What Is an In-Person Interview?8m
When I struggled: Overcoming a tough interview experience1m
The value of your introduction6m
Good and bad example introductions5m
5 readings
Prerequisites and how to get the most out of this course10m
After completing this course, you will be able to...5m
By the end of this week, you will be able to...5m
Interview prep resources10m
Congratulations and quiz answers10m
6 practice exercises
Where do you want to start?2m
Preparing for the interview4m
Resume critique20m
Your experience4m
Where do you want to go next?2m
End of Week Quiz10m
3 hours to complete

Welcome & What is a Software Engineering Interview?: Lesson Choices

1 reading, 2 quizzes
1 reading
Screen and video recording tips15m
1 practice exercise
Introductions (self-assessment)16m
3 hours to complete

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 (Total 64 min), 3 readings, 6 quizzes
12 videos
Cold Live Coding Assignment Walkthrough2m
Sample demonstrating key pitfalls5m
Talking Through Processes4m
Getting Started2m
Getting Stuck and Recovering from Mistakes5m
Correctness and Testing3m
A Very Good Phone Interview10m
When I struggled: a first technical phone interview43s
Imposter Syndrome and Stereotype Threat7m
Growth mindset4m
Imposter Syndrome Gallery15m
3 readings
By the end of this week, you will be able to...5m
Resources for finding problems to practice with10m
Growth Mindset and Stereotype Threat: Additional Information and Resources10m
6 practice exercises
Cold Live Coding Assignment4m
Your evaluation criteria4m
Imposter syndrome and growth mindset4m
Live coding assignment, take 230m
Live coding take 2, self assessment20m
1 hour to complete

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.

16 videos (Total 67 min), 1 reading, 1 quiz
16 videos
Sample Pitch, Broadly Technical4m
Sample Pitch, Non-Technical5m
Sample Pitch, Technical5m
Personal Narrative: Key Aspects4m
Making the Problem Compelling4m
Common Pitfall: Mixing Problem and Solution4m
Common Pitfall: Assuming Too Much4m
Presenting Your Solution4m
Common Pitfall: In the Weeds4m
Common Pitfall: Chronology4m
Visual Aids3m
Eye Contact, Speaking, and Projecting Excitement4m
When I struggled: A surprising discovery33s
Responding to Your Audience3m
Describing a group project7m
1 reading
By the end of this week, you will be able to...5m
1 practice exercise
Planning your narrative4m
3 hours to complete

Explaining what you've already done: Lesson Choices

1 video (Total 4 min), 2 quizzes
1 video
1 practice exercise
Describe your work24m
5 hours to complete

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 (Total 127 min), 5 readings, 5 quizzes
17 videos
Algorithmic problem solving and interviews4m
Case study: introduction5m
Case study: a first solution4m
Case study: working at the whiteboard5m
Case study: going deeper7m
Case study: next steps6m
When I struggled: dealing with nerves1m
In the real world: career advice1m
Evaluation criteria4m
Highlights from a good mock interview8m
Pitfalls in a bad mock interview4m
What's next?1m
End of course message41s
Appendix: full-length mock phone interview16m
Appendix: full-length mock bad in-person interview26m
Appendix: full-length mock good in-person interview27m
5 readings
By the end of this week, you will be able to...10m
Study notes20m
Evaluation questions10m
Interview Question Solutions--DON'T PEEK20m
Additional Resources10m
5 practice exercises
Your experience4m
Evaluating the mock interviews2m
Solving algorithmic problems on the fly: Part 140m
Record your live problem-solving session30m
Solving Algorithmic Problems on the Fly: Part 2 (self-assessment)20m
92 ReviewsChevron Right


started a new career after completing these courses


got a tangible career benefit from this course


got a pay increase or promotion

Top reviews from Mastering the Software Engineering Interview

By MHMay 17th 2016

I found this course is very useful. It covers all of the important points of facing technology job interview, even including how to deal with psychological emotions and build strong growth mindset.

By JCJul 19th 2017

I learned a LOT more than I thought I would. Practicing mock interviews while recording myself put me in a completely different mindset and let me know how much I need more practice.



Mia Minnes

Assistant Teaching Professor
Computer Science and Engineering

Leo Porter

Assistant Teaching Professor
Computer Science and Engineering

Christine Alvarado

Associate Teaching Professor
Computer Science and Engineering

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

About the Object Oriented Java Programming: Data Structures and Beyond Specialization

This Specialization covers intermediate topics in software development. You’ll learn object-oriented programming principles that will allow you to use Java to its full potential, and you’ll implement data structures and algorithms for organizing large amounts of data in a way that is both efficient and easy to work with. You’ll also practice critically evaluating your own code, and you’ll build technical communication skills that will help you prepare for job interviews and collaborative work as a software engineer. In the final Capstone Project, you’ll apply your skills to analyze data collected from a real-world (social) network. Google has contributed real-world projects and the involvement of its engineers as guest lecturers to these courses. A small, select group of top learners who complete the Specialization will be offered practice interviews with Google recruiters. Invitation to a practice interview does not guarantee an actual interview or employment....
Object Oriented Java Programming: Data Structures and Beyond

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.