CodeGym/Blog Java/Ngẫu nhiên/Danh sách kiểm tra của nhà phát triển Java. Những gì một ...
John Squirrels
Mức độ
San Francisco

Danh sách kiểm tra của nhà phát triển Java. Những gì một nhà phát triển nên biết

Xuất bản trong nhóm
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 gì họ phải biết để đáp ứng nhu cầu. Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 1Trong một cuộc phỏng vấn, bất kỳ nhà phát triển nào cũng có thể nướng ứng viên. Ví dụ, họ có thể bắt đầu đặt câu hỏi về các chủ đề cụ thể mà họ gặp phải trong dự án hiện tại của họ. Nhưng không biết mọi thứ là bình thường. Việc bạn không thể trả lời một số câu hỏi cũng là điều bình thường. Theo nguyên tắc chung, mọi lập trình viên Java đều phải có hiểu biết cơ bản về phát triển phần mềm. Vì vậy, hãy xem những gì được coi là "cơ bản".

1. Thuật toán cơ bản

Điều đầu tiên cần giải quyết khi bắt đầu học lập trình (không chỉ Java) là hiểu những điều cơ bản. Ví dụ, các thuật toán. Có vô số thuật toán trong số chúng và bạn không nên giết cả năm cuộc đời mình để 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. Bạn có thể nhận được kiến ​​​​thức tối thiểu cần thiết từ cuốn sách "Thuật toán Grokking". Điều này là đủ để bạn bắt đầu, nhưng nếu muốn, bạn có thể học từ cuốn sách "Structures and Algorithms" hoặc "Algorithms in Java" của Robert Sedgewick 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 với khóa học Harvard CS50.

2. Cú pháp Java

Sau khi học những kiến ​​thức cơ bản về thuật toán, chúng ta cần học cú pháp Java. Xét cho cùng, tất cả chúng ta đều đang học để trở thành lập trình viên Java ở đây, phải không? Khóa học CodeGym là hoàn hảo cho việc này. Khi bạn thực hiện vô số nhiệm vụ, bạn sẽ nắm trong tay cú pháp Java và sau đó, không cần do dự nhiều, bạn sẽ viết/đọc mã Java như thể đó là ngôn ngữ mẹ đẻ của bạn. CodeGym là thực hành, nhưng ngoài ra, bạn cũng cần nhìn vào lý thuyết để hiểu những gì bạn đang làm. Để làm điều này, bạn có thể đọc sách. Ví dụ: một trong những điều sau đây:
  • "Đầu tiên Java",
  • "Java cho người mới bắt đầu" của Barry Bird;
  • "Java: Hướng dẫn cho người mới bắt đầu" của Herbert Schildt.
Sau khi đọc những cuốn sách này, bạn có thể chuyển sang những cuốn sách khó hơn:
  • "Tư duy bằng Java," Bruce Eckel;
  • "Java hiệu quả" của Joshua Bloch;
  • "Java: Tài liệu tham khảo đầy đủ" của Herbert Schildt.
Ba cuốn sách cuối cùng không dễ đọc đối với người mới bắt đầu, nhưng chúng cung cấp một nền tảng vững chắc về lý thuyết Java. Ngoài ra, đừng quên các bài viết về CodeGym, vì chúng cung cấp giải thích cho hầu hết các chủ đề mà bạn có thể quan tâm. Bạn có thể tìm thấy một bài viết có liên quan bằng cách nhập chủ đề mà bạn quan tâm vào thanh tìm kiếm: Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 2Tôi cũng khuyên bạn nên tìm kiếm các câu hỏi từ các cuộc phỏng vấn Java. Điều này sẽ giúp bạn hiểu chính xác những gì bạn cần học và những câu hỏi cần chuẩn bị.

3. Mẫu thiết kế

Các mẫu thiết kế là các mẫu có thể lặp lại nhất định để giải quyết các vấn đề trong các ngữ cảnh thường xuyên gặp phải. Chúng bao gồm các mẫu cơ bản, đơn giản mà mọi lập trình viên tự trọng nên biết. Để hiểu chủ đề này, hãy lấy cuốn sách "Head First Design Patterns". Nó giải thích các mẫu thiết kế cơ bản theo cách dễ tiếp cận. Nhưng cuốn sách nói rất nhiều về Java, vì vậy khi đọc cuốn sách này, bạn cũng sẽ cần thông thạo 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 "Mẫu thiết kế: Các yếu tố của phần mềm hướng đối tượng có thể tái sử dụng" từ Gang of Four (Ghi chú của biên tập viên: Gang of Four là một nhóm tác giả bao gồm Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Khi bạn đã nghiên cứu chủ đề này, bạn sẽ bắt đầu thấy các mẫu hầu như có ở 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ỏng vấn phổ biến.

4. Các mô hình lập trình. Độ sạch của mã

Bên cạnh các mẫu thiết kế tiêu chuẩn, có nhiều nguyên tắc và mô hình khác nhau cần lưu ý ( SOLID , GRASP ). Bạn cũng cần giữ cho mã của mình sạch sẽ và dễ đọc. Đối với mọi thứ, bạn cần biết về chủ đề này, xem Clean Code của Robert Martin hoặc xem "Code Complete" của Steve McConnell.

5. SQL

Bước tiếp theo của chúng ta là nghiên cứu một ngôn ngữ dành cho 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 sử dụng bởi một ứng dụng web. Cơ sở dữ liệu bao gồm một số bảng (sổ địa chỉ trên điện thoại của bạn là một ví dụ đơn giản). Các nhà phát triển Java không chỉ chịu trách nhiệm về ứng dụng Java mà còn cả cơ sở dữ liệu mà nó tương tác và nơi lưu trữ dữ liệu của nó. Trong cơ sở dữ liệu quan hệ (là loại 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 gọi là Ngôn ngữ truy vấn có cấu trúc hoặc SQL. Để hiểu chủ đề này, tất cả những gì bạn cần làm là đọc một trong những cuốn sách sau:
  • "Học SQL" của Alan Beaulieu;
  • "SQL" của Chris Fehily;
  • "Đầu SQL đầu tiên" của Lynn Beighley.
Nhưng thực hành mà không có lý thuyết không cắt nó, phải không? Và tại các cuộc phỏng vấn, bạn có thể mong đợi một bài kiểm tra kiến ​​thức về SQL của mình. Người phỏng vấn thường (hầu như luôn luôn) đưa ra một hoặc hai nhiệm vụ liên quan đến việc viết một truy vấn SQL. Do đó, điều rất quan trọng là trau dồi các kỹ năng SQL thực tế của bạn để thể hiện bản thân một cách tốt đẹp.

6. MySQL/PostgreSQL

Sau khi học ngôn ngữ SQL, bạn cần làm quen với việc triển khai cơ sở dữ liệu cụ thể. Tùy thuộc vào cơ sở dữ liệu, một số lệnh có thể thay đổi đáng kể. Và có sự khác biệt khá đáng chú ý trong khả năng cơ sở dữ liệu. Các cơ sở dữ liệu quan hệ phổ biến nhất là MySQLPostgreSQL . Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 3MySQL đơn giản hơn nhiều, nhưng PostgreSQL có khả năng rộng hơn nhiều. Làm quen với ít nhất một trong số chúng là đủ để bắt đầu. Bạn có thể nghiên cứu triển khai cơ sở dữ liệu nếu sử dụng kỹ năng tra cứu trên Google — tìm các bài viết và hướng dẫn có liên quan trên YouTube. Bạn sẽ cần trau dồi khả năng của mình để tạo các truy vấn tìm kiếm thích hợp cho các câu hỏi bạn cần trả lời. Xét cho cùng, một lập trình viên là người có đai đen về googling.

7. Maven/Lớp

Bạn cần tìm hiểu khung công tác Gradle hoặc Maven . Chúng dành cho các dự án xây dựng và đối với bạn, Java giờ đây không chỉ dành cho các tác vụ liên quan đến một vài lớp mà còn là ngôn ngữ để viết các ứng dụng chính thức. Bạn cần hiểu cách xây dựng một dự án, các giai đoạn xây dựng là gì, cách tải các thư viện bên ngoài cần thiết bằng mã của bên thứ ba, v.v. Mặc dù thực tế là Gradle mới hơn và ngắn gọn hơn, Maven vẫn được sử dụng trong hầu hết các trường hợp. Vì vậy, hãy đặc biệt chú ý đến vòng đời xây dựng Maven.

8.Git

Git là một hệ thống kiểm soát phiên bản phân tán. Công nghệ này cho phép các nhà phát triển cộng tác trên một ứng dụng duy nhất mà không can thiệp lẫn nhau. Tất nhiên, có những hệ thống kiểm soát phiên bản khác. Ví dụ, Subversion . Nhưng Git được sử dụng rộng rãi nhất và bạn cần có khả năng làm việc với nó.Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 4Ngoài nhiều bài viết về Git mà bạn có thể tìm thấy trực tuyến, YouTube còn có nhiều video đủ để giúp bạn làm chủ công nghệ này, từng bước một. Lúc đầu, tốt hơn là sử dụng Git từ dòng lệnh thay vì một số loại triển khai GUI, bởi vì bạn sẽ buộc phải làm mọi thứ bằng lệnh. Trong các cuộc phỏng vấn, mọi người thường thích hỏi về một số lệnh Git, vì vậy tôi khuyên bạn nên viết chúng ra và để ở đâu đó gần đó. Tôi cũng khuyên bạn nên ghi chú, theo dõi những điểm quan trọng nhất để lướt qua chúng trước cuộc phỏng vấn và làm mới trí nhớ của bạn.

9. JDBC

Công nghệ này kết nối ứng dụng Java của bạn và cơ sở dữ liệu quan hệ. Đối với những điều cơ bản, tôi khuyên bạn nên đọc bất kỳ hướng dẫn JDBC nào. Có rất nhiều bài viết giải thích về JDBC và cung cấp các ví dụ cơ bản, mặc dù không ai trực tiếp sử dụng JDBC trần trụi nữa.

10. JPA. ngủ đông

JPA là một cách để thiết lập kết nối giữa ứng dụng Java và cơ sở dữ liệu, giống như JDBC. Nhưng đồng thời, JPA là một công nghệ cấp cao hơn và do đó dễ sử dụng hơn. Nhưng JPA chỉ là một đặc điểm kỹ thuật, không phải là một triển khai. Nó cần một triển khai cụ thể. Nhiều trong số chúng tồn tại, nhưng lý tưởng gần nhất với JPA, phổ biến nhất và phát triển nhất là Hibernate. Bạn sẽ bắt gặp công nghệ này hơn một lần trong sự nghiệp phát triển phần mềm của mình. Vì vậy, ngoài việc làm quen với công nghệ này bằng cách đọc các bài báo, có thể đáng suy nghĩ về việc đọc một cuốn sách, chẳng hạn như "API Java Persistence".

11. Mùa xuân

Khi bạn trở thành một nhà phát triển Java, Spring không còn chỉ là một từ dành cho bạn nữa. Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 5Việc biết khuôn khổ này bây giờ cũng quan trọng như biết Cú pháp Java. Bạn có thể nói rằng Spring có một người anh em, tức là Java EE. Nhưng Java EE đã lỗi thời và không còn được sử dụng cho các dự án mới. Phần lớn các nhà phát triển Java hiện nay là các nhà phát triển Java-Spring, vì vậy việc biết một số công nghệ cơ bản của Spring là điều bắt buộc. Spring không chỉ là một framework, mà là toàn bộ framework của các framework: Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 6Và đây chỉ là một tập hợp con của các framework mà Spring cung cấp. Đối với người mới bắt đầu, chỉ cần biết một vài trong số chúng là đủ:

  • lõi lò xo

Bạn nên đặt điều này ở vị trí đầu tiên, để bạn có thể hiểu Spring là gì — tất cả về Spring container, bean, DI, IoC, v.v. Để hiểu triết lý sử dụng Spring, có thể nói như vậy. Nghiên cứu sâu hơn của bạn về các khung công tác Spring sẽ được xây dựng dựa trên cơ sở này. Có lẽ bạn nên tạo ứng dụng nhỏ của riêng mình để bạn có thể dần dần kết hợp tất cả các công nghệ mới học được vào đó.

  • JDBC mùa xuân

Trước đó, chúng tôi đã đề cập đến JDBC như một công nghệ để tạo kết nối cơ sở dữ liệu. Nói chung, việc sử dụng công nghệ "trần trụi" không còn được tìm thấy trong các dự án, vì vậy bạn có thể kết luận rằng việc học JDBC là không cần thiết. Đây không phải là một thái độ đúng đắn. Bằng cách khám phá việc sử dụng JDBC trần trụi (trực tiếp), bạn có thể thấy công nghệ này ở cấp độ thấp hơn và hiểu các vấn đề cũng như thiếu sót của nó. Sau đó, khi bạn bắt đầu học Spring JDBC, bạn sẽ nhận ra chính xác những gì framework này cải thiện, tối ưu hóa và che giấu.

  • mùa xuân ngủ đông

Tương tự với tình huống với JDBC trần trụi, khung này tận dụng một công nghệ hiện có, trong trường hợp này là Hibernate. Nếu bạn cân nhắc sử dụng Hibernate mà không có Spring, chắc chắn bạn sẽ nhận ra những lợi ích mà Spring Hibernate mang lại.

  • JPA mùa xuân

Trước đó chúng ta đã nói về JPA và đề cập rằng nó chỉ là một đặc điểm kỹ thuật, mặc dù nó có nhiều cách triển khai khác nhau. Trong số các triển khai này, Hibernate là lý tưởng nhất. Mùa xuân có triển khai JPA lý tưởng của riêng nó sử dụng Hibernate dưới mui xe. Nó càng gần với lý tưởng của đặc tả JPA càng tốt. Nó được gọi là Spring JPA. Nói một cách dễ hiểu, nó đơ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 thể học JDBC, Hibernate, Spring JDBC hoặc Spring Hibernate. Nhưng nếu bạn thực hiện phương pháp này, kiến ​​thức của bạn về cách kết nối với cơ sở dữ liệu sẽ rất hời hợt.

  • MVC mùa xuân

Công nghệ này cho phép hiển thị giao diện web của ứng dụng của chúng tôi cho người dùng và tạo điều kiện giao tiếp giữa giao diện và phần còn lại của ứng dụng. Công nghệ này cũng có thể được sử dụng mà không có màn hình khi bạn có một ứng dụng chịu trách nhiệm xử lý màn hình và bạn đang tương tác với ứng dụng bằng công nghệ RESTful . Để tiếp thu thông tin về Spring tốt hơn, ngoài các bài báo và bài giảng trên YouTube, bạn có thể đọc 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 Craig Walls. Tôi khuyên bạn nên đọc phiên bản thứ 6, nếu bạn biết tiếng Anh tốt. Một cuốn sách tuyệt vời khác về mùa xuân là "Mùa xuân 5 dành cho những người chuyên nghiệp". Nó đậm đặc hơn. Giống như một tài liệu tham khảo có giá trị hơn để giữ trong tầm tay hơn là đọc từ đầu đến cuối.Danh sách kiểm tra của nhà phát triển Java.  Những điều lập trình viên nên biết - 7

  • khởi động mùa xuân

Công nghệ này đơn giản hóa rất nhiều việc sử dụng Spring. Tôi đã không đặt nó ở cuối danh sách theo ý thích. Thật vậy, nó ẩn giấu rất nhiều điều dưới mui xe và đối với những người không quen thuộc với vanilla Spring, nhiều điểm có thể không rõ ràng hoặc khó hiểu. Đầu tiên, để hiểu rõ hơn về cách thức hoạt động của các khung công tác Spring, bạn nên sử dụng Spring thông thường, sau đó nhận tất cả các lợi ích cao hơn khi sử dụng Spring Boot. Tôi cũng khuyên bạn nên tự làm quen với Spring Security và Spring AOP. Nhưng không giống như các công nghệ trên, kiến ​​​​thức sâu rộng về hai công nghệ này là chưa cần thiết. Công nghệ này không dành cho người mới bắt đầu. Tại các cuộc phỏng vấn, các nhà phát triển cấp dưới sẽ không được hỏi về chúng (có lẽ ngoại trừ một câu hỏi hời hợt). Đọc tổng quan về những công nghệ này là gì và các nguyên tắc đằng sau công việc của họ. Trong bài báo này, Tôi đã nhiều lần đề cập đến việc đọc sách. Một mặt, điều này không bắt buộc. 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, có được tất cả kiến ​​thức cần thiết từ các bài báo và video đào tạo trực tuyến. Mặt khác, trong thị trường việc làm, hiện nay sự cạnh tranh giữa các nhà phát triển mới vào nghề rất cao, điều này đặt ra tiêu chuẩn cho những gì người mới bắt đầu cần biết. Vì vậy, bạn càng biết nhiều, bạn càng nhanh chóng tìm đượ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 bạn. Cảm ơn tất cả mọi người và có thể Java sẽ ở bên bạn. điều này nâng cao tiêu chuẩn cho những gì người mới bắt đầu cần biết. Vì vậy, bạn càng biết nhiều, bạn càng nhanh chóng tìm đượ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 bạn. Cảm ơn tất cả mọi người và có thể Java sẽ ở bên bạn. điều này nâng cao tiêu chuẩn cho những gì người mới bắt đầu cần biết. Vì vậy, bạn càng biết nhiều, bạn càng nhanh chóng tìm đượ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 bạn. Cảm ơn tất cả mọi người và có thể Java sẽ ở bên bạn.
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào