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: 08/04/2021 | | 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 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.

LeetCode là gì?

LeetCode đúng hơn là một công cụ (trang web) hỗ trợ và nâng cao kỹ năng lập trình thường được dùng ở các công ty công nghệ hàng đầu thế giới. Như vậy 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…

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 phải 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, nó 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 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ó gầ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ó.

Leetcode là gì

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à ghi nhớ các giải pháp (kiểu học thuộc lòng để 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ột 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  là vô cùng 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 trong tương lai.

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

Về mặt tâm lý, cũng giúp cho mình tránh những thất vọng không cần thiết trong giai đoạn đầu tìm hiểu, kiểu như, 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 đề 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 điều đó. Mình biết một số bạn có thể không đồng ý với điểm này.

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 giải quyết, và may mắn là 3.

LeetCode contest
LeetCode contest

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

Lưu ý: 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 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 hiều ngôn ngữ lập trình

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. Thảo luận

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í) để 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.

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 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 và làm việc. Đ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à tổng hợp từ các xu hướng.

LeetCode Premium phân loại các vấn đề bổ sung theo công ty để bạn có thể thực hành các vấn đề phù hợp nhất cho các cuộc phỏng vấn sắp tới của mình tại Google, Facebook, Microsoft, Amazon, Apple, Netflix, Uber, Slack, v…v…

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

 

LeetCode có tốt không?

Nếu bạn đang tìm kiếm một 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ố vấn đề 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 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. 

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

Đó là 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 và đôi khi có thể là những lập trình viên xuất sắc.

Vấn đề chính 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ụ thuộc còn phụ thuộc vào sự phù hợp về Văn hóa – Con người và, cũng đôi khi chỉ có khoảng vài chục phần trăm là phụ thuộc vào kỹ năng lập trình .

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

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 trước khi tham gia phỏng vấn)

Bạn có nên mua tài khoản LeetCode premium không?

LeetCode premium vẫn đáng để đăng ký mua và sử dụng. Không hẳn 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 nhau 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)— và các nhà tuyển dụng công nghệ lớn đều biết điều đó — do đó, việc thông thạo các chủ đề được hướng dẫn trên LeetCode là không đảm bảo bạn 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


Chia sẻ một số khóa học hay về Power BI

Dưới đây mình sẽ chia sẻ link tải một số khóa học hay về Power BI (được tải về từ nguồn chia sẻ trên Internet, đã loại bỏ quảng cáo và upload lên OneDrive) – rất hữu ích cho các bạn đã và đang tìm hiểu về phần mềm này hoặc đang cần tìm hướng dẫn ứng dụng để phân tích dữ liệu cho doanh nghiệp.

Danh sách các khóa học đang chia sẻ:

  • Udemy – Microsoft Power BI – Up & Running With Power BI Desktop
  • Udemy – DAX – Mastering DAX Foundations for Power BI
  • Udemy – Learn Excel Power Query, Power Pivot, DAX & Power BI
  • Udemy – Power BI Beginner – Learn the Essentials of Power BI Fast!
  • Udemy – Power BI DAX secrets – (Learn DAX formulas for Power BI)
  • Udemy – Power BI Master Class – Dashboards and Power BI Service 2020

Link tải Onedrive ở thư mục chia sẻ tổng hợp /Udemy/Power BI-VBA-Data/ cuối bài viết này.


 

   

(*)Thư mục Chia sẻ tài nguyên số Tổng hợp

Để xem tất cả nội dung ở Thư mục chia sẻ tổng hợp(khóa học, tài nguyên đồ họa, tài nguyên học tập, phim, nhạc...) và Tải về tài nguyên mình cần, bạn xem bài viết này trên máy tính và ấn nút Share ngay dưới đây nhé. Video hướng dẫn chi tiết: https://www.youtube.com/watch?v=6E14uaSsk8M            

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.

Viết một bình luận