Macroscopiquement :
1. Étendue technique
Vous devez au moins maîtriser plusieurs technologies open source et avoir étudié le code source de strutsspring, etc.
2. En termes d'expérience de projet
J'ai suivi plusieurs grands projets du début à la fin. Le début fait référence à l'étape de la demande, y compris la recherche de la demande.
La queue fait référence à l'après la livraison en ligne, y compris la phase de maintenance.
3. Expérience en architecture
Avoir une expérience en architecture et développement de systèmes distribués. Il possède une vaste expérience dans l’optimisation structurelle inter-systèmes et les indicateurs de performance du stockage de données. La mise en cache, la segmentation verticale des bases de données, l'abstraction métier et le fractionnement horizontal, tout cela devrait vous être familier.
4. En termes de domaines industriels
Vous devez au moins maîtriser un ou deux métiers. La soi-disant compétence signifie que si vous êtes dans le secteur des titres financiers, vous devez en être au moins la moitié. un analyste financier. Ceux qui travaillent dans le secteur de l’énergie électrique devraient être au moins à moitié ingénieur en énergie électrique.
5. Cultivation personnelle
Ayez vos propres idées uniques et ne suivez pas ce que disent les autres.
1. Vous devez maîtriser l'analyse et la conception orientées objet (OOA/OOD), impliquant des modèles (GOF, J2EEDP) et des modèles complets. . Vous devez avoir une bonne compréhension d'UML, en particulier des classes, des objets, des interactions et des diagrammes énoncés.
2. Vous devez apprendre les bases du langage JAVA et de ses bibliothèques de classes principales (collections, sérialisation, flux, mise en réseau, multithreading, réflexion, événement, gestion, NIO, localisation et autres) .
3. Vous devez comprendre la JVM, les chargeurs de classe, classreflect et le mécanisme de fonctionnement de base du garbage collection. Vous devriez être capable de décompiler un fichier de classe et de comprendre quelques instructions d'assemblage de base.
4. Si vous souhaitez écrire des programmes clients, vous devez apprendre les applets WEB et maîtriser les idées et les méthodes de conception d'interface graphique, ainsi que SWING, AWT et SWT des programmes de bureau. Vous devez également comprendre le modèle de composant JAVABEAN pour les widgets de l'interface utilisateur. JAVABEANS est également utilisé dans JSP pour séparer la logique métier de la couche de présentation.
5. Vous devez apprendre la technologie de base de données Java, telle que JDBCAPI et être capable d'utiliser au moins une architecture de persistance/ORM, telle que Hibernate, JDO, CocoBase, TopLink, InsideLiberator (JDO rouge domestique logiciel d'usine) ou iBatis.
6. Vous devez également comprendre la signification de l'inadéquation d'impédance dans les relations d'objet, et comment elle affecte l'interaction des objets métier avec les bases de données relationnelles, ainsi que ses résultats de fonctionnement. Vous devez également maîtriser différents produits de base de données. application, telle que : oracle, mysql, mssqlserver.
7. Vous devez apprendre le modèle de sécurité sandbox de JAVA (chargeurs de classes, vérification du bytecode, gestionnaires, politiques et autorisations, conception de code, signatures numériques, cryptographie, certification, Kerberos et autres) et différentes API de sécurité/authentification. tels que JAAS (JavaAuthenticationandAuthorizationService), JCE (JavaCryptographyExtension), JSSE (JavaSecureSocketExtension) et JGSS (JavaGeneralSecurityService).
8. Vous devez apprendre les Servlets, JSP et JSTL (StandardTagLibraries) et les TagLibraries tierces facultatives.
9. Vous devez être familier avec les frameworks Web traditionnels, tels que JSF, Struts, Tapestry, Cocoon, WebWork, et leurs modèles sous-jacents, tels que MVC/MODEL2.
10. Vous devez apprendre à utiliser et gérer des serveurs WEB, tels que Tomcat, Resin, Jrun, et savoir comment développer et maintenir des programmes WEB basés sur ceux-ci.
11. Vous devez apprendre les objets distribués et les API distantes, telles que RMI et RMI/IIOP.
12. Vous devez maîtriser diverses normes technologiques middleware populaires et leur mise en œuvre en combinaison avec Java, telles que Tuxedo, CROBA et bien sûr JavaEE lui-même.
13. Vous devez apprendre au moins une XMLAPI, telle que JAXP (JavaAPI for XMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J ou JAXR (JavaAPIforXMLRegistries).
14. Vous devez apprendre à utiliser l'API et les outils JAVA pour créer WebService. Par exemple, JAX-RPC (JavaAPI pour XML/RPC), SAAJ (SOAPwithAttachmentsAPIforJava), JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging), JAXR (JavaAPIforXMLRegistries) ou JWSDP (JavaWebServicesDeveloperPack).
15. Vous devez apprendre un framework d'application léger, tel que Spring, PicoContainer, Avalon et leurs styles IoC/DI (setter, constructeur, interfaceinjection).
16. Vous devez être familier avec différentes technologies J2EE, telles que JNDI (JavaNamingandDirectoryInterface), JMS (JavaMessageService), JTA/JTS (JavaTransactionAPI/JavaTransactionService), JMX (JavaManagementeXtensions) et JavaMail.
17. Vous devez apprendre les Enterprise JavaBeans (EJB) et leurs différents modèles de composants : Stateless/StatefulSessionBeans, EntityBeans (y compris Bean-ManagedPersistence [BMP] ou Container-ManagedPersistence [CMP] et ses EJB- QL) ou Message-DrivenBeans (MDB).
18. Vous devez apprendre à gérer et configurer un serveur d'applications J2EE, tel que WebLogic, JBoss, etc., et profiter de ses services supplémentaires, tels que le clustering, le pooling de connexions et prise en charge du traitement distribué. Vous devez également comprendre comment empaqueter et configurer des applications et être capable de surveiller et d'ajuster ses performances.
19. Vous devez être familier avec la programmation orientée aspects et la programmation orientée attributs (qui sont toutes deux abrégées de manière confuse en AOP), ainsi que leurs spécifications et implémentations JAVA traditionnelles. Par exemple AspectJ et AspectWerkz.
20. Vous devez être familier avec différentes API et cadres utiles pour vous servir. Par exemple, Log4J (journalisation/traçage), Quartz (planification), JGroups (communication de groupe réseau), JCache (mise en cache distribuée), Lucene (recherche en texte intégral), JakartaCommons, etc.
21. Si vous comptez vous connecter ou vous interfacer avec un ancien système ou une plateforme locale, vous devez apprendre JNI (JavaNativeInterface) et JCA (JavaConnectorArchitecture).
22. Vous devez être familier avec la technologie JINI et ses systèmes distribués associés, comme la maîtrise de CROBA.
23. Vous avez besoin de JavaCommunityProcess (JCP) et de ses différentes JavaSpecificationRequests (JSR), telles que Portlets (168), JOLAP (69), DataMiningAPI (73), etc.
24. Vous devez maîtriser un JAVAIDE tel que sunOne, netBeans, IntelliJIDEA ou Eclipse. (Certaines personnes préfèrent VI ou EMACS pour écrire des fichiers. Quoi que vous utilisiez :)
25. JAVA (certaines configurations pour être précis) est verbeux et nécessite beaucoup de codage manuel (EJB), donc vous devez être familier avec les outils de génération de code tels que XDoclet.
26. Vous devez être familier avec un système de tests unitaires (JNunit) et apprendre différents outils de génération et de déploiement (Ant, Maven).
27. Vous devez être familier avec certains processus de génie logiciel souvent utilisés dans le développement JAVA. Par exemple, les méthodes RUP (Rational Unified Process) et Agile.
28. Vous devez être capable d'avoir une compréhension et une maîtrise approfondies de l'exploitation et de la configuration de différents systèmes d'exploitation, tels que GNU/linux, sunsolaris, macOS, etc., en tant que cross- développeur de logiciels de plateforme.
29. Vous devez également suivre le rythme du développement Java. Par exemple, vous pouvez désormais apprendre JavaME en profondeur, ainsi que l'application de diverses nouvelles spécifications et technologies Java, telles que. la nouvelle technologie de client riche Web.
30. Vous devez savoir quelque chose sur l'open source, car au moins de nombreuses technologies Java sont directement pilotées par l'open source, comme la technologie java3D.
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!