Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Software Engineering Java Algorithms

Data Structures and Algorithms Bootcamp

How to ace your Silicon Valley style coding interview
Rating: 4.5 out of 54.5 (1,985 ratings)
12,034 students
Created by Jonathan Rasmusson
Last updated 12/2020
English
English, Italian [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • How to answer commonly asked Silicon Valley style interview questions
  • Demonstrate knowledge and mastery of data structures and algorithms
  • How to pass Silicon Valley style technical interviews
  • Interview confidently
  • Land your dream job
Curated for the Udemy for Business collection

Course content

19 sections • 139 lectures • 6h 35m total length

  • Preview01:31
  • Where to get the code
    01:35
  • Link to Github Repo
    00:03
  • Help Setting Up intelliJ
    00:25

  • What's so special about Arrays?
    Preview00:52
  • Data Structures vs APIs
    01:34
  • Three things you need to know about Arrays
    01:14
  • The Array's Killer Feature
    00:56
  • How to insert into an Array
    Preview02:20
  • How to delete an Array element
    01:01
  • Deleting the Last Element
    00:38
  • How to resize Arrays dynamically
    02:58
  • Lab: Let's build a Dynamic Array from scratch
    14:07
  • What about error handling?
    00:44
  • What you need to know for the interview
    01:01

  • What is a Linked List?
    01:49
  • What makes a Linked List different from an Array?
    01:53
  • Preview06:22
  • Get First / Get Last
    03:40
  • Add back
    02:29
  • Size
    03:56
  • Clear
    01:14
  • Delete With Value
    04:10
  • Double Linked Lists
    00:41
  • What you need to know for the interview
    01:06
  • Super Common Interview Question
    02:51

  • What is Big O Notation?
    Preview02:38
  • Must know Big O runtimes
    04:40
  • The Big O Cheat Sheet
    04:52
  • Lab: Testing ourselves on our Big O Notation
    11:09
  • What you need to know for the interview
    01:24

  • What are Stacks and Queues?
    01:16
  • What is the Stack and Queue killer feature?
    00:31
  • How to push and pop onto a Stack
    Preview01:39
  • How to add and remove from a Queue
    02:02
  • Visualizing adding to a Queue
    01:39
  • Runtime characteristics of Stacks and Queues
    00:39
  • What you need to know for the interview
    00:49

  • What so great about Hash Tables?
    01:01
  • How does hashing work?
    Preview01:17
  • How do you convert a hash into its index?
    00:56
  • Beep beep! How to deal with collisions
    00:56
  • Runtime characteristics of Hash Tables
    00:35
  • Lab: How to build a Hash Table from scratch
    08:38
  • What you need to know for the interview
    01:48

  • What is a Binary Tree?
    Preview02:24
  • How does find work?
    05:22
  • How do you insert into a Binary Search Tree?
    06:08
  • How do you find the minimum in a Binary Search Tree?
    01:14
  • How does delete work in a Binary Search Tree?
    08:16
  • Links that help
    01:30
  • What are some different ways you can traverse Binary Trees?
    04:40
  • Runtime characteristic of Binary Search Tree
    00:48
  • What you need to know for the interview
    01:25

  • What are Binary Heaps and what are they good for?
    02:01
  • How do Binary Heaps work?
    01:58
  • How do you insert into a Binary Heap?
    01:08
  • How do you extract the max?
    01:03
  • Larger Nodes Near the Bottom
    00:38
  • What makes the Binary Heap so amazing?
    Preview01:36
  • Lab: How to build a Binary Heap from scratch
    05:28
  • Runtime characteristics of Binary Heap
    01:11
  • What you need to know for the interview
    00:58

  • What is an AVL Tree?
    03:32
  • AVL Tree in code
    04:27
  • AVL Delete
    00:19
  • What you need to know about AVL for the interview
    01:25
  • What is the Red-Black Tree?
    04:58
  • AVL Red-Black Tree Interview Questions
    02:57
  • What you need to know about Red-Black for your interview
    00:43

  • Preview00:45
  • What's a Fibonacci series?
    02:24
  • What's memoization and how can it help?
    02:25
  • Lab: How to build a memoized Fibonacci series from scratch
    01:21
  • Lab: Real Life Recursion
    03:36
  • What you need to know for the interview
    01:20

Requirements

  • Basic programming
  • Familiarity with Java

Description

This course is about getting you up-to-speed quickly on the fundamental computer science concepts you are going to be expected to know if you want interview at any large Silicon Valley tech company (Google, Apple, Facebook, Amazon, or Spotify).

Topics include

  • Arrays

  • Linked Lists

  • Big O notation

  • Stacks & Queues

  • Hash Tables

  • Binary Trees

  • Binary Heaps

  • Dynamic Programming & Memoization

  • Bubble Sort / Merge Sort / Quick Sort

  • Graphs

  • Breadth First Search

  • Depth First Search

  • More...

What you get

With this course you get

  • Over 115 beautifully hand crafted HD videos walking you through every aspect of how all these data structures and algorithms work

  • Practices questions and personal walkthroughs of the most commonly asked interview questions

  • My personal notes on interviews I have personally had with Spotify, Facebook, Amazon, and others

  • A section called The Classics where we walk through classic interview questions no interviewee should be with out

  • Interview tips on soft skills big tech companies look for when hiring and techniques on how to answer

What you save

By investing in yourself with this course you are saving yourself the most precious thing you’ve got - time. I have spent a year scouring the web looking for the best examples, the simplest explanations, the best visualizations on how to explain how this stuff works, and assembled it all into one, quick, easy to digest place.

Let's do this together

Learning data structures and algorithms doesn’t have to be a chore. It can be fun. And I want you to know I am here for you every step of the way. Ask me any question. I usually get back to my students with 24 hrs. And together, we will get you the understanding behind how these things work.

I also don’t have a formal computer science background

Look. I know what it’s like not to know how this stuff works. And, like you, I have had to learn this stuff from scratch.

But I am here to tell you it can be done. I have no formal computer science background. I am not classically trained as a computer scientist. But by learning this material, I landed my dream job as an engineer at Spotify in San Francisco. And so can you.


So what are you waiting for? Sign up and get started on your journey today.


Testimonials

Here are some testimonials from students who have taken the course.

Tiffany Scott

Best $10 I've ever spent. The explanations are concise and are giving me confidence for my upcoming Microsoft and Facebook interviews. Planning on finishing the course in 4 days to give me ample time to practice problems.


Saif Addin Ellafi

Really, this will sound like exaggeration. But this course is perfect, 5 stars falls short. The instructor puts the content in a an easy to follow order, videos are short to keep attention and leave you wanting to know more. Concise and important points are made very clear, with zero repetition. Native speaker offers no challenge for understanding, especially if you are not a native speaker. Answers questions very quickly. The course WONT teach you how to program, so forget about 100% coding from scratch or having pedagogical exercises. It relies on you to check out the code, re-write it, practice and research deeper the concepts. Examples are written in Java, but they are very agnostic to the language (aside of having to setup a java environment to run tests). Huge focus on acing interviews. A clear target of the course makes it great and an example. Time and pacing are perfect, no need to slow down or speed up. Overall 10 out of 5.


Anna Teittinen

I completed this course in my busy schedule within 3 weeks of learning I will have technical phone interviews with both Google and Facebook. I learned so much and understood everything without memorizing, unlike when I was in school. I recently learned I did well on both phone interviews. I will have a second technical phone interview with both companies again in mid Jan. I highly recommend this course! Thank you very much Jonathan!


Rick A

I took your course in the very beginning of my interview prep to refresh all my concepts. I think you've done a great job in this course. After a lot of practice using these concepts I got pretty good at it. I got multiple offers from big N including Google, Facebook, Amazon and Microsoft. I would like to take this moment to thank you for creating the course and being available to answer our queries.


Luciano Sa

Amazing course! Very well explained, great didactic which makes it very easy to follow and understand! I wish these stars were exponential. :)


Kavitha Bhasker

I am really thankful I found this course on Udemy. It has been 15 years since I learnt these concepts during my engineering college days and needed to brush up on them for interview prep. This course really nailed the contents and exercise that are asked in tech interviews these days. The tone of the instructor is very friendly and calm and make you think rather than put you in a spot. I was asked for a interview query on whether to use an array vs hashmap in a certain scenario and was able to nail the answer and also give the Time complexity with confidence . I landed the job and will be starting next week. Thank you so much!


Eyal Carmi

Great. I like the that Jonathan filters what we actually need for an interview - instead of being flood with lot's of data, he notes you what worth remembering. His explanations are clear, and if you don't understand something, just ask him and he explains it to you.


Flavio Marques Migowski Carvalho

One of the best course I've had. It's very well explained, each step in the coding is shown and explained with drawings. I think some design and architecture problems would be very handy! Thank you for making this course for us!


Adam Mendoza

Best course I've seen to brush up on algorithms and data structures to prepare for an interview at competitive companies. Really, a class apart.


Madhu

I love the course overall. Very engaging. The Instructor, Jonathan is a great mentor and has this calm and assuring voice that puts the confidence in anyone who does not have programming experience before. He not only covered the technical aspects of almost all the important algorithms but also added a great ending with the interviewing tips which is really helpful. I would recommend this course to everyone who want to brush up on algorithms and just be ready enough to start with their interview.


Juwan Turner-Howard

I can program. I thought I "knew" about arrays, but this helping me to know the why which can allow me to make better tradeoffs when it's time to choose between linkedlist(probably O(n) get and set time) versus the O(1) array get and set time. If the rest of the course is consistent with the style and value of information in this first module... whew... I'm in for a good ride. So happy and excited about this course thus far though.


Aung Khant Nyra

I would say Jonathan has done a great job of showing you how to prepare for interview problems by giving you a touch of basic data structures and a bird's eye view of the a typical interview. I am in the bay area and personally for me, this course is pretty basic and I am preparing for interviews myself, so this course was helpful for me although it didn't include advanced topics like dynamic programming and so on. Of course, there are countless interview practice problems online so I understand, it's impossible for him to cover everything. Anyways, I love the course . It is better to learn from a professional who is in the field instead of learning from a professor or a lecturer.


Ramachandran Rajagopalan

Good course to wrap your head around DSA if you are a beginner. For others who have a got a week's time for the interview and need a refresher then grab this. Thanks, Jonathan. Good work.

Who this course is for:

  • Anyone applying for a software engineering role in Silicon Valley
  • Anyone who wants to quickly learn the fundamentals of computer science
  • Anyone looking to work at Google, Facebook, Amazon, Apple, Spotify

Featured review

Daniel Berekdar
Daniel Berekdar
6 courses
2 reviews
Rating: 5.0 out of 5a year ago
So far so good. I am taking an advanced algorithms course next semester and I am taking this class for review. I have learned a lot of concepts that were glanced over in my data structures + algorithms class and now I feel more confident to apply to jobs.

Instructor

Jonathan Rasmusson
Ex-Spotify Engineer, The Agile Samurai
Jonathan Rasmusson
  • 4.5 Instructor Rating
  • 10,626 Reviews
  • 44,371 Students
  • 5 Courses

Jonathan is an experienced software engineer who has helped some of the world’s most innovative companies ship software.

As an Engineer at Spotify in Stockholm Sweden, Jonathan was a part of the team responsible for bringing Spotify to the Sony Playstation as well as car with BMW, Ford, and Telsa.

In San Francisco Jonathan helped build integrations that brought Spotify to Apple iMessage, Facebook Messenger, and Twitter.

While at Microsoft, Jonathan worked with the Progressive Architecture Team to develop a Microsoft Smart Client Architecture Guide and Application Block.

And while working as a consultant at ThoughtWorks, Jonathan helped companies in the energy (British Petroleum), finance (AMP Capital), and automotive (Toyota) industries all take their first tentative steps into Agile software delivery.

Jonathan is the author of two top selling books: The Agile Samurai, The Way of the Web Tester, And Competing With Unicorns. 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.