• 0909.804.713 / 0896.446.753
  • cskh@laptrinhjavaweb.com

Lộ trình học lập trình java core backend như thế nào cho người mới bắt đầu học, chưa biết gì về Java cơ bản miễn phí

Nội dung này dành cho các bạn mới bắt đầu học lập trình java chưa biết gì về Java cũng như bạn nào muốn ôn tập lại Java để chuẩn bị đi phỏng vấn

Nếu bạn chưa có kiến thức cơ bản về lập trình thì bạn nên bổ sung trước nhé, còn đã có rồi thì cùng đọc thôi nào hihi

Laptrinhjavaweb chia sẻ chút tâm tình về ngôn ngữ lập trình Java để các bạn có thể an tâm học lập trình java và chọn nó là ngôn ngữ lập trình cho sự nghiệp của mình nhé

Đầu tiên, job có nhiều không? Không nói nhiều, các bạn có thể lên itviec, topdev để search các job về ngôn ngữ lập trình Java, rất nhiều nhé

Thứ 2, ngôn ngữ lập trình Java được dùng rất nhiều trong các dự án nội bộ công ty, các dự án về Banking (ngân hàng), Insurance (bảo hiểm) mà các dự án này thường business nhiều, phức tạp nên khi làm việc các bạn học được rất nhiều thứ hay ho

Thứ 3, hiện nay Java được Oracle chống lưng nên được update rất nhiều và càng ngày công nghệ càng ngon và hay

Và còn nhiều thứ khác nữa, cùng tìm hiểu nhé

Khóa học java core backend cơ bản nâng cao tại Laptrinhjavaweb Academy

 

Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí

- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT

- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT

- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT

- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản

1. Java backend api web service: CHI TIẾT

2. Thiết kế website

2.1 Thiết kế website cơ bản: CHI TIẾT

2.2 Thiết kế website nâng cao: CHI TIẾT

- Học spring framework không sử dụng spring boot: CHI TIẾT

Phần 1: Học Java core, Database (SQL) trong học lập trình java core cho người mới bắt đầu

Thời gian để bạn có thể hoàn thành phần 1 này thông thường sẽ là 1 năm nếu bạn tự học, tự tìm tòi nghiên cứu

Tuy nhiên nếu có người hướng dẫn, chỉ bảo, training thì thời gian sẽ rút ngắn hơn rất nhiều

1. Học Java core trong lộ trình học lập trình java cho người mới bắt đầu

Phần cơ bản

- Biến, toán tử, vòng lặp, điều kiện, java String, java Array …

Và những kiến thức khác

Phần nâng cao

- Hướng đối tượng trong java (Java OOP)

- Java Collection, Generic, reflection, networking, multithread, annotation …

- Java IO, Java Exception …

- Học thêm về các tính mới trong: Java 8 -> 22

Và những kiến thức khác

Hiện tại Laptrinhjavaweb có 1 khóa học về java cơ bản miễn phí do Laptrinhjavaweb biên soạn, bạn xem tại đây nhé: TỰ HỌC LẬP TRÌNH JAVA

2. Học database (SQL) trong học lập trình java core cho người mới bắt đầu

- Các bạn có thể chọn 1 trong các hệ quản trị sau: mysql, sql server, postgreSQL, oracle … (Đa phần thấy các bạn chọn mysql, sql server. Tuy nhiên, khi ra công ty họ bắt học gì thì các bạn nhớ học thêm cái đó nha)

- Học cách design database như thế nào, các kiến thức liên quan tới SQL, CSDL (cơ sở dữ liệu) có quan hệ ...

- Tìm và giải các bài toán về SQL để thực hành các phần lý thuyết đã học

Dưới đây là 1 số tài liệu học SQL miễn phí, các bạn học thử xem nội dung nào phù hợp nhé

- Học SQL tại w3schools: w3schools.com/sql/default.asp

- Học SQL tại javatpoint: javatpoint.com/sql-tutorial

- Học SQL tại tutorialpoint: tutorialspoint.com/sql/index.htm

3. Áp dụng kiến thức Java và Database (SQL) ở phần 1 và 2 kết hợp với nhau để viết phần mềm quản lý sử dụng Java console trong học lập trình Java core cho người mới bắt đầu

Sau khi học qua Java core và database tương đối tạm ổn thì các bạn nên áp dụng nó vào 1 project bất kì, theo Laptrinhjavaweb thì các bạn nên xây dựng phần mềm quản lý như quản lý sinh viên, quản lý kho, quản lý bán hàng ... để thực hành cũng như rèn luyện lại kỹ năng java, database. Chú ý phần mềm quản lý phải phức tạp, logic nhiều nhé không nên sử dụng các phần mềm quản lý quá đơn giản vì sẽ không áp dụng được nhiều kiến thức của các phần Java và Database (SQL)

Vậy tại sao phải áp dụng vào 1 project phần mềm quản lý java console phức tạp, có logic nhiều ? Vì để có thể học lên những kiến thức cao hơn, chuyên sâu hơn mà không thấy cảm thấy mệt mỏi, ngợp, đuối thì các bộ kỹ năng như code logic, fix bug, tìm tài liệu ... cần được cải thiện song song với các kiến thức nền tảng. Vì vậy, việc làm project java console phức tạp sẽ giúp bạn dễ dàng cải thiện những vấn đề trên, còn project java console đơn giản sẽ rất khó để cải thiện vì với mức độ quá dễ sẽ ít gặp nhiều trường hợp khó để thực hành. Tóm lại, project phức tạp là 1 lực chọn khá hợp lý nhé.

Hiện tại Laptrinhjavaweb có biên soạn 1 số khóa học xây dựng các project phức tạp miễn phí, các bạn học nhé

- Xây dựng phần mềm quản lý bán hàng sử dụng java console, jdbc: CHI TIẾT

- Xây dựng phần mềm quản lý bán hàng sử dụng java console, Hibernate: CHI TIẾT

Laptrinhjavaweb Software cung cấp: Java Hosting, Cloud VPS, Tên miền, SSL, Email server và các dịch vụ phần mềm khác

Phần 2: Học Java web backend trong học lập trình java core cho người mới bắt đầu

Dạo gần đây Laptrinhjavaweb gặp rất nhiều bạn mới, chưa biết gì học Java web và đặt câu hỏi: Để lập trình web với java, học java web backend, lập trình java web, thì họ nên bắt đầu từ đâu? Mới bắt đầu thì học như thế nào cho hiệu quả? Do đó, hôm nay Laptrinhjavaweb sẽ hướng dẫn các bạn lộ trình học java web hiệu quả phần 1

1. Một số quan điểm về các bạn hiện nay học lập trình web với java!

Lộ trình học java web lấy từ bản thân đã đúc kết được từ quá trình học và làm sau 1 khoảng thời gian cũng kha khá, do đó, đây là quan điểm cá nhân, các bạn thấy hợp lý thì chia sẻ, còn chưa hợp lý thì các bạn cũng comment để chúng ta trao đổi thêm nhé

Một số sai lầm của 1 vài thanh niên học java web là bỏ qua những kiến thức nền tảng của Java Web, cụ thể là JSP, Servlet, JDBC mà đú qua luôn nào là SPRING, nào là JPA, nào là HIBERNATE!

Bản thân Laptrinhjavaweb đang đào tạo về Java Web cơ bản đến nâng cao, khi đặt câu hỏi cho các bạn trong lớp về những kiến thức nền tảng và thật đáng buồn là 99% không biết gì (không biết gì ở đây là các bạn học không đàng hoàng, học qua loa, học chỉ để là mình đã từng học chứ các bạn chưa thực sự hiểu cách học như thế nào, cụ thể như là: JDBC hoạt động ra sao, cách nhận request trong Servlet có mấy cách, nêu tên từng cách, commit, rollback trong JDBC là gì, MVC trong JSP Servlet hiểu như thế nào là hợp lý …) hàng tá câu hỏi mà Laptrinhjavaweb chỉ nhận được cái lắc đầu dễ thương, thì Laptrinhjavaweb tin các anh em ngoài kia cũng không ngoại lệ.

Rồi, vào thẳng vấn đề, không vòng vo nữa:

Đầu tiên, làm ơn mấy thím mà chuyển ngành, chuyển nghề hay mới học lập trình, muốn học Java Web thì làm ơn học lập trình cơ bản trước giùm cái. Mua sách hay lên mạng xem nội dụng của “kĩ thuật lập trình”, “Cấu trúc dữ liệu giả thuật” … xem nó dạy gì trong đó, học tầm 1 năm ok rồi thì chuyển qua học Java cơ bản

Còn thím nào đã có cơ bản về lập trình rồi, đã có học qua Java cơ bản (chú ý học ở đây là tự build được 1 project gì đó nho nhỏ như quản lý học sinh, sinh viên … viết trên nền console rồi thì mới nói là biết nha các tình yêu!) thì học cơ sở dữ liệu dùm cái, học để biết các quan hệ trong Database là những gì, chúng được sử dụng như thế nào, cách viết và sử dụng các câu SQL ra làm sao …

Rồi những thím nào mà đã có cơ bản về lập trình, đã biết 1 chút qua Java cơ bản, cơ sở dự liệu thì bây giờ xem qua Java Web là hợp lý nhé. Học lập trình và cụ thể là lập trình Java Web không phải là chuyện như ăn 1 bát cơm hay uống 1 ly nước, phải có tuần tự, có lộ trình thì mới ra ngô, ra khoai, ra tiền được nhen quý vị!

2. Hướng dẫn học jsp servlet trong lập trình web với java

Học JSP: do chúng ta tập trung backend là chính (Laptrinhjavaweb không phải Fullstack do đó đừng nói Laptrinhjavaweb tư vấn Fullstack nha, plz) nên giao diện dùng Bootstrap nhé, vì sao? vì nó dễ học. Để xứ lý logic trên giao diện, dùng jquery nhé các bạn

Kiểu gì cũng có các em vào chém nghe đâu jquery sắp chết, chết cái quần ý, hệ sinh thái của nó còn cả nùi, nói chết là chết ah. Rồi tại sao lại học jquery, vì nó cũng dễ, thế thôi.

Chúng ta không chuyên Front-end do đó, hãy tìm những thứ dễ nhất mà học, đừng tỏ ra nguy hiểm rồi lại bảo Java Web khó.

Đó mới là cách thiết kế giao diện và xử lý logic trên giao diện, JSP có những thứ ngon hơn nhiều, đó là các thư viện support cho JSP như JSTL, Function … học tới đâu cần thì chúng ta cập nhật tới đó vì nói ra thì nhiều lắm

Servlet: tìm hiểu @WebServlet để hiểu cách gửi request như thế nào, RequestDispatcher là gì, cách bind data ra JSP (view) dùng request.setAttribute ra làm sao

Đặc biết áp dụng kiến trúc MVC vào thiết kế cho gọn, tách biết phần code cũng như Logic java và HTML làm các phần riêng biệt. Laptrinhjavaweb thấy trên mạng chỉ code hết vào JSP (HTML và Java răng môi lẫn lộn muốn phát hờn)

Học cách chia layer theo mô hình 3-tier, chia package rõ ràng.

Xem thêm: JSP SERVLET LÀ GÌ ? HỌC LẬP TRÌNH WEB VỚI JAVA JSP SERVLET

Phần 3: Sau khi các bạn đi làm Java được >= 2 năm kinh nghiệm tại công ty thì áp dụng nhé

Lưu ý, bài viết này không áp dụng cho các bạn mới học Java, chưa đi làm, chuẩn bị đi làm hoặc mới đi làm tại công ty < 2 năm kinh nghiệm

Các lĩnh vực dưới đây đều là những lĩnh vực mới, do đó thời gian để các bạn có thể phù hợp học thêm rơi vào tầm >= 2 năm kinh nghiệm

1. Học chuyên sâu về database (Database administrator)

- Đây là 1 công việc chuyên biệt, họ dùng gần như 100% SQL để xử lý công việc (tức là bao gồm các logic phức tạp cũng xử lý bằng SQL luôn) 

- Dĩ nhiên đây chỉ là 1 phần công việc trong 1 hệ thống, nó cần kết hợp với backend ... nữa

- Đối với công việc này bạn sẽ phải thường xuyên làm việc với các kĩ thuật như: Store Produce, Function, Trigger, design kiến trúc database ....

Và nhiều kiến thức chuyên sâu khác liên quan

2. Học chuyên sâu về DevOps

- Đây là công việc giúp chạy 1 sản phẩm ổn định trên môi trường Production (môi trường thực tế và khách hàng sử dụng)

- Khi học kĩ năng này, bạn sẽ làm việc với server, network, cách deploy 1 ứng dụng lên môi trường thật như thế nào, cấu hình server, môi trường ... 

- Bạn cần trang bị các kiến thức liên quan đến Linux, các cloud platform khá phổ biến hiện nay như: AWS, azure, các kĩ thuật build code tự động (CI/CD) như: Jenkins ...

- Các kiến thức liên quan đến quản lý Container như: Docker, Kubernetes ...

Và nhiều kiến thức chuyên sâu khác liên quan

Xem thêm: laptrinhjavaweb.com/java-developer-2-nam-kinh-nghiem-nen-hoc-gi-134

Laptrinhjavaweb Shop cung cấp áo thun lập trình, phụ kiện điện thoại, phụ kiện laptop, PC, phụ kiện công nghệ

Phần 4: khi đi làm tại công ty, làm thế nào để gia tăng thu nhập vượt bậc và thăng tiến lên các vị trí quan trọng trong công ty

Nội dung chia sẻ về khi chúng ta mới đi làm, hoặc đi làm một thời gian, làm sao chúng ta có thể thăng tiến, cũng như gia tăng thu nhập. Tất nhiên, việc thăng tiến đồng nghĩa với gia tăng thu nhập, không thể nào ở một vị trí mà đòi tăng thu nhập được, cũng không hợp lý. 2 yếu tố này phụ thuộc vào nhau.

Chúng ta sẽ chia thành 2 giai đoạn: mới đi làm và đã đi làm 1 thời gian. Mới đi làm chưa có kinh nghiệm nhiều. Còn khi đã đi làm 1 thời gian rồi, đã có kinh nghiệm rồi. Từng giai đoạn sẽ xây dựng những hướng khác nhau.

Giai đoạn mới đi làm, chúng ta cần phải làm sao để những người quản lý ở trên ấn tượng với chúng ta, sau khi ấn tượng, một thời gian sau, họ sẽ cân nhắc đưa các bạn lên vi trí cao hơn. Vậy thì, khi mới đi làm có thể tạo được ấn tượng cho quản lý? Đây không hẳn là cách thể hiện khi mới đi làm, mà khi đi làm một thời gian vẫn phải duy trì thái độ như vậy.

Thường các bạn mới đi làm có tâm thế, chỉ làm tròn việc thôi. Công ty giao cho bạn công việc A, các bạn chỉ đơn thuần giải quyết xong công việc A rồi ngồi chơi. Đó không phải cách có thể gây ấn tượng. Vậy thì các bạn nên xử lý theo 1 cách khác, khi được giao công việc A và sau khi làm xong, các bạn thực hiện các bước sau: Thứ nhất, nếu các bạn làm việc xong trước thời hạn được cho phép. Ví dụ, quy định công việc làm xong trong 3 ngày, mà 2 ngày các bạn đã làm xong, đừng ngồi chơi, phải thông báo cho họ biết là mình đã hoàn thành.

Nhưng câu chuyện chưa dừng ở đó nhé, phải tiếp tục hỏi thêm còn việc gì làm không. Tức là, làm xong rồi, đừng ngồi đó để đợi người ta phải hỏi và giao việc tiếp. Các bạn làm xong rồi ngồi đó, chỉ hoàn thành xong công việc của mình là bình thường. Tuy nhiên, các bạn phải hiểu, công ty tuyển các bạn vào và trả lương cho các bạn thì việc hoàn thành công việc là trách nhiệm của các bạn. Các bạn đừng để nhầm lẫn giữa trách nhiệm của các bạn và lợi thế cạnh tranh. Có nhiều bạn đang nhầm lẫn “tôi đã hoàn thành công việc và thậm chí trước thời hạn”, nhưng đây chỉ là trách nhiệm của các bạn. Nguyên tắc là công việc đó tôi đang trả tiền để anh làm và anh hoàn thành tốt, anh làm không tốt hoặc làm tầm bậy, tôi đuổi việc ngay.

Đấy là trách nhiệm của anh, không phải là lợi thế cạnh tranh, và chính lợi thế cạnh tranh sẽ giúp các bạn tạo được ấn tượng, được người khác để ý. Làm xong trước thời hạn phải chủ động thông báo và xin thêm việc. Người ta sẽ kiểm tra những người khác đã hoàn thành chưa, những người đó còn việc không, nếu còn sẽ đưa qua cho các bạn làm. Và cứ như vậy, sếp sợ bạn luôn, làm đã nhanh còn đòi thêm việc để làm. Chính điều này làm họ ấn tượng với bạn, và ngay lập tức các bạn sẽ thấy tín hiệu là khi review lương, các bạn sẽ được đề cử tăng lương ngay. Và thêm nữa, sau một thời gian, 1 năm hoặc 1,5 năm các bạn sẽ được cân nhắc lên dần dần các vị trí cao hơn. Sai lầm của các bạn là làm tròn vai. Ví dụ như trong bóng đá, các bạn thấy có ai đá ở clb tròn vai được gọi lên đội tuyển quốc gia không ? Vậy nên bài toán đặt ra là gì, khi các bạn chỉ làm tròn vai, và đến giai đoạn review lương, không được tăng lương, các bạn giận hờn vu vơ, tại sao các bạn làm việc như vậy, hoàn thành như vậy lại không được tăng lương.... quan trọng có ai chia sẽ rằng bạn đang gặp phải những vấn đề như vậy không? Bản thân công ty trả tiền để các bạn hoàn thành công việc đó, đó là trách nhiệm.

Và nội dung chia sẻ đó áp dụng cho luôn trường hợp đã đi làm một thời gian, đều như vậy. Các bạn phải hiểu lợi thế cạnh tranh của bạn là gì? Tròn vai là như thế nào? Các bạn đừng nhầm lẫn giữa 2 khái niệm này, đừng tưởng việc tròn vai là lợi thế cạnh tranh, hoàn thành công việc mà không được ghi nhận vì đấy là trách nhiệm bắt buộc bạn phải hoàn thành. Cái dở của các bạn là khi các bạn được review, các bạn có thể chủ động hỏi “Anh ơi, e không được cái này, cái kia thì vấn đề nằm ở đâu?” Nhiều bạn, không chủ động trong vấn đề hỏi nguyên nhân, ví dụ, làm lâu rồi sao không được cân nhắc lên trong khi có những người mới vô lại được lên? hoặc tại sao làm lâu rồi lại không được tăng lương? Các bạn thường không tìm nguyên nhân, hễ xảy ra gì, các bạn nghỉ việc, nhảy việc, chuyển công ty khác. Các bạn không tìm nguyên tại sao, nhiều khi nguyên nhân phần lớn là do chúng ta mà chúng ta không biết, chỉ cần cải thiện thêm là ngay lập tức được ghi nhận, nhưng chúng ta lại không hỏi. Vậy mấu chôt, khi có vấn đề, các bạn đừng im lặng hoặc tự xử sự mà các bạn cần trao đổi để tìm ra nguyên nhân cốt lõi, khi nguyên nhân nằm ở các bạn thì chuyển công ty nào cũng sẽ như vậy.

Phải tìm được nguyên nhân cốt lõi, qua công ty khác vẫn thái độ, tác phong làm việc đó vẫn sẽ không ai ghi nhận các bạn. Tất nhiên, đôi lúc vài công ty, các bạn đã có lợi thế cạnh tranh rồi nhưng không được ghi nhận, tỷ lệ này sẽ rất ít. Các bạn hiểu như thế này, tuyển một người có thể làm việc tốt, quen và làm việc được với hệ thống của công ty, đột nhiên nghỉ việc, phải tuyển người mới, rất bất cập, công ty không hề thích như vậy. Các bạn làm được 1 thời gian và nắm mọi thứ, công ty nào cũng sẽ muốn bạn ở lại, vì thế sẽ tìm mọi cách để đãi ngộ tốt cho bạn. Không nói đến các trường hợp kinh tế công ty đang giai đoạn khó khăn, những công ty không ghi nhận, hay trơ trẻn, tìm cách ém lương, rất ít.

Tại vì bản thân công ty, sẽ không để một người có kinh nghiêm, làm việc tốt ra đi. Mấu chốt là khi các bạn không đạt được mong muốn, thì cần phải trao đổi với người ta để 2 bên có phương án giải quyết. Ví dụ, bây giờ em muốn bên công ty ghi nhận e nhiều hơn thì e cải thiện vấn đề a, b, c, d... cụ thể như, vấn đề tôi thấy e hay đi với gái quá, mình hạn chế đi với gái bớt đi. Vấn đề là khi biết được nguyên nhân, chúng ta khắc phục và một thời gian, mọi thứ sẽ thay đổi

- Nghe chi tiết hơn trên youtube: https://youtu.be/-i-uvCk2Ej0?si=2kxhIUsLzEmlXttx

Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí

- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT

- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT

- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT

- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản

1. Java backend api web service: CHI TIẾT

2. Thiết kế website

2.1 Thiết kế website cơ bản: CHI TIẾT

2.2 Thiết kế website nâng cao: CHI TIẾT

- Học spring framework không sử dụng spring boot: CHI TIẾT

Tham gia livestream, workshop học lập trình java miễn phí cùng Laptrinhjavaweb

Tham gia group facebook để hỏi đáp trong quá trình học lập trình java

Các kênh để nhận thông báo sớm nhất, hỏi đáp miễn phí trong quá trình học lập trình java

Để có thể nhận thông báo nhanh nhất về các nội dung mà Laptrinhjavaweb biên soạn, các bạn follow facebook, youtube, nhóm Zalo. Trong quá trình học, cần hỏi đáp thì các bạn join vô nhóm facebook để hỏi đáp nhé

1. Nhận thông báo

- Facebook: XEM TẠI ĐÂY

- Youtube: XEM TẠI ĐÂY

- Nhóm Zalo nhận thông báo: XEM TẠI ĐÂY

2. Hỏi đáp miễn phí, report bug, gợi ý nội dung

- Nhóm Facebook hỏi đáp miễn phí: XEM TẠI ĐÂY

Trên mạng có rất nhiều nguồn, tài liệu để học rất vui khi các bạn chọn Laptrinhjavaweb. Chúc các bạn học vui, hiệu quả cùng Cô giáo Lâm và Laptrinhjavaweb

Khóa học java core backend cơ bản nâng cao tại Laptrinhjavaweb Academy

 

Nhận Ebook phỏng vấn lập trình
Java và Spring Framework

Hy vọng tài liệu phỏng vấn này sẽ giúp cho anh/chị/em tốt hơn trong quá trình phỏng vấn

Đăng ký nhận ebook ngay
phone zalo