Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Data Structures and Algorithms Bootcamp

Khóa Học Cấp Tốc Cấu Trúc Dữ Liệu & Giải Thuật

Khóa Học Cấp Tốc Cấu Trúc Dữ Liệu & Giải Thuật

Cách vượt qua buổi phỏng vấn coding kiểu Silicon Valley

4.4
(3,214 đánh giá)
20,401 học viên
Giảng viên
Jonathan Rasmusson
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
6.5 giờ video
139 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Cách trả lời các câu hỏi phỏng vấn thường gặp kiểu Silicon Valley
Thể hiện kiến thức và sự thành thạo về cấu trúc dữ liệu và giải thuật
Cách vượt qua các vòng phỏng vấn kỹ thuật kiểu Silicon Valley
Phỏng vấn tự tin
Chinh phục công việc mơ ước

Yêu cầu

Lập trình cơ bản
Quen thuộc với Java

Đối tượng phù hợp

Dành cho người ứng tuyển vị trí kỹ sư phần mềm tại Silicon Valley
Dành cho người muốn học nhanh kiến thức nền tảng khoa học máy tính
Dành cho người muốn làm việc tại Google, Facebook, Amazon, Apple, Spotify

Nội dung khóa học

19 phần • 139 bài giảng
1 Cách tận dụng tối đa khóa học này
2 Nơi lấy mã nguồn
3 Liên kết đến Github Repo
4 Hỗ trợ Cài đặt IntelliJ
1 Điều gì đặc biệt ở Mảng?
2 Cấu Trúc Dữ Liệu vs Giao Diện Lập Trình (APIs)
3 Ba điều cần biết về Mảng
4 Tính năng nổi bật của Mảng
5 Cách chèn phần tử vào Mảng
6 Cách xóa phần tử trong Mảng
7 Xóa Phần Tử Cuối Cùng
8 Cách thay đổi kích thước Mảng linh hoạt
9 Thực hành: Xây dựng Mảng Động từ đầu
10 Xử lý lỗi thì sao?
11 Những gì cần biết cho buổi phỏng vấn
1 Danh Sách Liên Kết là gì?
2 Điều gì khiến Danh Sách Liên Kết khác Mảng?
3 Thêm vào Đầu
4 Lấy Phần Tử Đầu / Lấy Phần Tử Cuối
5 Thêm vào Cuối
6 Kích thước
7 Xóa toàn bộ
8 Xóa theo Giá trị
9 Danh Sách Liên Kết Đôi
10 Những gì cần biết cho buổi phỏng vấn
11 Câu Hỏi Phỏng Vấn Siêu Phổ Biến
1 Ký Hiệu Big O là gì?
2 Các độ phức tạp thời gian Big O bắt buộc phải biết
3 Bảng tra nhanh Big O
4 Thực hành: Tự kiểm tra kiến thức về Ký Hiệu Big O
5 Những gì cần biết cho buổi phỏng vấn
1 Ngăn Xếp và Hàng Đợi là gì?
2 Tính năng nổi bật của Ngăn Xếp và Hàng Đợi?
3 Cách thêm (push) và lấy (pop) phần tử trong Ngăn Xếp
4 Cách thêm và xóa phần tử trong Hàng Đợi
5 Minh họa thêm phần tử vào Hàng Đợi
6 Đặc điểm thời gian chạy của Ngăn Xếp và Hàng Đợi
7 Những gì cần biết cho buổi phỏng vấn
1 Điều gì tuyệt vời ở Bảng Băm?
2 Hàm băm hoạt động như thế nào?
3 Làm thế nào để chuyển đổi giá trị băm thành chỉ mục?
4 Bíp bíp! Cách xử lý va chạm (collisions)
5 Đặc điểm thời gian chạy của Bảng Băm
6 Thực hành: Xây dựng Bảng Băm từ đầu
7 Những gì cần biết cho buổi phỏng vấn
1 Cây Nhị Phân là gì?
2 Hoạt động tìm kiếm như thế nào?
3 Làm thế nào để chèn vào Cây Tìm Kiếm Nhị Phân?
4 Làm thế nào để tìm phần tử nhỏ nhất trong Cây Tìm Kiếm Nhị Phân?
5 Hoạt động xóa trong Cây Tìm Kiếm Nhị Phân như thế nào?
6 Các liên kết hữu ích
7 Một số cách duyệt (traverse) Cây Nhị Phân khác nhau?
8 Đặc điểm thời gian chạy của Cây Tìm Kiếm Nhị Phân
9 Những gì cần biết cho buổi phỏng vấn
1 Đống Nhị Phân là gì và chúng có ích cho việc gì?
2 Đống Nhị Phân hoạt động như thế nào?
3 Làm thế nào để chèn vào Đống Nhị Phân?
4 Làm thế nào để trích xuất phần tử lớn nhất?
5 Các Nút Lớn hơn ở Gần Đáy
6 Điều gì khiến Đống Nhị Phân tuyệt vời?
7 Thực hành: Xây dựng Đống Nhị Phân từ đầu
8 Đặc điểm thời gian chạy của Đống Nhị Phân
9 Những gì cần biết cho buổi phỏng vấn
1 Cây AVL là gì?
2 Cây AVL trong code
3 Xóa trong Cây AVL
4 Những gì cần biết về AVL cho buổi phỏng vấn
5 Cây Đỏ-Đen là gì?
6 Câu Hỏi Phỏng Vấn về Cây AVL và Cây Đỏ-Đen
7 Những gì cần biết về Cây Đỏ-Đen cho buổi phỏng vấn
1 Houston, chúng ta có một vấn đề
2 Dãy Fibonacci là gì?
3 Ghi nhớ (Memoization) là gì và nó giúp ích như thế nào?
4 Thực hành: Xây dựng dãy Fibonacci có ghi nhớ từ đầu
5 Thực hành: Đệ quy trong Thực tế
6 Những gì cần biết cho buổi phỏng vấn
1 Sắp Xếp Nổi Bọt (Bubble Sort) là gì?
2 Sắp Xếp Nổi Bọt trong code
3 Đặc điểm thời gian chạy của Sắp Xếp Nổi Bọt
4 Sắp Xếp Trộn (Merge Sort) là gì?
5 Sắp Xếp Trộn trong code
6 Đặc điểm thời gian chạy của Sắp Xếp Trộn
7 Sắp Xếp Nhanh (Quicksort) là gì?
8 Sắp Xếp Nhanh trong code
9 Đặc điểm thời gian chạy của Sắp Xếp Nhanh
10 Những gì cần biết cho buổi phỏng vấn
1 Đồ thị chính xác là gì?
2 Cấu trúc dữ liệu đồ thị trông như thế nào?
3 Tìm Kiếm Theo Chiều Rộng (BFS)
4 Thực hành: Tự viết Tìm Kiếm Theo Chiều Rộng
5 Tìm Kiếm Theo Chiều Sâu (DFS)
6 Thực hành: Tự viết Tìm Kiếm Theo Chiều Sâu
7 Những gì cần biết cho buổi phỏng vấn
1 Phỏng Vấn Văn Hóa
2 Phỏng Vấn Hệ Thống
3 Phỏng Vấn Lập Trình
4 Mẹo phỏng vấn hiệu quả
5 Bước tiếp theo - đi đâu từ đây
1 Giới thiệu về câu hỏi coding
2 Ký Tự Duy Nhất (Unique Characters)
3 Hoán Vị (Permutations)
4 URLify
5 Chỉ Sai Khác Một (One Away)
6 Máy Nén (Compressor)
7 Xóa Các Phần Tử Trùng Lặp
8 Tổng Danh Sách (Sum lists)
9 Phát Hiện Vòng Lặp (Loop detection)
10 Kiểm Tra Cây Con (Subtree Checker)
11 Đường Đi Có Tổng (Paths with Sums)
12 Ngăn Xếp Tối Thiểu trong O(1)
13 Chồng Đĩa (Stack of Plates)
1 Chuỗi Đối Xứng (Palindromes)
2 FizzBuzz
3 Lời Nhắn Chuộc (Ransom Note)
4 Mã Hóa Caesar (Caesar Cipher)
5 Sàng Eratosthenes (Sieve of Eratosthenes)
6 Đảo Ngược Chuỗi
7 Đảo Ngược Số Nguyên
8 Từ Đảo Chữ (Anagrams)
1 Giới thiệu
2 Xử Lý Thẻ Tín Dụng
3 Liên Kết về Xử Lý Thẻ Tín Dụng
1 Giới thiệu Facebook
2 Câu Hỏi Facebook #1
3 Câu Hỏi Facebook #2
4 Câu Hỏi Facebook #3
5 Sao Chép Nông vs Sao Chép Sâu
6 Câu Hỏi Facebook #4
7 Facebook - Những gì bạn cần biết
1 Giới thiệu Amazon
2 Chuẩn bị Bối cảnh
3 Câu Hỏi Amazon #1
4 Câu Hỏi Amazon #2
5 Đáp Án Câu Hỏi Amazon #1
6 Đáp Án Câu Hỏi Amazon #2
7 Điểm Tốt
8 Điểm Chưa Tốt
1 Bảng Tra Nhanh (Cheat Sheet)
2 Câu Hỏi Bổ Sung

Giới thiệu khóa học

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!


Abhishek Sengupta

I think this is the best course on DSA I have ever seen. The reason i am saying this is because in previous courses I used to understand a write the code but soon after a day or so it was like 'what was that?' , but here every topic even after learning many other topics I can recall and code it. And I feel the reason for strong foundation is how Jonathon approaches and teaches the topic. In such a less duration he was able to solidify the concepts from scratch. BEST COURSE IN DSA! Jonathan Please do more courses on algorithms or Blind 75 topics. It will help engineers crack the interview easily after learning from you.



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.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Algorithms
Hiển thị tất cả khoá học Computer Science
Hiển thị tất cả khoá học Data Structures
Clean Code

Clean Code

Academind by Maximilian Schwarzmüller

4.6 (26435)
118,068
50.000đ -88%
Hiển thị tất cả khoá học Programming Fundamentals
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