JavaRush /Java Blog /Random-IT /Lista di controllo dello sviluppatore Java. Cosa dovrebbe...

Lista di controllo dello sviluppatore Java. Cosa dovrebbe sapere uno sviluppatore

Pubblicato nel gruppo Random-IT
Ciao! Oggi parleremo del percorso di sviluppo di uno sviluppatore Java e di cosa deve sapere per essere richiesto. Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 1Qualsiasi sviluppatore durante un colloquio può "bocciare" un candidato per una posizione. Ad esempio, inizierà a fare domande su argomenti specifici che ha incontrato nel progetto attuale. Ma va bene non sapere tutto. Anche il fatto che non rispondi ad alcune domande è normale. In generale, ogni programmatore Java dovrebbe avere una conoscenza di base dello sviluppo. Quindi, diamo un'occhiata a quali tecnologie sono considerate "di base".

1. Algoritmi di base

La prima cosa che dovresti fare quando inizi a imparare a programmare (questo vale non solo per Java) è un'analisi delle basi. Ad esempio, algoritmi. Ce ne sono un'infinità e non dovresti passare anni interi cercando di apprendere quanti più algoritmi possibili: la maggior parte di essi non ti sarà utile. Le conoscenze minime richieste possono essere ottenute dal libro “ Grocking Algorithms ”. Questo sarà sufficiente per iniziare il viaggio, ma se lo desideri, puoi imparare con l'aiuto del libro “ Strutture e algoritmi ” o “Algoritmi in Java” di Robert Sedgwick e Kevin Wayne. Ti consiglio anche di migliorare la tua conoscenza delle basi dell'informatica. Questo può essere fatto in JavaRush utilizzando il corso CS50 .

2. Sintassi Java

Dopo aver appreso le basi degli algoritmi, dobbiamo imparare la sintassi Java. Dopotutto, stiamo tutti imparando a diventare programmatori Java, no? Il corso JavaRush è perfetto per questo. Nell'eseguire numerose attività, diventerai fluente nella sintassi Java e scriverai/leggerai il codice Java senza pensarci troppo, come se fosse la tua lingua madre. JavaRush è pratica e, oltre a ciò, devi anche guardare la teoria per capire cosa stai facendo esattamente. Per fare ciò, puoi leggere libri, ad esempio uno dei seguenti:
  • Testa prima Java ”;
  • “Java for Dummies” di Barry Bird;
  • "Giava. Una guida per principianti” Herbert Schildt.
Dopo aver letto questi libri, puoi affrontare libri più difficili:
  • “La filosofia di Java”, Bruce Eckel;
  • “Programmazione efficace”, Joshua Bloch;
  • "Giava. La guida completa”, Herbert Schildt.
Gli ultimi tre libri non sono di facile lettura per i principianti, ma possono fornire solide basi nella teoria di Java. Inoltre, non dimenticare gli articoli su JavaRush, perché possono trovare spiegazioni sulla maggior parte degli argomenti che ti interessano. Puoi trovare l'articolo che ti serve digitando l'argomento che ti interessa: Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 2consiglio vivamente anche di cercare domande per interviste Java, come in questa raccolta di domande su classi e interfacce astratte . Questo ti aiuterà a capire esattamente cosa devi studiare e per quali domande essere preparato.Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 3

3. Modelli di programmazione

I modelli di programmazione sono alcuni modelli ripetibili che rappresentano una soluzione a un problema in un contesto ricorrente. Tra questi ci sono template basilari e semplici che ogni programmatore che si rispetti dovrebbe conoscere. Per comprendere questo argomento, utilizzare il libro “ Head First. Modelli di progettazione ." Spiegherà chiaramente i modelli di programmazione di base. Ma il libro parla molto di Java , quindi al momento di studiare il libro devi padroneggiare questo linguaggio di programmazione. Per un approfondimento sui pattern, puoi anche leggere “Tecniche di progettazione orientata agli oggetti. Design Patterns” della Gang of Four ( Gang of Four: un team di autori che comprende Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - ndr) . Dopo aver studiato questo argomento, inizierai a vedere modelli praticamente ovunque nel tuo codice. Presta attenzione a questo, in particolare ai modelli utilizzati in Spring , poiché questa è una domanda popolare nelle interviste.

4. Paradigmi di programmazione. Pulizia del codice

Oltre ai modelli di programmazione standard, ci sono vari principi e paradigmi che devi conoscere ( SOLID , GRASP ). È inoltre necessario garantire che il codice sia pulito e leggibile. Tutto quello che devi sapere su questo argomento lo trovi nel libro “ Clean Code ” di Robert Martin oppure prendi il libro “Perfect Code” di Steve McConnell.

5.SQL

Il nostro prossimo passo è studiare il linguaggio dei database relazionali: SQL . I database sono i luoghi in cui vengono archiviate le informazioni (dati) di un'applicazione web. Un database è composto da molte tabelle (la rubrica del telefono è l'esempio più semplice di tali tabelle). Puoi leggere ulteriori informazioni sui database in questo articolo . Per gli sviluppatori Java l'area di responsabilità non è solo l'applicazione Java, ma anche il database con cui interagisce e dove memorizza i dati. Nei database relazionali (i più comuni), tutta l'interazione avviene tramite un linguaggio speciale: Structured Query Language o SQL. Per comprendere questo argomento sarà sufficiente leggere uno dei libri:
  • “Imparare SQL”, Alan Bewley;
  • “SQL”, Chris Fiaily;
  • "Head First SQL" di Lynn Bailey.
Ma la pratica senza teoria non funziona, vero? E durante le interviste per testare la conoscenza di SQL, spesso (quasi sempre) danno uno o due problemi nella scrittura di una query SQL. Pertanto, è molto importante affinare le tue abilità pratiche in SQL per metterti in buona luce. Una risorsa eccellente per acquisire pratica SQL può essere la risorsa sql-ex.ru .

6.MySQL/PostgreSQL

Dopo aver appreso il linguaggio SQL, è necessario acquisire familiarità con l'implementazione specifica del database. A seconda del database, alcuni comandi possono variare notevolmente. E la differenza nelle capacità del database è abbastanza evidente. I database relazionali più comuni sono MySQL e PostgreSQL . Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 4MySQL è molto più semplice, ma PostgreSQL ha più capacità. Per cominciare è sufficiente conoscere almeno uno di essi. Puoi studiare le implementazioni del database se usi le tue capacità di Google: trova gli articoli e i tutorial necessari su Youtube. Devi diventare bravo a cercare correttamente le domande che ti interessano, perché un programmatore è una persona “con cintura nera” nelle ricerche su Google.

7. Maven/Gradle

Devi studiare uno dei framework Gradle o Maven , progettati per assemblare progetti, poiché ora per te Java non è solo compiti di un paio di classi, ma anche un linguaggio per scrivere applicazioni a tutti gli effetti. Devi capire come assemblare un progetto, quali sono le fasi di assemblaggio, come caricare le librerie esterne necessarie con codice già pronto e molto altro. Anche se Gradle è più nuovo e più conciso, nella maggior parte dei casi viene utilizzato Maven. Pertanto, prestare particolare attenzione al ciclo di vita dell'assieme.

8. Vai

Git è un sistema di controllo della versione distribuito. Questa tecnologia consente agli sviluppatori di creare congiuntamente un'applicazione senza interferire tra loro. Naturalmente, ci sono analoghi a questo sistema di controllo della versione. Ad esempio, Sovversione . Ma è Git quello che viene utilizzato principalmente e devi essere in grado di lavorarci. Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 5Oltre agli articoli didattici sull'argomento, su Youtube ci sono abbastanza video che ti aiuteranno a padroneggiare questa tecnologia passo dopo passo. All'inizio è meglio usare la console Git e non qualche tipo di implementazione dell'interfaccia, perché in essa dovrai fare tutto tramite comandi. Durante le interviste le persone spesso chiedono alcuni comandi Git , quindi ti consiglio di scriverli e tenerli da qualche parte a portata di mano. Ti consiglio inoltre di tenere un appunto in cui segnerai i punti più importanti, così prima del colloquio potrai ripercorrerlo e rinfrescarti la memoria.

9. JDBC

Questa tecnologia è progettata per fornire connettività tra l'applicazione Java e un database relazionale. Per conoscere le nozioni di base, consiglio di leggere l'articolo JDBC o Where It All Begins. Ci sono moltissimi articoli che spiegano la tecnologia JDBC e forniscono esempi elementari, nonostante il fatto che nessuno utilizzi più direttamente JDBC nudo.

10.APP. Ibernazione

JPA è un modo per stabilire una connessione tra un'applicazione Java e un database, proprio come JDBC. Ma allo stesso tempo, JPA è una tecnologia di livello superiore e, di conseguenza, più facile da usare. Ma l’APP è solo una specifica (un concetto) che non è implementata e richiede un’implementazione specifica. Esistono molte implementazioni di questo tipo, ma viene considerata la più vicina agli ideali di JPA, popolare e sviluppata Hibernate . Nella tua carriera di sviluppatore, incontrerai questa tecnologia più di una volta. Pertanto, oltre a conoscere questa tecnologia attraverso gli articoli, potrebbe valere la pena leggere un libro sull'argomento, ad esempio " Java Persistence API ".

11.Primavera

Quando diventi uno sviluppatore Java, per te Primavera non è più solo una parola. Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 6Ora questo framework condivide il primo posto in importanza con la necessità di conoscere la sintassi del linguaggio Java. Si può dire che Spring ha la sua controparte, ovvero le tecnologie Java EE. Ma Java EE è obsoleto e non viene più utilizzato nei nuovi progetti. La stragrande maggioranza degli sviluppatori Java ora sono sviluppatori Java Spring, quindi la conoscenza di alcune tecnologie Spring di base è obbligatoria. Spring non è solo un framework, ma un'intera piattaforma di framework: Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 7e questa è solo una parte dei framework forniti da Spring. È sufficiente che un principiante ne conosca solo alcuni:

  • Nucleo primaverile

Dovrebbe essere in primo luogo capire cos'è Spring: cosa sono un contenitore Spring, bean, DI, IoC e così via. Per così dire, comprendi la filosofia stessa dell'utilizzo di Spring. Ulteriori studi sui framework Spring avranno luogo sulla base di questa base. Potrebbe valere la pena creare la tua piccola applicazione, alla quale aggiungerai gradualmente le nuove tecnologie che hai appreso.

  • JDBC primaverile

In precedenza abbiamo parlato della tecnologia JDBC come tecnologia per creare una connessione a un database. In generale, l’uso “nudo” della tecnologia potrebbe non essere presente nei progetti al momento, quindi potrebbe sembrare che l’apprendimento di JDBC non sia necessario. Ma non è così. Osservando l'ossatura di JDBC, puoi vedere la tecnologia a un livello inferiore e comprenderne i problemi e le carenze. Una volta che inizi ad apprendere Spring JDBC, capirai esattamente cosa migliora, ottimizza e nasconde ai nostri occhi questo framework.

  • Ibernazione primaverile

Come con JDBC semplice, questo framework migliora l'uso di una tecnologia esistente, in questo caso Hibernate. Se consideri l'utilizzo di Hibernate senza Spring, capirai esattamente qual è il vantaggio dell'utilizzo di Spring Hibernate.

  • APP di primavera

In precedenza abbiamo parlato di JPA e di come sia solo una specifica per la quale esistono varie implementazioni. Tra queste implementazioni, Hibernate è quella più vicina all'ideale. Spring ha la sua implementazione ideale di JPA, che utilizza Hibernate "sotto il cofano" ed è il più vicino possibile all'ideale delle specifiche JPA. Questa tecnologia si chiama Spring JPA. A proposito, semplifica notevolmente l'accesso al database. Puoi imparare solo JPA senza imparare JDBC, Hibernate, Spring JDBC, Spring Hibernate. Ma in questo caso, la tua conoscenza della connessione a un database sarà molto superficiale.

  • Primavera MVC

Con questa tecnologia possiamo mostrare agli utenti l'interfaccia web della nostra applicazione e consentire all'interfaccia di comunicare con il resto dell'applicazione. La tecnologia può funzionare anche senza visualizzazione, quando è presente un'applicazione responsabile della visualizzazione e l'utente interagisce con tale applicazione utilizzando richieste e risposte utilizzando la tecnologia RESTful . Per comprendere meglio le informazioni sulla primavera, oltre agli articoli e alle conferenze su YouTube, puoi leggere diversi libri. Mi è piaciuto molto il libro “Spring in Action” di Walls Craig. Sfortunatamente, in russo ora esiste solo la terza versione, considerata obsoleta. Ti consiglio di leggere la versione 6 se conosci bene l'inglese. Un altro ottimo libro sulla primavera è “Spring 5 for Professionals”. È più difficile da imparare e assomiglia più a una Bibbia primaverile che è meglio tenere a portata di mano piuttosto che leggere da cima a fondo.Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 8

  • Stivale primaverile

Questa tecnologia semplifica notevolmente l'utilizzo di Spring. Lo metto alla fine dell'elenco per un motivo, perché nasconde molto sotto il “cappuccio” e per una persona che non ha familiarità con la Primavera normale, molti punti potrebbero non essere ovvi e incomprensibili. Innanzitutto, per una migliore comprensione di come funzionano i framework Spring, dovresti utilizzare Spring normale, quindi tutti i vantaggi maggiori derivanti dall'utilizzo di Spring Boot. Ti consiglio anche di familiarizzare con Spring Security e Spring AOP. Ma a differenza delle tecnologie di cui sopra, ora non è necessaria una conoscenza approfondita di queste due. Questa tecnologia non è per i principianti. Durante le interviste, ai ragazzi non viene chiesto nulla in merito (tranne forse una domanda superficiale). Leggi in generale cosa sono queste tecnologie e come funzionano. In questo articolo ho più volte menzionato la lettura di libri. Da un lato, questo non è necessario. Puoi diventare un programmatore senza leggere un solo libro, avendo studiato tutto ciò di cui hai bisogno da articoli e video di formazione. D'altra parte, al momento la concorrenza nel mercato per gli sviluppatori alle prime armi è elevata, il che alza il livello delle conoscenze iniziali richieste per un principiante. Pertanto, più cose sai, più velocemente potrai ottenere il tuo primo lavoro impressionando l'intervistatore con il tuo livello di conoscenza. Grazie a tutti e che Java sia con voi .Lista di controllo dello sviluppatore Java.  Cosa dovrebbe sapere uno sviluppatore - 9
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION