LeetCode là gì? LeetCode có thực sự giúp bạn vượt qua vòng phỏng vấn không?

Ngày đăng: | Cập nhật: 06/07/2021 | | 2 bình luận

Trong một bài viết trước mình có chia sẻ một vài trải nghiệm với LeetCode, và sau khi đọc xong bài đó hẳn sẽ có nhiều bạn nghĩ rằng: LeetCode là một “công cụ” hỗ trợ phỏng vấn với các công ty công nghệ.

Điều này đúng nhưng không chỉ có vậy.

YouTube video

LeetCode là gì?

LeetCode là một nền tảng giúp người dùng nâng cao kỹ năng lập trình thông qua các câu hỏi phỏng vấn thường được dùng ở các công ty công nghệ hàng đầu thế giới.

Bản chất của LeetCode chính là cung cấp kiến thức về IT và các kiến thức này thường được dùng ở Google, Amazon, Microsoft, Facebook, Netflix…

Đây là là LeetCode Profile của mình, mời các bạn ghé xem nhé: https://leetcode.com/Chiasepremiumdotcom/

LeetCode là gì?
LeetCode là gì?

Do đó, mình nghĩ là, nên hiểu LeetCode như là một công cụ hỗ trợ nâng cao kiến thức, chứ không hẳn là một công cụ giúp bạn “những mánh khóe” để vượt qua vòng phỏng vấn.

LeetCode sử dụng tốt nhất trên trình duyệt máy tính và không có app cho di động.

Có thể bạn quan tâm: Tài khoản LeetCode Premium: rèn luyện kỹ năng phỏng vấn với các công ty công nghệ

LeetCode rất hữu dụng.

Đúng vậy, LeetCode là nơi các bạn yêu thích công nghệ thông tin, từ mới vào nghề cho đến các kỹ sư lâu năm rèn luyện kỹ năng viết code của mình. Hiện tại, thư viện LeetCode có hơn 1000 câu hỏi về nhiều chủ đề khác nhau, mỗi câu hỏi sẽ đưa ra một hoặc một số Giải-pháp-tối-ưu để bạn có thể tham khảo và vận dụng.

Các câu hỏi được xếp theo mức độ khó: dễ, trung bình và khó.

Ngoài LeetCode bạn có thể tham khảo các trang web tương tự như HackerRank, Topcoder, InterviewBit,

LeetCode là là địa chỉ tốt để các coder kiểm tra các kỹ năng sử dụng thuật toán. Cần lưu ý thêm là mục đích của việc sử dụng LeetCode không phải là học thuộc lòng các giải pháp chỉ để vượt qua vòng phỏng vấn.

Các chủ đề thảo luận, huấn luyện chủ yếu trên LeetCode bao gồm:

  • Binary search trees
  • Data structures
  • Linked lists
    Bit manipulation
  • Algorithms
  • Brain teasers
    Graphs
  • Dynamic programming
  • Divide & conquer
    Arrays
  • Queues
  • Mathematics

Có thể bạn quan tâm: Nền tảng nào để học lập trình cơ bản? So sánh 3 tài khoản Pluralsight vs Treehouse vs Codecademy.

Cách sử dụng LeetCode

Mình bắt đầu sử dụng LeetCode từ tháng 11 năm 2018, trong khi đang theo học một khóa học trực tuyến trên Udemy về thuật toán.

Thật khó để có đủ thời gian giải quyết mọi câu hỏi trên LeetCode. Vì vậy, cách của mình là xem các câu hỏi và các câu trả lời được bình chọn cao nhất trong cuộc thảo luận để hiểu rõ hơn ý nghĩa các câu hỏi được tổ chức thành các thẻ chủ đề (tag).

Và mình thấy rằng việc tìm hiểu các giải pháp cho vấn đề (https://LeetCode.com/problemset/all/) trước khi tự mình giải quyết khá hữu ích. Điều này giúp mình tiết kiệm thời gian và cho phép xem được nhiều câu hỏi trong cùng một chủ đề. Vì vậy, mình cũng có thể dễ dàng nhận ra các “biến thể” của từng loại câu hỏi này trong tương lai.

Cách sử dụng LeetCode 
Cách sử dụng LeetCode

Về mặt tâm lý, điều này cũng giúp cho mình tránh khỏi những thất vọng không cần thiết trong giai đoạn đầu tìm hiểu, kiểu như là khó thế này thì mình không làm nổi đâu, bó tay đi,..v..v…

Nhiều người có thể cảm thấy thất vọng vì bản thân không thể giải quyết được các vấn đề trên LeetCode dễ dàng. Nhưng thực tế, đây là một trạng thái thường gặp khi bạn chuyển từ nền tảng học tập trực tuyến này sang một nền tảng học tập trực tuyến khác với mức độ khó hơn.

Do đó, đọc giải pháp sớm thực sự có thể giúp tránh được cảm giác đó.

Theo mình, cách xem trước giải pháp hiệu quả hơn đối với hầu hết những ai (đang là coder) không phải là chuyên gia về thuật toán.

Lưu ý: nếu bạn chưa quen với quy trình phỏng vấn ở các công ty công nghệ lớn thì rất nên đọc cuốn này “Cracking the Coding Interview”, mô tả quá trình tuyển dụng rất chi tiết và cung cấp một số chiến thuật để giúp bạn có buổi phỏng vấn công nghệ thành công.

Có thể bạn quan tâm: Review Tài khoản CodeCademy Pro – nền tảng học lập trình không thể thiếu

LeetCode contest

Đã có một thời gian, gần 2 tháng liền, mình đã cố gắng tham gia các cuộc thi hàng tuần nhiều nhất có thể. Kết quả là: mình hầu như không bao giờ có thể giải quyết tất cả bốn câu hỏi trong suốt cuộc thi. Trung bình mình giải quyết được 2 câu hỏi, và may mắn là 3.

LeetCode là gì?
Bạn đã thực sự hiểu LeetCode là gì? Đây là một nền tảng rèn luyện kỹ năng lập trình thông qua các câu hỏi phỏng vấn và nhiều nội dung khác nữa.

Các cuộc thi như thế này “mô phỏng” môi trường phỏng vấn với giới hạn về thời gian.

  • Nếu bạn chưa quen với các câu hỏi về cấu trúc dữ liệu và giải thuật, bạn rất nên đọc các cuốn này “Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition” và tham gia khóa học “Graph Search, Shortest Paths, and Data Structures” trên Coursera.
  • Nếu bạn không hiểu nhiều về thiết kế mẫu, thì nên đọc cuốn Head First Design Patterns trước khi tham gia vào các câu hỏi trên LeetCode.

Có thể bạn quan tâm: Đánh giá và chia sẻ trải nghiệm tài khoản học lập trình online Pluralsight

Ưu điểm của LeetCode

1. Hỗ trợ rèn luyện kỹ năng sử dụng ngôn ngữ lập trình hiệu quả

Hầu hết các câu hỏi trên LeetCode đều hỗ trợ nhiều ngôn ngữ lập trình, vì vậy bạn có thể trả lời các câu hỏi này bằng các ngôn ngữ mà bạn biết rõ nhất và tránh việc học “tạp” không cần thiết.

LeetCode hiện hỗ trợ C, C #, C ++, Java, JavaScript, Python, Python3, Ruby, MySQL, MS SQL, Oracle, Bash, Swift, Go, Scala, Kotlin, Rust và PHP.

2. Tham gia thảo luận và học hỏi kinh nghiệm từ những thành viên khác

Ngoài các chủ đề về lập trình, cộng đồng người dùng LeetCode (https://LeetCode.com/discuss/) cũng là một Ưu điểm tuyệt vời của trang web này.

Bạn có thể tìm thấy rất nhiều nguồn tài nguyên hữu ích (được chia sẻ miễn phí) và tham khảo cách người khác giải quyết vấn đề và học hỏi từ những sai lầm của người khác .

Một vài chủ đề trong diễn đàn thảo luận của cộng đồng LeetCode.
Một vài chủ đề trong diễn đàn thảo luận của cộng đồng LeetCode.

Nhược điểm của LeetCode

LeetCode có tốt không?

Nếu bạn đang tìm kiếm cách để nâng cao kỹ năng lập trình của mình, thì LeetCode premium là một lựa chọn gần như hoàn hảo. LeetCode premium có vô số thông tin giúp bạn vận dụng các kỹ năng đã học được.

Tuy nhiên, LeetCode không phải là nền tảng học lập trình hoàn toàn như Codecademy. LeetCode nên được xem là một công cụ bổ trợ nếu học lập trình là mục đích chính của bạn. 

LeetCode chỉ giúp bạn rèn luyện các kỹ năng về lập trình.

Nhưng một cuộc phỏng vấn thất bại thì lý do có thể không phải là kỹ năng lập trình. Đôi khi có những người failed cũng có điểm số học tập cao từ các trường đại học hàng đầu hay có thể là những lập trình viên xuất sắc.

Nguyên nhân là kiến thức lập trình đôi khi không liên quan gì đến lý do tại sao ứng viên không được chọn . Bởi vì, thực tế ở các công ty công nghệ lớn quá trình tuyển dụng phụ còn phụ thuộc vào sự phù hợp về Văn hóa – Con người. 

Và LeetCode thì không hỗ trợ bạn ở mảng Văn hóa – Con người này.

Nguồn tài liệu tham khảo luyện tập kỹ năng phỏng vấn

Ngoài LeetCode bạn có thể sử dụng các nguồn tham khảo sau để hỗ trợ nâng cao kỹ năng phỏng vấn:

  • “Cracking the coding interview”.
  • “Cracking the soft skills”.
  • http://www.careercup.com
  • http://www.glassdoor.com (trang này rất hay bạn nhé, là những chia sẻ thực sự của người trong cuộc)
  • https://www.interviewbit.com

Buổi phỏng vấn ở một công ty công nghệ lớn (như Facebook) sẽ diễn ra như thế nào?

Có khá nhiều chia sẻ thực tế của các anh/chị/các bạn đã và đang làm việc ở Amazon, Facebook, Google… mà bạn có thể tìm thấy trên Internet. Dưới đây mình sẽ giới thiệu với các bạn một vài link như vậy (điểm chung là hầu hết các anh/chị/các bạn này đều từng sử dụng LeetCode premium trước khi tham gia phỏng vấn)

Có nên mua tài khoản LeetCode Premium

LeetCode Premium là gói đăng ký trả phí của LeetCode (bên cạnh gói miễn phí, bị giới hạn tính năng), hiện có giá $35/tháng hoặc $159/năm, cho phép người dùng truy cập vào tất cả các nội dung cao cấp, trình gỡ lỗi tích hợp (giống như Codecademy: bạn sử dụng trình biên dịch gỡ lỗi ngay trên trình duyệt web) và môi trường mô phỏng cuộc phỏng vấn.

Một số chủ đề trao đổi, thảo luận trên LeetCode
Bạn có thể học hỏi được khá nhiều kinh nghiệm phỏng vấn từ các chủ đề trao đổi, thảo luận trên LeetCode

Một điều mình đặc biệt thích ở LeetCode Premium là trang web này cho phép mình chọn Mục tiêu săn việc, tức là chọn các câu ty mình có ý định tham gia phỏng vấn. Điều này khiến cho việc ôn tập của mình được tập trung hơn và xác suất vượt qua vòng phỏng vấn cũng cao hơn.

Dữ liệu cho tính năng này được lấy từ chia sẻ của người dùng trong cộng đồng thảo luận LeetCode và được LeetCode tổng hợp từ các nguồn dữ liệu khác.

LeetCode Premium phân loại các vấn đề đào tạo theo tên công ty, như Google, Facebook, Microsoft, Amazon, Apple, Netflix, Uber, Slack, v…v… để bạn có thể thực hành một cách sát thực tế nhất.

LeetCode Premium phân loại các vấn đề theo công ty
LeetCode Premium phân loại các câu hỏi IT theo công ty

Kết luận

LeetCode premium rất đáng để đăng ký mua và sử dụng. Không chỉ vì bạn được đảm bảo sẽ “nhìn thấy” chính xác những câu hỏi giống trong cuộc phỏng vấn, mà còn giúp bạn phương pháp tìm hướng giải quyết vấn đề.

LeetCode là một công cụ tốt để nâng cao kỹ năng lập trình của bạn. Nhưng bởi vì mọi người đều đang sử dụng LeetCode  (tức đối thủ của bạn cũng có thể biết các “câu hỏi bí mật” này) và các nhà tuyển dụng công nghệ lớn cũng đều biết điều đó. Vì vậy, việc thông thạo các chủ đề được hướng dẫn trên LeetCode không đảm bảo 100% bạn sẽ có được công việc mình muốn.

Nếu bạn muốn vượt lên trên các đồng nghiệp của mình và tạo cho mình cơ hội tốt nhất để nhận được một lời mời làm việc ở một công ty công nghệ lớn, bạn sẽ cần một lợi thế tốt hơn. Và đó là chủ đề của bài viết sắp tới “Đánh giá và chia sẻ trải nghiệm tài khoản Tech Interview Pro

  • Nếu bạn cần sử dụng tài khoản LeetCode Premium với mức giá ưu đãi, hãy liên hệ với mình qua Fan Page nhé!

Có thể bạn quan tâm: Tất tần tật về Udemy: tạo tài khoản, cách đăng ký khóa học miễn phí, download khóa học Udemy…

Chia sẻ một số ebook, khóa học hay giúp bạn sử dụng LeetCode hiệu quả

  1. LeetCode in Java: Algorithms Coding Interview Questions. Ace your next coding interview by solving essential coding interview questions and get an offer from big tech company. Link đăng ký: https://www.udemy.com/course/leetcode-coding-interview-question-solution-explanation/
  2. [Bestseller] LeetCode In Python: 50 Algorithms Coding Interview Questions
    Practice data structure and algorithms questions for interviews at FAANG companies like Google, Facebook, Apple & Amazon. Link đăng ký: https://www.udemy.com/course/leetcode-in-python-50-algorithms-coding-interview-questions/ Link download khóa học này có ở thư mục chia sẻ tổng hợp cuối bài viết này.
  3. Cracking Coding Interview : Data Structure & Algorithm 2021. 100+ Leetcode problems . (FAANG) Crack your next coding interview by mastering data structures and algorithm. Linkk đăng ký: https://www.udemy.com/course/coding-interview-question-data-structures-algorithm/
  4. Cracking the Coding Interview, 6th Edition: 189 Programming Questions and Solutions. Link download có ở thư mục chia sẻ tổng hợp cuối bài viết này.
  5. LeetCode Clean Code Handbook: 50 Common Interview Questions. Download ở thư mục chia sẻ tổng hợp/Tong-hop-khoa-hoc-tieng-Anh/LeetCode.
  6. LeetCode C++ Solutions. Download ở thư mụcTong-hop-khoa-hoc-tieng-Anh/LeetCode.

 


ChiasePremium.com
ChiasePremium.com

Blog chia sẻ Kiến thức công nghệ và Trải nghiệm tài nguyên số && Hướng dẫn và Hỗ trợ sử dụng các loại tài khoản premium.

Đặt Câu hỏi hoặc để lại Bình luận - Yêu cầu của bạn

2 bình luận về “LeetCode là gì? LeetCode có thực sự giúp bạn vượt qua vòng phỏng vấn không?