Maison  >  Article  >  Java  >  Expérience de projet Java - processus de croissance des programmeurs

Expérience de projet Java - processus de croissance des programmeurs

巴扎黑
巴扎黑original
2017-06-26 10:25:281245parcourir

Java est utilisé pour les projets ! Le principal domaine d'application de Java est le développement de projets au niveau de l'entreprise ! Si vous souhaitez vous engager dans le développement de projets au niveau de l'entreprise, vous devez maîtriser les points suivants :

1. Maîtriser les étapes de base du développement de projets

2 Avoir une solide analyse et conception orientées objet. compétences

3. Maîtrisez la méthode de développement grand public basée sur les cas d'utilisation et centrée sur l'architecture

Personne ne veut se contenter de maîtriser certaines compétences d'implémentation de code au cours de sa vie si d'autres vous disent quoi faire. implémentez-le, vous l'utilisez simplement Empilement de code pour implémenter les exigences des autres ! Il faut apprendre à penser dans la perspective de l’ensemble du projet ! Vous devez apprendre à réfléchir si vous êtes chef de projet ! Vous devez apprendre à penser si vous êtes architecte ! Vous devez maîtriser les méthodes analytiques pour une problématique spécifique !

À propos des connaissances de base sur la tuberculose : vous pouvez examiner ces noms ou points de connaissance et voir si vous pouvez leur en dire un, deux, trois ou quatre.

JavaSE

----Syntaxe de base, types de données, opérateurs, etc. : int, long, Integer, Long, if, else, for, while

- - --Orienté objet : classe, objet, instance, état, comportement, champ, méthode, nouveau, visibilité (contrôle d'accès), attribut, propriété, package, importation, variable statique, variable de classe, variable d'instance, tas, zone de méthode , pile, GC (garbage collection), remplacement, surcharge, transformation d'objet (casting), polymorphisme, this, super

----Traitement des exceptions : comprendre la différence entre les erreurs de compilation et les erreurs d'exécution , Exception, RuntimeException, exception vérifiée, exception non vérifiée, essayer, attraper, enfin, lancer une nouvelle XXXException, lancer XXXException, les principes de base de la gestion des exceptions

--- -Tableaux et collections : la définition et l'utilisation des tableaux , Collection, List, Set, Map, ArrayList, HashSet, HashMap, Iterator, equals, hashCode, Comparable, Comparator

----Classes couramment utilisées : String, interne, pool constant, StringBuffer, java.util .Date, SimpleDateFormat, Regex (expression régulière)

----Mécanisme de réflexion : classe, méthode, champ, invocation, newInstance, BeanUtils (apache-commons) , PropertyUtils (apache-commons)

----Flux d'entrée et de sortie : InputStream, OutputStream, Reader, Writer, modèle de conception d'adaptateur et classe de flux d'origine, modèle de conception Decorator et classe de flux wrapper, sérialisation d'objet et sérialisation inversée

---- Multi-threading : Thread, Runnable, sleep, wait, notify, synchronisé, lock

Servlet et JSP

----HttpServlet, doGet , doPost, HttpServletRequest, HttpServletResponse, request.getParameter( ), request.setAttribute(), request.getAttribute(), request.getSession(), ServletContext, Filter, web.xml, tomcat, forward et redirect, propriétés du protocole http sans état, cookies, JSP Scope Object,

HTML et JavaScript

----Vous devez être capable de comprendre les balises de page Web courantes, de comprendre comment introduire JavaScript dans les pages Web, ainsi que les bases de la syntaxe et de l'utilisation de JavaScript

Le ci-dessus se trouvent les connaissances de base dont vous avez besoin pour apprendre davantage Java. Surtout certains termes et noms professionnels. Si vous voyez ces noms avec autant de gentillesse que de voir votre propre père, cela signifie que vous connaissez très bien les connaissances de base de Java.

Vient ensuite SSH :

Pour les débutants, ces trois frameworks majeurs sont trop mystérieux, et il semble qu'ils soient les connaissances les plus importantes ! Mais pour le personnel professionnel et technique ayant de nombreuses années d'expérience en développement Java, et ceux qui maîtrisent bien Java, ils ne sont pas très intéressés par ces trois frameworks majeurs ! Ne sont-ils pas importants ?

De nombreuses entreprises utilisent désormais ces trois grands frameworks, c'est pourquoi de nombreuses entreprises considèrent également la maîtrise de ces trois grands frameworks comme un prérequis au recrutement. Il est indéniable qu'il existe de nombreuses grandes entreprises qui n'utilisent pas ces trois cadres majeurs.Après des années de développement, ces entreprises ont accumulé une certaine quantité de technologie et ont formé leur propre système de cadre technique unique. Ces trois cadres majeurs peuvent être considérés comme très importants, ou comme sans importance.

La raison importante est que ces trois frameworks majeurs fournissent de belles solutions aux problèmes courants du développement JavaEE. Ils contiennent les efforts et les idées de la plupart des développeurs NB de ce secteur. Par conséquent, en étudiant ces trois frameworks majeurs, vous. peut avoir un aperçu de ce que ces personnes talentueuses, à la pointe de la technologie, pensent d'un problème et du type d'idées de conception qu'elles utilisent pour résoudre le problème. Alors, pour vous, vous n’avez pas beaucoup d’expérience en développement de projets, quelle est votre expérience ? L'expérience signifie que vous savez quels problèmes vous pouvez rencontrer, quelles solutions sont disponibles pour chaque problème, quelle solution est la meilleure dans une certaine situation, quelle méthode n'est pas si bonne, etc. ! Si vous n’avez jamais réalisé de projets, vous ne réalisez pas quels problèmes vous pouvez rencontrer, et ces problèmes sont souvent très critiques ! Si le problème n'est pas bien résolu, cela affectera la stabilité, l'évolutivité, etc. de votre programme ! Les trois principaux frameworks permettent aux débutants de comprendre les problèmes que vous pourriez rencontrer à l'avenir, ainsi que les solutions à ces problèmes !

Lorsque vous comprenez pourquoi ces trois cadres majeurs sont importants, vous pouvez également comprendre pourquoi ces trois cadres majeurs peuvent également être considérés comme sans importance. Si vous avez développé de nombreux projets et rencontré divers problèmes, en vous appuyant sur vos compétences techniques, vous avez résolu ces problèmes un à un. Aux yeux de ces personnes, les trois frameworks majeurs (existe-t-il N frameworks ? Haha ) sont tous des nuages ​​!

À quel genre de personne appartenez-vous ? Si vous n’avez pas beaucoup d’expérience en développement de projets, alors les trois principaux frameworks sont très importants pour vous ! De plus, à partir de là, vous savez également comment apprendre ces trois cadres. Pour l'apprentissage des trois principaux cadres, l'objectif est de vous montrer les problèmes et de déclencher votre propre réflexion active. Nous vous encourageons à présenter vos propres idées. Peut-être que vos idées sont idiotes, mais ce sont vos propres idées après tout. Je ne sais pas ce que pensent les gens formidables, alors comment savez-vous que vos propres idées sont idiotes ? Au cours de cette collision d’idées, vous vous améliorerez progressivement ! Par conséquent, après avoir appris les trois principaux frameworks, vous ne devriez pas seulement voir de nombreux fichiers de configuration. Vous ne devriez pas seulement voir certaines actions, certains services et certains fichiers de mappage. Vous ne devriez pas seulement connaître session.save/update/delete. vous ne devriez pas seulement savoir qu'il y a un tas d'intercepteurs dans struts2, vous ne devriez pas seulement voir un tas de packages jar...

Si vous savez juste qu'après avoir copié un tas de packages jar et défini un série de fichiers de configuration, les trois principaux frameworks SSH. Cela peut fonctionner et fonctionner pour vous. Malheureusement, vous n'avez toujours pas maîtrisé l'essence des trois principaux frameworks ! Veuillez répondre aux questions suivantes :

Struts2 :

Pourquoi devez-vous créer un objet Action pour chaque requête ?

Quel problème rafraîchitModelBeforeResult résout dans la configuration de l'intercepteur ModelDriven ?

Pourquoi le StrutsPrepareAndExecuteFilter configuré dans web.xml filtre-t-il toutes les requêtes ?

Pouvez-vous me parler de ValueStack ?

Comment Struts2 implémente-t-il le modèle de conception MVC ?

Spring :

Pourquoi souhaitez-vous utiliser Spring ?

Pouvez-vous s'il vous plaît parler d'IOC/DI ?

Qu'est-ce que la gestion déclarative des transactions ? Pourquoi utiliser la gestion déclarative des transactions ? Comment Spring implémente-t-il la gestion déclarative des transactions ?

Lors de l'intégration de Spring et Hibernate et de la définition des fonctionnalités de gestion des transactions, pourquoi les méthodes autres que les opérations d'ajout, de suppression et de mise à jour, c'est-à-dire les méthodes qui effectuent principalement des tâches de requête, devraient-elles être définies en lecture seule ?

Hibernate :

Pourriez-vous s'il vous plaît partager votre compréhension de la cartographie OR ?

Beaucoup de gens disent qu'Hibernate n'est pas adapté aux grands projets et a des problèmes de performances. Que comprenez-vous ?

Pourquoi Hibernate doit-il définir un identifiant de base de données ?

Pourquoi Hibernate recommande-t-il que vos classes d'entités implémentent les méthodes hashCode et equals ?

Parlez de votre compréhension de la relation entre l'identifiant de la base de données et la clé primaire de la base de données dans la classe d'entité Hibernate ?

Parlez de votre compréhension de la relation entre le mappage d'association Hibernate et les clés étrangères de base de données ?

Lorsque la méthode session.save() est appelée, hibernate émettra-t-il définitivement une instruction d'insertion ? Parlez de votre compréhension

Lors de l'appel de la méthode session.update(), hibernate émettra-t-il définitivement une instruction de mise à jour ? Parlez de votre compréhension

Veuillez parler des noms, concepts ou usages suivants : lazy, lazy=”extra”, inverse, fetch, fetch=”join”, fetch=”subselect”, batch-size

Le chargement différé sera-t-il obtenu si lazy="true" est configuré ?

Veuillez parler du problème "N+1" dans Hibernate

Pouvez-vous s'il vous plaît parler des meilleures pratiques pour Hibernate ?

Les questions ci-dessus ne représentent pas toutes les questions clés de SSH, mais elles peuvent tester si vous pouvez utiliser le framework SSH de manière flexible ! Si vous parvenez à comprendre ces problématiques en profondeur, couplé à une formation pratique adaptée aux projets, vous deviendrez progressivement un expert !

Enfin, les capacités de développement de projets :

Que vous appreniez Java ou d'autres technologies, votre objectif fondamental est de créer de la valeur pour les clients ! Sinon, les choses que vous avez fait de grands efforts pour apprendre deviendront bientôt obsolètes à mesure que la technologie progresse et est mise à jour ! Par conséquent, le cœur de la technologie est d’utiliser la technologie pour créer des résultats précieux ! En d’autres termes, quels que soient les besoins du client, vous devez utiliser la technologie pour créer ce dont le client a besoin ! La raison pour laquelle une entreprise fait de son mieux pour vous retenir avec diverses conditions sociales est que vous pouvez apporter des avantages extrêmement élevés à l'entreprise ! Alors, qu’avez-vous que les entreprises peuvent utiliser ? Quelle de vos capacités l’entreprise apprécie-t-elle le plus ?

Réaliser des projets nécessite de nombreuses capacités, dont la plus fondamentale est la capacité de modélisation (la plus courante actuellement est la modélisation orientée objet !). Qu’est-ce que la capacité de modélisation ?

Je vais vous poser une question d'entretien :

Un module de gestion des cartes d'assurance d'une compagnie d'assurance : le personnel commercial collecte les informations de la carte d'assurance (nombre de cartes d'assurance, numéro de carte, date de retrait) , puis le vend directement au client , une fois la vente terminée, saisissez les informations de la carte d'assurance dans le système de la compagnie d'assurance (informations sur le vendeur, informations sur l'acheteur, nombre de cartes d'assurance achetées, numéro de carte, etc.). sur le site Web de la compagnie d'assurance pour activer la carte d'assurance et doit remplir (numéro de carte d'assurance, numéro de carte d'activation, etc.) Mot de passe, informations assurées, informations sur le bénéficiaire)

La condition est la suivante : Si ce module est remis à toi, que vas-tu faire ? Quels problèmes essayez-vous de résoudre ? Pourriez-vous faire un dessin et me décrire quelle est votre idée ?

Ce n'est qu'une question d'entretien. Parce qu'elle ne contient que quelques phrases simples, je la mets ici pour permettre à chacun de ressentir quels problèmes la soi-disant modélisation doit résoudre. Il y a tellement de problèmes dans le domaine des affaires ! Peut-être qu'un document d'exigences de plusieurs dizaines ou centaines de pages peut décrire clairement les problèmes dans un certain domaine d'activité, et votre responsabilité est de les mettre en œuvre !

Une entreprise souhaite développer un système de gestion des présences et exige qu'il soit connecté au système de ressources humaines existant. Vous êtes le principal responsable technique Alors, quel travail faites-vous ?

Un certain projet ERP souhaite implémenter un module de gestion des équipes et vous laisse le réaliser. Comment le compléter ?

Ne vous plaignez pas que le chef de projet vous ait donné trop peu d'informations (seulement quelques phrases), et ne vous plaignez pas que le client n'ait pas décrit clairement ses besoins... Votre valeur réside dans le tri tous les problèmes, en utilisant divers moyens Obtenez les informations que vous souhaitez, résumez-les selon une certaine idée et résolvez-les une par une dans un délai précis !

Vous devez comprendre qu'apprendre Java n'est pas aussi simple qu'une bataille de chars, un speedster réseau, un CMS, un DRP ou un OA. Vous ne devez pas vous livrer à ces détails techniques (bien que cela soit également nécessaire, mais n'allez pas trop loin) ), ne vous contentez pas de réaliser les exigences du projet de style CRUD (bien que ce soit la base de la fondation). Il y a toujours un objectif devant vous pour lequel vous devez travailler dur. rattraper!

À l'avenir, vous serez confronté à des exigences plus complexes. Le seul but de votre projet d'étude est d'apprendre à transformer les exigences en mise en œuvre, à analyser les exigences, à construire des modèles conceptuels et à rationaliser divers éléments. concepts. La relation entre eux, comment concevoir, comment choisir la technologie appropriée pour mettre en œuvre votre conception, comment tester votre mise en œuvre et comment résoudre toutes sortes de problèmes que vous rencontrez (performances, changements de la demande, etc.). Après avoir effectivement travaillé pendant plusieurs années dans le développement de l'entreprise, vous serez d'accord avec moi !

Ce dont vous avez besoin pour trouver un emploi avec Java, c'est une expérience de projet. L'expérience de projet signifie comprendre le processus de base du développement de projet, comprendre la méthode d'analyse de projet, comprendre les idées de conception de projet, comprendre les compétences de mise en œuvre du projet et comprendre. la méthode de test de projet, comprenez les solutions aux différents problèmes du projet ! ! !

Alors, il est temps pour vous de connaître vos objectifs !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn