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é. Tout 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 ».
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.
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.
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.
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.
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.
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 .
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.
- « La philosophie de Java », Bruce Eckel ;
- « Programmation efficace », Joshua Bloch ;
- "Java. Le guide complet », Herbert Schildt.
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.
GO TO FULL VERSION