JavaRush /Blog Java /Random-FR /Liste de contrôle du développeur Java. Ce qu'un développe...

Liste de contrôle du développeur Java. Ce qu'un développeur doit savoir

Publié dans le groupe Random-FR
Bonjour! Aujourd'hui, nous allons parler du parcours de développement d'un développeur Java et de ce qu'il doit savoir pour être recherché. Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 1Tout développeur lors d'un entretien peut « faire échouer » un candidat à un poste. Par exemple, il commencera à poser des questions sur des sujets spécifiques qu'il a rencontrés dans le projet en cours. Mais c'est normal de ne pas tout savoir. Le fait que vous ne répondiez pas à certaines questions est également normal. Généralement, tout programmeur Java doit avoir des connaissances de base en développement. Voyons donc quelles technologies sont considérées comme « de base ».

1. Algorithmes de base

La première chose à faire lorsque vous commencez à apprendre la programmation (cela ne s'applique pas seulement à Java) est une analyse des bases. Par exemple, les algorithmes. Il en existe un nombre infini, et vous ne devriez pas passer des années entières à essayer d'apprendre le plus d'algorithmes possible : la plupart d'entre eux ne vous seront pas utiles. Les connaissances minimales requises peuvent être obtenues à partir du livre « Grocking Algorithms ». Cela suffira pour commencer le voyage, mais si vous le souhaitez, vous pouvez apprendre à l'aide du livre « Structures et algorithmes » ou « Algorithmes en Java » de Robert Sedgwick et Kevin Wayne. Je vous conseille également d'améliorer vos connaissances sur les bases de l'informatique. Cela peut être fait dans JavaRush en utilisant le cours CS50 .

2. Syntaxe Java

Après avoir appris les bases des algorithmes, il faut apprendre la syntaxe Java. Après tout, nous apprenons tous à devenir des programmeurs Java ici, n'est-ce pas ? Le cours JavaRush est parfait pour cela. En effectuant de nombreuses tâches, vous maîtriserez la syntaxe Java et écrirez/lirez du code Java sans trop y penser, comme s'il s'agissait de votre langue maternelle. JavaRush est une pratique, et en plus de cela, vous devez également examiner la théorie pour comprendre exactement ce que vous faites. Pour ce faire, vous pouvez lire des livres, par exemple l'un des suivants :
  • « Tête d'abord Java » ;
  • « Java pour les nuls » de Barry Bird ;
  • "Java. Un guide pour les débutants » Herbert Schildt.
Après avoir lu ces livres, vous pouvez vous attaquer à des livres plus difficiles :
  • « La philosophie de Java », Bruce Eckel ;
  • « Programmation efficace », Joshua Bloch ;
  • "Java. Le guide complet », Herbert Schildt.
Les trois derniers livres ne sont pas faciles à lire pour les débutants, mais ils peuvent fournir une base solide en théorie Java. N’oubliez pas non plus les articles sur JavaRush, car ils pourront trouver des explications sur la plupart des sujets qui vous intéressent. Vous pouvez trouver l'article dont vous avez besoin en tapant le sujet qui vous intéresse : Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 2je vous recommande également fortement de rechercher des questions d'entretien Java, comme dans cette collection de questions sur les classes abstraites et les interfaces . Cela vous aidera à comprendre exactement ce que vous devez étudier et à quelles questions vous préparer.Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 3

3. Modèles de programmation

Les modèles de programmation sont des modèles reproductibles qui représentent une solution à un problème dans un contexte fréquent. Parmi eux, il existe des modèles simples et basiques que tout programmeur qui se respecte devrait connaître. Pour comprendre ce sujet, utilisez le livre « Head First. Modèles de conception ." Elle expliquera clairement les modèles de programmation de base. Mais le livre parle beaucoup de Java , donc au moment d'étudier le livre, vous devez maîtriser ce langage de programmation. Pour une analyse plus approfondie des modèles, vous pouvez également lire « Techniques de conception orientée objet ». Design Patterns » du Gang of Four ( Gang of Four : une équipe d'auteurs qui comprend Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - ndlr) . Après avoir étudié ce sujet, vous commencerez à voir des modèles pratiquement partout dans votre code. Faites attention à cela, en particulier aux modèles utilisés au printemps , car c'est une question populaire dans les entretiens.

4. Paradigmes de programmation. Propreté des codes

Outre les modèles de programmation standard, vous devez connaître divers principes et paradigmes ( SOLID , GRASP ). Il faut également s’assurer que le code est propre et lisible. Tout ce que vous devez savoir sur ce sujet se trouve dans le livre « Clean Code » de Robert Martin ou prenez le livre « Perfect Code » de Steve McConnell.

5.SQL

Notre prochaine étape consiste à étudier le langage des bases de données relationnelles - SQL . Les bases de données sont l'endroit où les informations (données) d'une application Web sont stockées. Une base de données se compose de plusieurs tables (le carnet d'adresses de votre téléphone est l'exemple le plus simple de telles tables). Vous pouvez en savoir plus sur les bases de données dans cet article . Pour les développeurs Java, le domaine de responsabilité n'est pas seulement l'application Java, mais aussi la base de données avec laquelle elle interagit et où elle stocke les données. Dans les bases de données relationnelles (les plus courantes), toutes les interactions se produisent via un langage spécial : le langage de requête structuré ou SQL. Pour comprendre ce sujet, il suffira de lire l'un des livres :
  • « Apprentissage de SQL » par Alan Bewley ;
  • « SQL », Chris Fiaily ;
  • « Tête d'abord SQL » par Lynn Bailey.
Mais la pratique sans théorie ne fonctionne pas, n’est-ce pas ? Et lors des entretiens pour tester les connaissances en SQL, ils posent souvent (presque toujours) un ou deux problèmes sur l'écriture d'une requête SQL. Par conséquent, il est très important d’affiner vos compétences pratiques en SQL pour vous montrer sous un bon jour. Une excellente ressource pour acquérir la pratique de SQL peut être la ressource sql-ex.ru .

6. MySQL/PostgreSQL

Après avoir appris le langage SQL, vous devez vous familiariser avec l'implémentation spécifique de la base de données. Selon la base de données, certaines commandes peuvent varier considérablement. Et la différence dans les capacités des bases de données est tout à fait perceptible. Les bases de données relationnelles les plus courantes sont MySQL et PostgreSQL . Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 4MySQL est beaucoup plus simple, mais PostgreSQL a plus de fonctionnalités. Pour commencer, il suffit de connaître au moins l’un d’entre eux. Vous pouvez étudier les implémentations de bases de données si vous utilisez vos compétences en recherche sur Google - trouvez les articles et tutoriels nécessaires sur Youtube. Vous devez savoir rechercher correctement les questions qui vous intéressent, car un programmeur est une personne « ceinture noire » dans les recherches Google.

7. Maven/Gradle

Vous devez étudier l'un des frameworks Gradle ou Maven , conçus pour assembler des projets, car désormais, pour vous, Java n'est pas seulement des tâches de quelques classes, mais aussi un langage pour écrire des applications à part entière. Vous devez comprendre comment assembler un projet, quelles sont les étapes d'assemblage, comment charger les bibliothèques externes nécessaires avec du code prêt à l'emploi, et bien plus encore. Même si Gradle est plus récent et plus concis, Maven est utilisé dans la plupart des cas. Par conséquent, portez une attention particulière au cycle de vie de son assemblage.

8. Git

Git est un système de contrôle de version distribué. Cette technologie permet aux développeurs de créer conjointement une application sans interférer les uns avec les autres. Bien entendu, il existe des analogues à ce système de contrôle de version. Par exemple, Subversion . Mais c'est Git qui est principalement utilisé et il faut pouvoir travailler avec. Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 5En plus des articles pédagogiques à ce sujet, il existe suffisamment de vidéos sur Youtube qui vous aideront à maîtriser cette technologie étape par étape. Au début, il est préférable d'utiliser la console Git, et non une sorte d'implémentation d'interface, car vous devrez tout faire via des commandes. Lors des entretiens, les gens demandent souvent certaines commandes Git , je vous recommande donc de les noter et de les conserver dans un endroit à portée de main. Je vous conseille également de conserver une note dans laquelle vous noterez les points les plus importants, afin qu'avant l'entretien vous puissiez le parcourir et vous rafraîchir la mémoire.

9.JDBC

Cette technologie est conçue pour fournir une connectivité entre votre application Java et une base de données relationnelle. Pour vous familiariser avec les bases, je vous recommande de lire l'article JDBC ou Where It All Begins. Il existe de nombreux articles expliquant la technologie JDBC et fournissant des exemples élémentaires, malgré le fait que plus personne n'utilise directement JDBC nu.

10.JPA. Hiberner

JPA est un moyen d'établir une connexion entre une application Java et une base de données, tout comme JDBC. Mais en même temps, JPA est une technologie de niveau supérieur et, par conséquent, plus facile à utiliser. Mais JPA n’est qu’une spécification (un concept) qui n’est pas implémentée et nécessite une implémentation spécifique. Il existe de nombreuses implémentations de ce type, mais la plus proche des idéaux de JPA, populaire et développée, est considérée comme Hibernate . Au cours de votre carrière de développement, vous rencontrerez cette technologie plus d’une fois. Par conséquent, en plus de vous familiariser avec cette technologie à travers des articles, il peut être intéressant d'envisager de lire un livre à ce sujet, par exemple « Java Persistence API ».

11. Printemps

Lorsque vous devenez développeur Java, Spring n'est plus qu'un mot pour vous. Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 6Or ce framework partage la première place en importance avec la nécessité de connaître la syntaxe du langage Java. On peut dire que Spring a son homologue, à savoir les technologies Java EE. Mais Java EE est obsolète et n'est plus utilisé dans les nouveaux projets. La grande majorité des développeurs Java sont désormais des développeurs Java Spring, la connaissance de certaines technologies Spring de base est donc obligatoire. Spring n'est pas seulement un framework, mais toute une plateforme de frameworks : Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 7et ce n'est qu'une partie des frameworks fournis par Spring. Il suffit à un débutant d'en connaître seulement quelques-uns :

  • Noyau de ressort

Il devrait être en premier lieu de comprendre ce qu'est Spring : ce que sont un conteneur Spring, des beans, DI, IoC, etc. Pour ainsi dire, comprenez la philosophie même de l’utilisation de Spring. Une étude plus approfondie des frameworks Spring aura lieu sur la base de cette base. Cela vaut peut-être la peine de créer votre propre petite application, à laquelle vous ajouterez progressivement les nouvelles technologies apprises.

  • Printemps JDBC

Plus tôt, nous avons parlé de la technologie JDBC comme d'une technologie permettant de créer une connexion à une base de données. En général, l'utilisation « nue » de la technologie n'est peut-être pas présente dans les projets à l'heure actuelle, il peut donc sembler que l'apprentissage de JDBC n'est pas nécessaire. Mais ce n’est pas le cas. En examinant l'essentiel de JDBC, vous pouvez voir la technologie à un niveau inférieur et comprendre ses problèmes et ses lacunes. Une fois que vous aurez commencé à apprendre Spring JDBC, vous comprendrez exactement ce que ce framework améliore, optimise et cache à nos yeux.

  • Hibernation printanière

Comme avec JDBC simple, ce framework améliore l'utilisation d'une technologie existante, en l'occurrence Hibernate. Si vous envisagez d'utiliser Hibernate sans Spring, vous comprendrez exactement quel est l'avantage d'utiliser Spring Hibernate.

  • JPA de printemps

Plus tôt, nous avons parlé de JPA et du fait qu'il ne s'agit que d'une spécification pour laquelle il existe diverses implémentations. Parmi ces implémentations, Hibernate est la plus proche de l'idéal. Spring a sa propre implémentation idéale de JPA, qui utilise Hibernate « sous le capot » et est aussi proche que possible de l'idéal des spécifications JPA. Cette technologie s'appelle Spring JPA. À propos, cela simplifie grandement l'accès à la base de données. Vous pouvez apprendre JPA uniquement sans apprendre JDBC, Hibernate, Spring JDBC, Spring Hibernate. Mais dans ce cas, vos connaissances en matière de connexion à une base de données seront très superficielles.

  • Printemps MVC

Avec cette technologie, nous pouvons afficher l'interface web de notre application aux utilisateurs et permettre à l'interface de communiquer avec le reste de l'application. La technologie peut également fonctionner sans affichage, lorsqu'il existe une application responsable de l'affichage et que vous interagissez avec cette application à l'aide de requêtes et de réponses utilisant la technologie RESTful . Pour mieux comprendre les informations sur Spring, en plus des articles et des conférences sur YouTube, vous pouvez lire plusieurs livres. J'ai beaucoup aimé le livre « Spring in Action » de Walls Craig. Malheureusement, en russe, il n'existe désormais que la troisième version, considérée comme obsolète. Je vous conseille de lire la version 6 si vous connaissez bien l'anglais. Un autre excellent livre sur Spring est « Spring 5 for Professionals ». C'est plus difficile à apprendre et cela ressemble plus à une bible du printemps qu'il vaut mieux garder à portée de main que de lire d'un bout à l'autre.Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 8

  • Botte de printemps

Cette technologie simplifie grandement l’utilisation de Spring. Je l'ai mis à la fin de la liste pour une raison, car il cache beaucoup de choses sous le « capot » et pour une personne peu familière avec Spring ordinaire, de nombreux points peuvent ne pas être évidents et incompréhensibles. Tout d'abord, pour une meilleure compréhension du fonctionnement des frameworks Spring, vous devez utiliser Spring standard, puis tous les avantages supérieurs de l'utilisation de Spring Boot. Je vous conseille également de vous familiariser avec Spring Security et Spring AOP. Mais contrairement aux technologies ci-dessus, une connaissance approfondie de ces deux technologies n’est pas nécessaire à l’heure actuelle. Cette technologie n'est pas destinée aux débutants. Lors des entretiens, les juniors ne sont pas interrogés à leur sujet (sauf peut-être pour une question superficielle). Lisez en général ce que sont ces technologies et comment elles fonctionnent. Tout au long de cet article, j’ai mentionné à plusieurs reprises la lecture de livres. D’une part, cela n’est pas nécessaire. Vous pouvez devenir programmeur sans lire un seul livre, après avoir étudié tout ce dont vous avez besoin, des articles et des vidéos de formation. D'un autre côté, la concurrence sur le marché des développeurs novices est actuellement forte, ce qui place la barre plus haut en ce qui concerne les connaissances initiales requises pour un débutant. Par conséquent, plus vous en savez, plus vite vous pourrez trouver votre premier emploi, impressionnant ainsi l'intervieweur par votre niveau de connaissances. Merci à tous et que Java soit avec vous .Liste de contrôle du développeur Java.  Ce qu'un développeur doit savoir - 9
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION