Xin chào! Hôm nay chúng ta sẽ nói về con đường phát triển của một nhà phát triển Java và những điều anh ta phải biết để được yêu cầu. Bất kỳ nhà phát triển nào tại một cuộc phỏng vấn đều có thể “đánh trượt” ứng viên cho một vị trí. Ví dụ, anh ấy sẽ bắt đầu đặt câu hỏi về các chủ đề cụ thể mà anh ấy gặp phải trong dự án hiện tại. Nhưng không sao cả khi không biết mọi thứ. Việc bạn không trả lời một số câu hỏi cũng là điều bình thường. Nói chung, mọi lập trình viên Java đều phải có kiến thức cơ bản về phát triển. Vì vậy, hãy xem những công nghệ nào được coi là “cơ bản”.
Trước tiên bạn phải hiểu Spring là gì: Spring container, Beans, DI, IoC, v.v. là gì. Có thể nói, hãy hiểu triết lý sử dụng Spring. Nghiên cứu sâu hơn về Spring framework sẽ diễn ra dựa trên cơ sở này. Có thể bạn nên tạo ứng dụng nhỏ của riêng mình để dần dần bổ sung các công nghệ mới mà bạn đã học vào đó.
Trước đó chúng ta đã nói về công nghệ JDBC như một công nghệ tạo kết nối tới cơ sở dữ liệu. Nhìn chung, việc sử dụng công nghệ “trần trụi” hiện nay có thể không được tìm thấy trong các dự án, vì vậy có vẻ như việc học JDBC là không cần thiết. Nhưng nó không phải là như vậy. Bằng cách nhìn vào phần cốt lõi của JDBC, bạn có thể thấy công nghệ này ở mức độ thấp hơn và hiểu được các vấn đề cũng như thiếu sót của nó. Khi bắt đầu học Spring JDBC, bạn sẽ hiểu chính xác framework này cải thiện, tối ưu hóa và che giấu điều gì.
Giống như JDBC cơ bản, khung này cải thiện việc sử dụng công nghệ hiện có, trong trường hợp này là Hibernate. Nếu bạn cân nhắc việc sử dụng Hibernate mà không có Spring thì bạn sẽ hiểu chính xác lợi ích của việc sử dụng Spring Hibernate là gì.
Trước đó chúng ta đã nói về JPA và nó chỉ là một thông số kỹ thuật có các cách triển khai khác nhau. Trong số các triển khai này, Hibernate là gần nhất với lý tưởng. Spring có cách triển khai JPA lý tưởng của riêng mình, sử dụng Hibernate “dưới mui xe” và càng gần với lý tưởng của các thông số kỹ thuật JPA càng tốt. Công nghệ này được gọi là Spring JPA. Nhân tiện, nó giúp đơn giản hóa rất nhiều việc truy cập cơ sở dữ liệu. Bạn chỉ có thể học JPA mà không cần học JDBC, Hibernate, Spring JDBC, Spring Hibernate. Nhưng trong trường hợp này, kiến thức kết nối với cơ sở dữ liệu của bạn sẽ rất hời hợt.
Với công nghệ này, chúng tôi có thể hiển thị giao diện web của ứng dụng của mình cho người dùng và cho phép giao diện giao tiếp với phần còn lại của ứng dụng. Công nghệ này cũng có thể hoạt động mà không cần hiển thị khi có một số ứng dụng chịu trách nhiệm hiển thị và bạn tương tác với ứng dụng này bằng cách sử dụng các yêu cầu và phản hồi bằng công nghệ RESTful . Để hiểu rõ hơn về thông tin về Mùa Xuân, ngoài các bài viết, bài giảng trên YouTube, bạn có thể đọc thêm một số cuốn sách. Tôi thực sự thích cuốn sách “Mùa xuân hành động” của Walls Craig. Thật không may, hiện tại chỉ có phiên bản thứ ba bằng tiếng Nga, được coi là lỗi thời. Tôi khuyên bạn nên đọc phiên bản 6 nếu bạn biết tiếng Anh tốt. Một cuốn sách hay khác về Mùa xuân là “Mùa xuân thứ 5 dành cho Chuyên gia”. Nó khó học hơn và giống như một cuốn kinh thánh mùa xuân , tốt hơn là nên giữ trong tay hơn là đọc từ đầu đến cuối.
Công nghệ này đơn giản hóa rất nhiều việc sử dụng Spring. Tôi đặt nó ở cuối danh sách là có lý do, vì nó ẩn chứa rất nhiều điều dưới “cái mui xe” và đối với một người không quen với Spring thông thường, nhiều điểm có thể không rõ ràng và khó hiểu. Đầu tiên, để hiểu rõ hơn về cách hoạt động của Spring framework, bạn nên sử dụng Spring thông thường, sau đó là tất cả những lợi ích cao hơn khi sử dụng Spring Boot. Tôi cũng khuyên bạn nên làm quen với Spring Security và Spring AOP. Nhưng không giống như các công nghệ trên, hiện tại không cần phải có kiến thức sâu về hai công nghệ này. Công nghệ này không dành cho người mới bắt đầu. Trong các cuộc phỏng vấn, đàn em không được hỏi về họ (có lẽ ngoại trừ một câu hỏi hời hợt). Đọc chung những công nghệ này là gì và chúng hoạt động như thế nào. Trong suốt bài viết này tôi đã nhiều lần đề cập đến việc đọc sách. Một mặt, điều này là không cần thiết. Bạn có thể trở thành một lập trình viên mà không cần đọc một cuốn sách nào, đã nghiên cứu mọi thứ bạn cần từ các bài báo và video đào tạo. Mặt khác, hiện tại, sự cạnh tranh trên thị trường dành cho các nhà phát triển mới vào nghề rất cao, điều này đã nâng cao tiêu chuẩn kiến thức ban đầu cần thiết cho người mới bắt đầu. Do đó, bạn càng biết nhiều thì bạn càng có thể nhanh chóng có được công việc đầu tiên bằng cách gây ấn tượng với người phỏng vấn về trình độ hiểu biết của mình. Cảm ơn tất cả các bạn và mong Java sẽ đồng hành cùng các bạn .
1. Thuật toán cơ bản
Điều đầu tiên bạn nên thực hiện khi bắt đầu học lập trình (điều này không chỉ áp dụng cho Java) là phân tích những điều cơ bản. Ví dụ, các thuật toán. Có vô số thuật toán và bạn không nên dành cả năm để cố gắng học càng nhiều thuật toán càng tốt: hầu hết chúng sẽ không hữu ích cho bạn. Kiến thức tối thiểu bắt buộc có thể được lấy từ cuốn sách “ Thuật toán Grocking ”. Điều này sẽ đủ để bắt đầu cuộc hành trình, nhưng nếu muốn, bạn có thể tìm hiểu với sự trợ giúp của cuốn sách “ Cấu trúc và thuật toán ” hoặc “ Thuật toán trong Java ” của Robert Sedgwick và Kevin Wayne. Tôi cũng khuyên bạn nên nâng cao kiến thức cơ bản về khoa học máy tính. Điều này có thể được thực hiện trong JavaRush bằng khóa học CS50 .2. Cú pháp Java
Sau khi học các thuật toán cơ bản, chúng ta phải học cú pháp Java. Rốt cuộc, tất cả chúng ta đều đang học cách trở thành lập trình viên Java ở đây phải không? Khóa học JavaRush là hoàn hảo cho việc này. Trong quá trình thực hiện nhiều tác vụ, bạn sẽ trở nên thông thạo cú pháp Java và sẽ viết/đọc mã Java mà không cần suy nghĩ nhiều, như thể đó là ngôn ngữ mẹ đẻ của bạn. JavaRush là thực hành và ngoài nó, bạn cũng cần xem xét lý thuyết để hiểu chính xác những gì bạn đang làm. Để làm điều này, bạn có thể đọc sách, ví dụ như một trong những cách sau:- “ Đầu Java ”;
- “Java cho người giả” của Barry Bird;
- “Java. Hướng dẫn cho người mới bắt đầu” Herbert Schildt.
- “Triết học Java”, Bruce Eckel;
- “Lập trình hiệu quả”, Joshua Bloch;
- “Java. Hướng dẫn đầy đủ”, Herbert Schildt.
3. Các mẫu lập trình
Các mẫu lập trình là một số mẫu có thể lặp lại, thể hiện giải pháp cho một vấn đề trong bối cảnh thường gặp. Trong số đó có những mẫu cơ bản, đơn giản mà mọi lập trình viên tự trọng đều nên biết. Để hiểu chủ đề này, hãy sử dụng cuốn sách “ Head First. Mẫu thiết kế .” Cô ấy sẽ giải thích rõ ràng các mẫu lập trình cơ bản. Nhưng sách nói rất nhiều về Java nên khi học sách các bạn cần phải nắm vững ngôn ngữ lập trình này. Để tìm hiểu sâu hơn về các mẫu, bạn cũng có thể đọc “Kỹ thuật thiết kế hướng đối tượng. Các mẫu thiết kế” từ Gang of Four ( Gang of Four: một nhóm tác giả bao gồm Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - ghi chú của biên tập viên) . Sau khi nghiên cứu chủ đề này, bạn sẽ bắt đầu thấy các mẫu hầu như ở khắp mọi nơi trong mã của mình. Hãy chú ý đến điều này, đặc biệt là các mẫu được sử dụng trong Spring , vì đây là một câu hỏi phổ biến trong các cuộc phỏng vấn.4. Mô hình lập trình. Độ sạch của mã
Bên cạnh các mẫu lập trình tiêu chuẩn, còn có nhiều nguyên tắc và mô hình khác nhau mà bạn cần biết ( SOLID , GRASP ). Cũng cần phải đảm bảo rằng mã sạch và dễ đọc. Mọi thứ bạn cần biết về chủ đề này đều có trong cuốn sách “ Clean Code ” của Robert Martin hoặc lấy cuốn “Perfect Code” của Steve McConnell.5.SQL
Bước tiếp theo của chúng ta là nghiên cứu ngôn ngữ của cơ sở dữ liệu quan hệ - SQL . Cơ sở dữ liệu là nơi lưu trữ thông tin (dữ liệu) của ứng dụng web. Cơ sở dữ liệu bao gồm nhiều bảng (sổ địa chỉ trên điện thoại của bạn là ví dụ đơn giản nhất về các bảng như vậy). Bạn có thể đọc thêm về cơ sở dữ liệu trong bài viết này . Đối với các nhà phát triển Java, phạm vi trách nhiệm không chỉ là ứng dụng Java mà còn là cơ sở dữ liệu mà nó tương tác và nơi lưu trữ dữ liệu. Trong cơ sở dữ liệu quan hệ (phổ biến nhất), tất cả tương tác xảy ra thông qua một ngôn ngữ đặc biệt - Ngôn ngữ truy vấn có cấu trúc hoặc SQL. Để hiểu chủ đề này, chỉ cần đọc một trong những cuốn sách là đủ:- “Học SQL”, Alan Bewley;
- “SQL”, Chris Fialy;
- “Head First SQL” của Lynn Bailey.
GO TO FULL VERSION