Hi mọi người,

Hết tết rồi, mọi người đã trở lại với công việc của mình hết chưa? Chứ Maz đã bật laptop vào mùng 8 rồi đó. Tự dưng ngồi vào bàn làm việc mà cái lưng, cái tay, cái óc nó vẫn bồn chồn nhớ mùi bánh chưng, hương bánh tét các bạn à. Thế nên mình quyết định ngồi đánh giá hiệu quả các “solutions” trong mùa tết một tí rồi lấy mở các khóa đang học online dang dở ra làm tiếp. Trong đó có việc lần đầu tiên thực hành code trên HackerRank.

Từ lúc bắt đầu nhận lời làm trainer trong lĩnh vực data ở một trung tâm, ngoài việc mình cố gắng truyền tải kiến thức đến học viên hết mức có thể, mình cũng có cơ hội tích lũy thêm nhiều trải nghiệm: mở rộng sự hiểu biết và kĩ năng cũng ngày một được nâng cao. Dạy học không đơn thuần là đọc từ sách giáo khoa, rập khuôn theo giáo trình. Dạy học cần có sự liên tục sáng tạo. Điều này sẽ giúp cho kiến thức trong sách vở cộng hưởng với kinh nghiệm thực tiễn của người hướng dẫn mang lại hiệu quả cao nhất. Việc chinh phục nhiều chứng chỉ, cũng như tham gia các khóa học sẽ là một trong những mục tiêu quan trọng của Maz trong 2022.

Bài viết này dành cho các bạn đang tự học SQL, muốn test khả năng và đạt được chứng chỉ uy tín từ HackerRank ở cả 3 levels: basic – intermediate – advanced. Mời mọi người cùng theo dõi nhé!

Nội dung:

  • HackerRank là gì?
  • 7 tips hoàn thành 58 SQL challenges từ dễ đến khó cho tất cả mọi người
  • Đánh giá 3 bài tests: Basic – Inter – Advance về SQL của HackerRank

I. HackerRank là gì? Một số lưu ý cho người mới tham gia

Mình tìm được một bài viết rất chi tiết nên mọi người đọc ở đây cho rõ nha: ITnavi

“Nếu bạn là một nhà lập trình viên, chắc hẳn đã không còn xa lạ với thuật ngữ HackerRank này. Vậy HackerRank là gì? HackerRank thực chất là tên gọi của một trang web chuyên dụng dành cho các lập trình viên hay các doanh nghiệp hiện nay.

Cụ thể, HackerRank được coi là nơi mà các lập trình viên từ khắp nơi trên thế giới tụ họp và cùng nhau giải quyết các vấn đề trong các lĩnh vực liên quan đến khoa học máy tính như thuật toán, máy học hay trí tuệ nhân tạo. Đây cũng là nơi mà các nhà lập trình sử dụng để thực hành các mô hình lập trình khác nhau.

HackerRank được xem là một không gian học tập, trau dồi và rèn luyện những kiến thức hữu ích của các lập trình viên. Tại đây họ không chỉ được học hỏi mà còn có thể thể hiện được mình khi so tài với các đối thủ khác trong ngành trên toàn thế giới.

II. 7 Tips giúp bạn sớm hoàn thành tất cả 58 SQL challenges của HackerRank

Tip 1: Chuẩn bị kiến thức nền tảng về SQL

Nếu bạn là người chưa biết gì về SQL thì trước khi bắt tay vào thực hành và làm test trên HackerRank, hãy học qua một lượt kiến thức tổng quan. Ít nhất bạn phải biết được:

  • SQL là gì?
  • SQL dùng để làm gì?
  • SQL có các loại biến thể nào?
  • Các main concepts: database, schema, table, column, …

Bạn có thể học qua sách hoặc các web hướng dẫn online. Ở đây mình trích một số nguồn tự học để mọi người tham khảo:

Ngoài ra mình có nghiên cứu xong một quyển sách và một nền tảng online. Mà theo mình đánh giá là đầy đủ, bài bản và tiện lợi nhất trong các sách và tools mình biết. Nếu bạn nào muốn nhận thêm tài liệu và hướng dẫn này, hãy để lại email bằng cách comment dưới blog hoặc trong bài đăng ở fanpage. Maz sẽ gửi riêng cho bạn nhé

Tip 2: Nắm rõ kiến thức các câu lệnh DQL (data query language)

Vai trò lớn nhất của SQL đối với các bạn làm phân tích là trích xuất và biến đổi data theo yêu cầu từ các cơ sở dữ liệu. Vì thế việc nắm rõ các câu lệnh trong nhóm DQL là vô cùng cần thiết. HackerRank không phải là platform hướng dẫn học SQL, nên bạn bắt buộc phải chuẩn bị các kiến thức này từ trước.

Các bạn có thể tham khảo lại các cấu phần quan trọng khi học SQL trong Hướng dẫn tự học các cấu phần quan trọng của SQL cho người làm phân tích

Các lệnh quan trọng của nhóm DQL

Tip 3: Nên thực hành theo thứ tự Easy – Medium – Hard

Trong 58 challenges của HackerRank sẽ bao gồm các chủ đề theo 3 mức độ: easy – medium – hard

  • Select:
    • Basic
    • Advance
  • Join
    • Basic
    • Advance
  • Aggregation
  • Alternative queries

Hacker sẽ sắp xếp cho mọi người học theo từng chủ đề. Tuy nhiên, bạn sẽ dễ chán nản nếu gặp ngay những bài Hard hoặc Medium ngay từ đầu. Vì thế lời khuyên của mình là hãy thực hành những challenge mức độ Easy trước, sau đó hẵng bắt tay vào các bài ở level cao hơn nhé.

Còn 2 bài nữa mà khoai quá

Tip 4: Chọn đúng loại biến thể SQL muốn thực hành

Mình đã bị vướng một bài tập ngồi sửa code đến gần 30 phút vẫn chưa ra kết quả. Sau đó mình phát hiện ra chọn nhầm loại biến thể SQL là MySQL trong khi ngôn ngữ đang viết là MS SQL Server. Holy shit! Mất quá trời thời gian và não vắt óc tìm lỗi cho một sự nhầm lẫn không đáng có.

HackerRank hỗ trợ bạn viết code với 4 loại biến thể SQL khác nhau. Vì thế bạn cần xác định loại mình muốn sử dụng để tránh trường hợp viết code đúng nhưng cứ bị báo lỗi sai syntax nhé.

Tip 5: Hiểu rõ yêu cầu đề bài giúp bạn hoàn thành chỉ với một nửa thời gian

Khi thử một vài bài tập đầu tiên, lúc đấy mình chưa quen với cấu trúc đề cũng như “phong cách” đặt câu hỏi của HackerRank nên làm sai rất là nhiều lần. Tại sao code chạy ra kết quả sai, trong khi mình code hoàn hảo mà nhỉ! Thật là “ngu ngốc” khi sau đó mình phát hiện ra làm thiếu điều kiện trong câu hỏi, vì vậy mà kết quả sai vẫn sai. Hic!

Bạn sẽ rất dễ rơi vào trường hợp này nếu như đọc đề quá vội và để sót yêu cầu. Vì thế đôi khi chậm mà chắc. Đọc thật kĩ bài toán, xem thật hiểu các schema, tables và mối quan hệ giữa các bảng để tránh hiểu nhầm hoặc hiểu sai bạn nhé.

Tip 6: Luôn luôn hiểu rõ và kiểm soát data bạn đang xử lý

Khi thực hành 58 bài tập, bạn sẽ làm quen với nhiều bảng dữ liệu khác nhau. Vì thế xem kĩ cấu trúc bảng dữ liệu ban đầu. Trong lúc viết code cố gắng hình dung sự thay đổi các bảng dữ liệu để luôn kiểm soát được các câu lệnh của mình. Cứ bấm “Run Code” khi bạn thực hiện từng dòng code để kiểm tra kết quả và so sánh với đáp án. Phân tích từng bước sẽ giúp bạn dễ dàng tìm ra đáp án chính xác một cách dễ dàng hơn.

Tip 7: Tìm sự trợ giúp nếu thấy cần thiết

Đừng để mình dừng lại ở một challenge nào quá lâu khi đã cố gắng suy nghĩ và tìm hướng giải quyết trong một thời gian nhất định. Ví dụ, sau 20-30 phút vẫn chưa hoàn thành thì bạn nên tham khảo trên Google. Có rất nhiều người đã tìm ra lời giải, bạn nên tham khảo nó với 2 mục tiêu:

  • Phân tích để tìm ra phương pháp mà người ta đã làm thành công, từ đó tích lũy thêm cho mình một kiến thức mới.
  • Luôn giữ cho mình động lực để tiếp tục vượt qua các challenges kế tiếp. Bạn sẽ tránh được cái cảm giác chán nản khi giải 1 bài mãi không ra và có thể bỏ cuộc.

Copy câu hỏi vào Google, bạn sẽ tìm được nhiều sự trợ giúp lắm ^_^

III Chinh phục 3 SQL Certificates của HackerRank

Ngoài việc cung cấp một hệ thống bài tập để các bạn thực hành thì HackerRank còn có 3 bài test với 3 mức độ: Basic – Inter – Advance. Khi hoàn thành bài test các bạn sẽ được cấp một chứng chỉ tương ứng. Có chứng chỉ trong tay, bạn có thể đính kèm “làm đẹp” thêm profile của bản thân.

Do bản thân mình đã có kinh nghiệm SQL từ trước nên mình đã làm 3 bài tests trước khi hoàn thành 58 challenges. Cũng mạo hiểm ha, nhưng mình cũng muốn thử đánh giá năng lực xem có đạt ngay lần đầu làm test hay không. Và kết quả là mình passed cả 3 levels ngay từ lần đầu tiên trong vòng 1 tiếng. Sau đó mình quay lại giải quyết các challenges.

Mình đánh giá, 3 bài tests của HackerRank có nội dung nằm trong 4 topics mình đã kể ở trên.

  • Basic: Test về các lệnh Select
  • Inter: Test về các lệnh JOIN, có dùng thêm CTE và Subquery
  • Advance: Test JOIN, PIVOT và một vài thủ thuật khó hơn một tí
Đề trong bài test Inter nè

Nếu bạn nào đã có kinh nghiệm với SQL rồi thì có thể bắt tay làm test để lấy certificate ngay lập tức. Mình nghĩ Basic và Inter thì các bạn hoàn toàn dễ dàng đạt được.

Nếu bạn là người mới, thì mình khuyên rằng hãy học qua một lượt tất cả các kiến thức trong Tip 1 & 2 mình kể trên, hoàn thành ít nhất 70% challenges thì hoàn toàn có thể passed được 2 bài test Basic và Inter. Tự tin lên nhé!

Kết

Đầu tư cho bản thân luôn là khoản đầu tư siêu lợi nhuận. Maz đặt mục tiêu mỗi tháng sẽ học thêm 1-2 khóa học mới. Có thể là kiến thức hoặc kĩ năng cần cho cuộc sống và công việc của Maz. Hi vọng rằng mọi người cũng có thêm động lực học tập để bạn của ngày mai luôn tốt hơn bạn của hôm trước nhé.

Cám ơn vì đã ghé qua. Nếu thấy hữu ích, giúp Maz share với nhiều người thêm nhe.

Follow Maz tại đây để cùng cập nhật thông báo mỗi khi có bài viết mới nhé:

Maz.

** Mọi thông tin trên blog đều thuộc bản quyền của blog Maz Nguyen. Vui lòng đọc kĩ Copyright Notice trước khi copy hoặc đăng tải lại nội dung/hình ảnh của bài viết **

Maz có một dự án dạy học ở đây: Maz Học Data với SQL là course đầu tiên, bạn có thể tham khảo qua nếu thấy cần thiết nhé.

error: Content is protected !!
142
0
Would love your thoughts, please comment.x
()
x