một. Học kĩ và nắm vững căn bản trước
lúc mới học code, những tri thức cơ bản khóa học lập trình như: hàm, biến, mảng, vòng lặp là những thứ nền móng của tư duy lập trình. Bạn phải hiểu cách thức biến, mảng lưu giữ giá trị, cách tách hàm ra sao thì mới ra có thể ứng dụng chúng vào giải quyết vấn đề.
Học sâu hơn, sau 1 thời kì, bạn sẽ biết mang các thuật toán, cấu trúc dữ liệu khác ngoài mảng. Mỗi cấu trúc dữ liệu sẽ với điểm tốt nhược điểm riêng, nhưng bạn phải hiểu rõ chúng thì mới biết bí quyết tư duy, áp dụng vào bài toán.
giả tỉ, bài toán đề xuất lưu trữ danh sách một triệu sinh viên, tra cứu sinh viên theo mã số sao cho nhanh nhất:
ví như chỉ biết về mảng, bạn sẽ lưu tất cả 1 triệu sv này vào một mảng, sau đấy loop để sắm từng sinh viên.
giả dụ nắm vững về cấu trúc dữ liệu, bạn sẽ biết cấu trúc HashMap/Hashtable rất thích hợp để lưu trữ, lấy dữ liệu theo dạng key-value, tra cứu rất nhanh với độ phức tạp O(1)
Về sau, khi học những thứ khó hơn, cao siêu hơn như thư viện/framework cũng vậy; chỉ cần bạn nắm vững cơ bản của chúng thì sẽ dễ học, dễ áp dụng hơn phổ quát.
hai. Làm bài tập về thuật toán
Để sở hữu tư duy phải chăng, phải nắm vững cơ bản. khóa học lập trình cho trẻ em Nhưng làm sao để nắm vững chúng bây giờ??
bật mí nhỏ nè, dù bạn sở hữu học kĩ lý thuyết đến mấy, chúng cũng chỉ là … lý thuyết thôi! Để nắm vững kiến thức lập trình, thuật toán, bạn phải chịu thương chịu khó .. Làm cho bài tập để áp dụng chúng.
ví dụ như một bài toán mà Google hay hỏi: khiến sao để thăng bằng 1 cây nhị phân (binary tree). Bài toán này sẽ mang nhiều phương pháp giải:
sở hữu cách giải thuần tuý nhưng ko optimize
có cách thức giải gọn nhưng khó hiểu
mang bí quyết độ phức tạp cao nhưng ko cần memory
sở hữu cách chạy nhanh nhưng tốn memory
khi giải những bài tập này, bạn sẽ học được cách ứng dụng những cấu trúc dữ liệu vào thực tế, bí quyết viết code cho chúng chạy ra sao.
Nguồn học thì trên mạng có cũng phổ quát, mình chỉ giới thiệu một số sách/web hay nên học:
Sách Cracking the Coding Interview
Sách Algorithm 4th Edition
những trang thi thố, giải bài tập code: Hackerank, Code Fight…
3. Khiến cho sản phẩm để với tư duy sản phẩm
Việc giải bài tập sẽ rèn cho bạn cách tư duy, bí quyết giải quyết những vấn đề nhỏ. Không những thế, lúc đi làm thực tại, những Công trình phần mềm đa phần là những trở ngại … to to, do đa dạng vấn đề nhỏ ghép lại.
Xem thêm =>>https://mindx.edu.vn/blog/post/kinh-nghiem-hoc-lap-trinh
do đó, bên cạnh tư duy thuật toán, tư duy sản phẩm cũng rất quan yếu. Nó sẽ giúp bạn phát hiện được sản phẩm cần các tính năng gì, khi Công trình bự lên thì code như thế nào cho ko bị rối, dễ bảo trì.
bởi vậy, sau khi làm cho toán phổ quát, Anh chị em có thể khiến cho 1 số pet project nhỏ để luyện kĩ năng sản phẩm. Bạn sẽ vô cùng kinh ngạc trước những thứ mình mang thể học được như:
cách thức nghĩ requirement cho sản phẩm
cách thức thiết kế flow, UI/UX cho phải chăng
cách công ty code trong một project
Hiểu sâu hơn về tiếng nói lập trình, về những khoa học mình sử dụng
nếu bạn đã đi làm, đừng nghĩ là mình đã khiến cho Công trình thực tại rồi, cần gì phải khiến cho pet project nhé!
Đa phần các Công trình thực tại đã sở hữu cấu trúc sẵn, với qui trình rõ ràng, với design khiến cho hết, công việc của chúng ta chỉ sở hữu implement là rộng rãi. Tự làm một Dự án từ đầu, bạn sẽ học được phổ biến điều hơn đấy!
ví như Cả nhà mới học, muốn khiến cho Công trình nhưng chưa mang ý tưởng thì có thể tham khảo bài những project nhỏ bạn với thể dùng để tập luyện nha.
4. Học rộng hơn, học các thứ mình chưa biết
1 trong các cách hiệu quả để đoàn luyện tư duy lập trình, ấy là học hỏi phương pháp người khác tư duy; học những thứ khác hoàn toàn sở hữu những thứ mình hay tiêu dùng để học cách thức tư duy mới:
Trước giờ bạn làm việc có những ngôn ngữ static typing như Java, C#, cảm thấy phải khai báo đủ thứ method, class rất mệt mỏi? Hãy thử các ngôn ngữ dymanic typing như Python, JavaScript sida để xem code với thể viết ngắn gọn ra sao. (Các bạn Python cũng nên thử Java, C++ xem).
Hoặc trước giờ Cả nhà code tiêu dùng OOP, tạo class và hàm, kế thừa v…v. Hãy thử sử dụng Scala, Haskell hoặc JavaScript, code theo cá tính Functional Programming, sử dụng function thay vì class xem sao!
ko chỉ gói gọn trong ngôn ngữ, bạn khiến cho back-end có thể thử học front-end để chửi thề sở hữu CSS, JavaScript; bạn là front-end có thể học back-end để nhức đầu sở hữu server configuration, sở hữu SQL.
Học một thứ mới, bạn sẽ với cái nhìn rộng hơn, tổng quát hơn về ngành nghề mình; cùng lúc mở rộng đầu óc, tăng khả năng tư duy của bạn.
nói nhỏ nhé, giả dụ muốn khiến cho full-stack developer thì cũng phải nắm đủ thứ hết ấy: từ front-end, back-end, security, database, DevOps đủ cả!