Heim  >  Artikel  >  Java  >  Java-Projekterfahrung – Entwicklungsprozess eines Programmierers

Java-Projekterfahrung – Entwicklungsprozess eines Programmierers

巴扎黑
巴扎黑Original
2017-06-26 10:25:281244Durchsuche

Java wird für Projekte verwendet! Der Hauptanwendungsbereich von Java ist die Projektentwicklung auf Unternehmensebene! Wenn Sie sich an der Projektentwicklung auf Unternehmensebene beteiligen möchten, müssen Sie die folgenden Punkte beherrschen:

1. Beherrschen Sie die grundlegenden Schritte der Projektentwicklung

2 Fähigkeiten

3. Beherrschen Sie die anwendungsfallgesteuerte, architekturzentrierte Mainstream-Entwicklungsmethode

Niemand möchte sich im Laufe seines Lebens damit zufrieden geben, einige Fähigkeiten zur Codeimplementierung zu beherrschen Implementieren Sie einfach Code-Stacking, um die Anforderungen anderer Leute zu implementieren! Man muss lernen, aus der Perspektive des gesamten Projekts zu denken! Als Projektmanager müssen Sie lernen zu denken! Als Architekt müssen Sie lernen zu denken! Sie müssen analytische Methoden für ein bestimmtes Problemfeld beherrschen!

Über grundlegendes TB-Wissen: Sie können sich diese Substantive oder Wissenspunkte ansehen und sehen, ob Sie ihnen eins, zwei, drei oder vier sagen können.

JavaSE

----Grundlegende Syntax, Datentypen, Operatoren usw.: int, long, Integer, Long, if, else, for, while

- - --Objektorientiert: Klasse, Objekt, Instanz, Zustand, Verhalten, Feld, Methode, neu, Sichtbarkeit (Zugriffskontrolle), Attribut, Eigenschaft, Paket, Import, statische Variable, Klassenvariable, Instanzvariable, Heap, Methodenbereich , Stack, GC (Garbage Collection), Override, Überladung, Objekttransformation (Casting), Polymorphismus, this, super

----Ausnahmeverarbeitung: Verstehen Sie den Unterschied zwischen Fehlern zur Kompilierungszeit und Laufzeitfehlern , Ausnahme, RuntimeException, geprüfte Ausnahme, ungeprüfte Ausnahme, versuchen, abfangen, schließlich neue XXXException auslösen, XXXException auslösen und die Grundprinzipien der Ausnahmebehandlung

--- -Arrays und Sammlungen: Definition und Verwendung von arrays, Collection, List, Set, Map, ArrayList, HashSet, HashMap, Iterator, equal, hashCode, Comparable, Comparator

----Häufig verwendete Klassen: String, intern, konstanter Pool, StringBuffer, Java. util.Date, SimpleDateFormat, Regex (regulärer Ausdruck)

----Reflexionsmechanismus: Klasse, Methode, Feld, Aufruf, newInstance, BeanUtils (Apache-Commons), PropertyUtils (Apache-Commons)

----Eingabe- und Ausgabestreams: InputStream, OutputStream, Reader, Writer, Adapter-Entwurfsmuster und ursprüngliche Stream-Klasse, Decorator-Entwurfsmuster und Wrapper-Stream-Klasse, Objektserialisierung und umgekehrte Serialisierung

--- -Multi-Threading: Thread, ausführbar, schlafen, warten, benachrichtigen, synchronisiert, sperren

Servlet und JSP

----HttpServlet, doGet, doPost, HttpServletRequest, HttpServletResponse, request.getParameter (), request.setAttribute(), request.getAttribute(), request.getSession(), ServletContext, Filter, web.xml, Tomcat, Weiterleiten und Umleiten, zustandslose HTTP-Protokolleigenschaften, Cookies, JSP Scope Object,

HTML und JavaScript

----Sie müssen in der Lage sein, gängige Webseiten-Tags zu verstehen, zu verstehen, wie man JavaScript in Webseiten einführt, und die Grundlagen der JavaScript-Syntax und -Nutzung kennen

Das Obige ist das Grundwissen, das Sie zum weiteren Erlernen von Java benötigen. Insbesondere einige Fachbegriffe und Substantive, wenn Sie diese Substantive so freundlich finden, als würden Sie Ihren eigenen Vater sehen, bedeutet dies, dass Sie mit den Grundkenntnissen von Java sehr vertraut sind.

Als nächstes kommt SSH:

Für Anfänger sind diese drei Hauptframeworks zu rätselhaft und es scheint, dass sie das wichtigste Wissen sind! Aber für professionelles und technisches Personal mit langjähriger Erfahrung in der Java-Entwicklung und für diejenigen, die gut in Java sind, sind diese drei großen Frameworks nicht sehr interessiert! Sind sie nicht wichtig?

Viele Unternehmen nutzen inzwischen diese drei großen Frameworks, daher betrachten viele Unternehmen die Beherrschung dieser drei großen Frameworks auch als Voraussetzung für die Einstellung von Mitarbeitern. Es ist unbestreitbar, dass es viele große Unternehmen gibt, die diese drei Hauptrahmen nicht verwenden. Nach Jahren der Entwicklung haben diese Unternehmen eine gewisse Menge an Technologie angesammelt und ihr eigenes einzigartiges technisches Rahmensystem gebildet. Diese drei Hauptrahmen können als sehr wichtig oder als unwichtig bezeichnet werden.

Der wichtige Grund ist, dass diese drei Hauptframeworks schöne Lösungen für häufige Probleme in der JavaEE-Entwicklung bieten. Sie enthalten die Bemühungen und Ideen der meisten NB-Entwickler in dieser Branche können einen Eindruck davon bekommen, was diese talentierten Menschen an der Spitze der Technologie über ein Problem denken und welche Designideen sie zur Lösung des Problems verwenden. Sie haben also nicht viel Erfahrung in der Projektentwicklung, wie sind Ihre Erfahrungen? Erfahrung bedeutet, dass Sie wissen, auf welche Probleme Sie stoßen können, welche Lösungen es für jedes Problem gibt, welche Lösung in einer bestimmten Situation besser ist, welche Methode nicht so gut ist usw.! Wenn Sie noch nie an einem Projekt gearbeitet haben, werden Sie nicht wissen, auf welche Probleme Sie stoßen könnten, und diese Probleme sind oft sehr kritisch! Wenn es nicht gut gelöst wird, beeinträchtigt es die Stabilität, Skalierbarkeit usw. Ihres Programms! Die drei Hauptrahmen vermitteln Anfängern ein Verständnis dafür, auf welche Probleme Sie in Zukunft stoßen könnten, und bieten Lösungen für diese Probleme!

Wenn Sie verstehen, warum diese drei Hauptrahmen wichtig sind, können Sie auch verstehen, warum diese drei Hauptrahmen auch als unwichtig bezeichnet werden können. Wenn Sie viele Projekte entwickelt und auf verschiedene Probleme gestoßen sind, haben Sie diese Probleme einzeln gelöst. In den Augen dieser Leute sind die drei Hauptframeworks (gibt es N-Frameworks? Haha) alle Wolken!

Zu welcher Art von Person gehörst du? Wenn Sie nicht viel Erfahrung in der Projektentwicklung haben, sind die drei großen Frameworks für Sie sehr wichtig! Darüber hinaus wissen Sie hieraus auch, wie Sie diese drei Hauptrahmenwerke erlernen. Beim Studium der drei Hauptrahmen liegt der Schwerpunkt darauf, Ihnen Probleme aufzuzeigen und Ihr eigenes aktives Denken anzuregen. Vielleicht sind Ihre Ideen idiotisch, aber es sind schließlich Ihre eigenen Ideen Sie wissen nicht, was großartige Leute denken. Woher wissen Sie also, dass Ihre eigenen Ideen idiotisch sind? Im Verlauf dieser Kollision von Ideen werden Sie sich nach und nach verbessern! Nachdem Sie die drei wichtigsten Frameworks kennengelernt haben, sollten Sie nicht nur einige Aktionen, einige Dienste und einige Zuordnungsdateien sehen Sie sollten nicht nur wissen, dass es in struts2 eine Reihe von Interceptoren gibt, Sie sollten nicht nur eine Reihe von JAR-Paketen sehen ...

Wenn Sie das nur wissen, nachdem Sie eine Reihe von JAR-Paketen kopiert und ein definiert haben Reihe von Konfigurationsdateien, die drei wichtigsten SSH-Frameworks Es kann für Sie ausgeführt werden und funktionieren. Dann beherrschen Sie leider immer noch nicht die Essenz der drei wichtigsten Frameworks! Bitte beantworten Sie die folgenden Fragen:

Struts2:

