Maison >Java >javaDidacticiel >La clé de la croissance en tant que programmeur Java

La clé de la croissance en tant que programmeur Java

大家讲道理
大家讲道理original
2017-08-19 14:05:571302parcourir

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 de solides compétences en analyse et en conception orientées objet
3. Maîtrisez le lecteur de cas d'utilisation , Méthodes de développement généralisées avec l'architecture comme noyau

Personne ne veut se contenter de maîtriser certaines compétences d'implémentation de code pendant toute une vie. D'autres vous disent ce qu'il faut réaliser, et vous utilisez l'empilement de code pour en réaliser d'autres. les exigences des gens ! 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 : Vous pouvez regarder 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 (classe), Objet (objet), instance (instance), état (état), comportement (comportement), champ, méthode, nouveau, visibilité (contrôle d'accès), attribut, propriété, package, import, variable statique, classe variable, variable d'instance, tas, zone de méthode, pile, GC (garbage collection), remplacement, surcharge, transformation d'objet (casting), polymorphisme, this, super
----Gestion des exceptions : compréhension des erreurs de compilation et exécution -time La différence entre les erreurs, Exception, RuntimeException, exception vérifiée, exception non vérifiée, essayer, attraper, enfin, lancer une nouvelle XXXException, lancer XXXException, principes de base de la gestion des exceptions
----Tableaux et collections : la définition et l'utilisation de tableaux, Collection, List, Set, Map, ArrayList, HashSet, HashMap, Iterator, égal à, hashCode, Comparable, Comparator
----Classes communes : 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)
----Entrée et flux 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 packagée, sérialisation et désérialisation d'objets
----Multi-threading : Thread, Runnable, sleep, wait, notifier, synchronisé, verrouiller

Servlet et JSP
----HttpServlet, doGet, doPost, HttpServletRequest, HttpServletResponse, request.getParameter(), request.setAttribute(), request.getAttribute(), request . getSession(), ServletContext, Filter, web.xml, tomcat, transfert et redirection, nature apatride du protocole http, cookie, objet de portée JSP, ,

HTML et JavaScript
----Vous devez être capable de comprendre les balises de page Web courantes, de comprendre les méthodes d'introduction de JavaScript dans les pages Web, ainsi que la syntaxe et l'utilisation de base de JavaScript

Ce qui précède représente toutes 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. Comment 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
Configuration Will lazy="true" réalise-t-il définitivement un chargement paresseux ?
Veuillez parler du problème "N+1" dans Hibernate
Pouvez-vous s'il vous plaît parler des meilleures pratiques d'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 et 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 vendeur reçoit les informations de la carte d'assurance (nombre de cartes d'assurance, numéro de carte, date d'encaissement), puis vend directement au client et la vente est conclue. Ensuite, les informations de la carte d'assurance sont saisies 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.). site Internet de la compagnie d'assurance pour activer la carte d'assurance et à remplir (numéro de carte d'assurance, mot de passe d'activation et mot de passe). Informations sur l'assureur, informations sur le bénéficiaire)

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

Ceci n'est qu'une question d'entretien. Parce qu'elle ne contient que quelques phrases simples, je la pose ici pour permettre à chacun de ressentir les problèmes que 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 a donné trop peu d'informations (seulement quelques phrases), et ne vous plaignez pas que le client n'a pas décrit clairement ses besoins... Votre valeur réside en triant tous les problèmes et en utilisant diverses méthodes pour les résoudre. Obtenez les informations que vous souhaitez par divers moyens, 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 d'un projet, comprendre la méthode d'analyse du projet, comprendre les idées de conception du projet, comprendre les compétences de mise en œuvre du projet. , et comprendre le projet Tester les méthodes et comprendre 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