Warum müssen Sie für jede Anfrage ein Aktionsobjekt erstellen?

Welches Problem löst „refreshModelBeforeResult“ in der Konfiguration des ModelDriven-Interceptors?

Warum filtert der in web.xml konfigurierte StrutsPrepareAndExecuteFilter alle Anfragen?

Können Sie mir bitte etwas über ValueStack erzählen?

Wie implementiert Struts2 das MVC-Entwurfsmuster?

Frühling:

Warum möchten Sie Frühling nutzen?

Können Sie bitte über IOC/DI sprechen?

Was ist deklaratives Transaktionsmanagement? Warum deklaratives Transaktionsmanagement verwenden? Wie implementiert Spring das deklarative Transaktionsmanagement?

Warum sollten bei der Integration von Spring und Hibernate und der Definition von Transaktionsverwaltungsfunktionen andere Methoden als Hinzufügungs-, Lösch- und Aktualisierungsvorgänge, also Methoden, die hauptsächlich Abfrageaufgaben ausführen, als schreibgeschützt definiert werden?

Ruhezustand:

Könnten Sie uns bitte Ihr Verständnis der OR-Zuordnung mitteilen?

Viele Leute sagen, dass Hibernate nicht für große Projekte geeignet ist und Leistungsprobleme aufweist. Was verstehen Sie?

Warum muss Hibernate eine Datenbankkennung definieren?

Warum empfiehlt Hibernate, dass Ihre Entitätsklassen die Methoden hashCode und equal implementieren?

Sprechen Sie über Ihr Verständnis der Beziehung zwischen der Datenbank-ID und dem Datenbank-Primärschlüssel in der Hibernate-Entitätsklasse?

Sprechen Sie über Ihr Verständnis der Beziehung zwischen Hibernate-Assoziationszuordnung und Datenbank-Fremdschlüsseln?

Wird der Ruhezustand beim Aufruf der session.save()-Methode definitiv eine Einfügeanweisung ausgeben? Sprechen Sie über Ihr Verständnis

Wird der Ruhezustand beim Aufruf der session.update()-Methode definitiv eine Update-Anweisung ausgeben? Sprechen Sie über Ihr Verständnis

Bitte sprechen Sie über die folgenden Substantive, Konzepte oder Verwendungen: lazy, lazy=“extra“, inverse, fetch, fetch=“join“, fetch=“subselect“, Batch-Size

Wird Lazy Loading erreicht, wenn lazy="true" konfiguriert ist?

Bitte sprechen Sie über das „N+1“-Problem in Hibernate.

Können Sie bitte über die Best Practices für Hibernate sprechen?

Die oben genannten sind nicht alle Schlüsselfragen in SSH, aber sie können testen, ob Sie das SSH-Framework flexibel nutzen können! Wenn Sie diese Themen tiefgreifend verstehen, gepaart mit einer entsprechenden praktischen Projektschulung, werden Sie nach und nach zum Experten!

Schließlich Projektentwicklungsfähigkeiten:

Ob Sie Java oder andere Technologien erlernen, Ihr grundlegendes Ziel ist es, Mehrwert für Kunden zu schaffen! Andernfalls werden die Dinge, die Sie mit großer Mühe gelernt haben, mit der Weiterentwicklung der Technologie und der Aktualisierung bald veraltet sein! Daher besteht der Kern der Technologie darin, Technologie zu nutzen, um wertvolle Ergebnisse zu erzielen! Mit anderen Worten: Was auch immer der Kunde braucht, Sie müssen die Technologie nutzen, um das zu schaffen, was der Kunde braucht! Der Grund, warum ein Unternehmen sein Bestes versucht, Sie mit verschiedenen Sozialleistungen zu halten, liegt darin, dass Sie dem Unternehmen extrem hohe Vorteile bringen können! Was haben Sie also, das Unternehmen nutzen können? Welche Ihrer Fähigkeiten schätzt das Unternehmen am meisten?

Das Durchführen von Projekten erfordert viele Fähigkeiten, von denen die Modellierungsfähigkeit die wichtigste und grundlegendste ist (die gängigste ist derzeit die objektorientierte Modellierung!). Was ist Modellierungsfähigkeit?

Ich gebe Ihnen eine Interviewfrage:

Das Versicherungskartenverwaltungsmodul einer Versicherungsgesellschaft: Das Vertriebspersonal sammelt die Versicherungskarteninformationen (Anzahl der Versicherungskarten, Kartennummer, Abholdatum). , und verkauft es dann direkt an den Kunden. Geben Sie nach Abschluss des Verkaufs die Versicherungskarteninformationen in das System der Versicherungsgesellschaft ein (Verkäuferinformationen, Käuferinformationen, Anzahl der gekauften Versicherungskarten, Kartennummer usw.). Rufen Sie die Website der Versicherungsgesellschaft auf, um die Versicherungskarte zu aktivieren, und füllen Sie sie aus (Versicherungskartennummer, Aktivierungskartennummer usw.), Passwort, Informationen zur versicherten Person, Informationen zum Begünstigten.

Die Anforderung lautet: Wenn dieses Modul vorhanden ist Ihnen übergeben, was werden Sie tun? Welche Probleme versuchen Sie zu lösen? Kannst du ein Bild zeichnen und mir beschreiben, was deine Idee ist?

Da es sich nur um eine Interviewfrage handelt, habe ich sie hier eingefügt, damit jeder spüren kann, welche Probleme das sogenannte Modellieren lösen muss. Es gibt so viele Probleme im Geschäftsfeld! Vielleicht kann ein Anforderungsdokument mit Dutzenden oder Hunderten von Seiten die Probleme in einem bestimmten Geschäftsfeld klar beschreiben, und es liegt in Ihrer Verantwortung, sie umzusetzen!

Ein Unternehmen möchte ein Anwesenheitsmanagementsystem entwickeln und benötigt eine Anbindung an das bestehende Personalwesen. Sie sind also die technisch verantwortliche Person?

Ein bestimmtes ERP-Projekt möchte ein Schichtmanagementmodul implementieren und es Ihnen überlassen, es abzuschließen.

Beschweren Sie sich nicht darüber, dass der Projektmanager Ihnen zu wenig Informationen gegeben hat (nur ein paar Sätze), und beschweren Sie sich nicht darüber, dass der Kunde seine Bedürfnisse nicht klar beschrieben hat ... Ihr Wert liegt in der Klärung Alle Probleme werden mit verschiedenen Mitteln beschrieben. Holen Sie sich die gewünschten Informationen, fassen Sie sie gemäß einer bestimmten Idee zusammen und lösen Sie sie einzeln innerhalb einer bestimmten Zeit!

Sie sollten sich darüber im Klaren sein, dass das Erlernen von Java nicht so einfach ist wie ein Panzerkampf, ein Netzwerk-Flitzer, ein CMS, ein DRP oder ein OA. Sie sollten sich nicht auf diese technischen Details einlassen (obwohl es auch notwendig ist). aber übertreiben Sie es nicht) ), geben Sie sich nicht damit zufrieden, Projektanforderungen im CRUD-Stil zu erfüllen (obwohl dies die Grundlage der Grundlage ist). Es gibt immer ein Ziel vor Ihnen, an dem Sie hart arbeiten müssen aufholen!

In Zukunft werden Sie mit komplexeren Anforderungen konfrontiert sein. Der einzige Zweck Ihres Studienprojekts besteht darin, zu lernen, wie man Anforderungen in die Umsetzung umwandelt, wie man Anforderungen analysiert, wie man konzeptionelle Modelle erstellt und wie man verschiedene rationalisiert Die Beziehung zwischen ihnen, wie Sie entwerfen, wie Sie die geeignete Technologie zur Implementierung Ihres Designs auswählen, wie Sie Ihre Implementierung testen und wie Sie alle Arten von Problemen lösen, auf die Sie stoßen (Leistung, Nachfrageänderungen usw.). Nachdem Sie tatsächlich mehrere Jahre im Unternehmen in der Entwicklung tätig waren, werden Sie mir zustimmen!

Was Sie brauchen, um einen Job mit Java zu finden, ist Projekterfahrung. Projekterfahrung bedeutet, den grundlegenden Prozess der Projektentwicklung zu verstehen, die Projektanalysemethode zu verstehen, die Projektdesignideen zu verstehen, die Fähigkeiten zur Projektumsetzung zu verstehen und zu verstehen die Projekttestmethode, verstehen Sie die Lösungen für verschiedene Probleme im Projekt! ! !

Es ist also an der Zeit, dass Sie Ihre Ziele kennen!

Das obige ist der detaillierte Inhalt vonJava-Projekterfahrung – Entwicklungsprozess eines Programmierers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn