CodeGym/Java blog/Tilfældig/En Java-udviklers tjekliste. Hvad en udvikler bør vide
John Squirrels
Niveau
San Francisco

En Java-udviklers tjekliste. Hvad en udvikler bør vide

Udgivet i gruppen
Hej! I dag vil vi tale om en Java-udviklers vej til vækst, og hvad han eller hun skal vide for at være efterspurgt. En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 1I et interview kan enhver udvikler grille jobkandidaten. For eksempel kan de begynde at stille spørgsmål om specifikke emner, som de er stødt på i deres nuværende projekt. Men ikke at vide alt er normalt. Det er også normalt, at du ikke kan svare på nogle spørgsmål. Som en generel regel skal enhver Java-programmør have en grundlæggende forståelse af softwareudvikling. Så lad os tage et kig på, hvad der betragtes som "basic".

1. Grundlæggende algoritmer

Den første ting at tage fat på, når du begynder at lære programmering (ikke kun Java), er at forstå det grundlæggende. For eksempel algoritmer. Der er et uendeligt antal af dem, og du bør ikke dræbe hele år af dit liv ved at prøve at lære så mange algoritmer som muligt: ​​de fleste af dem vil ikke være nyttige for dig. Du kan få det nødvendige minimum af viden fra bogen "Grokking Algorithms". Dette er nok til at komme i gang, men hvis du vil, kan du lære af bogen "Structures and Algorithms" eller "Algorithms in Java" af Robert Sedgewick og Kevin Wayne. Jeg anbefaler også, at du forbedrer din viden om grundlæggende datalogi. Dette kan gøres med Harvard CS50 kursus.

2. Java-syntaks

Efter at have lært det grundlæggende i algoritmer, skal vi lære Java-syntaks. Når alt kommer til alt, studerer vi alle til at blive Java-programmører her, ikke? CodeGym-kurset er perfekt til dette. Efterhånden som du udfører utallige opgaver, vil du få fingre i Java-syntaks, og så vil du uden megen tøven skrive/læse Java-kode, som om det var dit modersmål. CodeGym er praksis, men udover det skal du også se på teorien for at forstå, hvad du laver. For at gøre dette kan du læse bøger. For eksempel en af ​​følgende:
  • "Head First Java",
  • "Java for Dummies" af Barry Bird;
  • "Java: A Beginner's Guide" af Herbert Schildt.
Efter at have læst disse bøger, kan du komme ned til sværere bøger:
  • "Tænker på Java," Bruce Eckel;
  • "Effektiv Java" af Joshua Bloch;
  • "Java: The Complete Reference" af Herbert Schildt.
De sidste tre bøger er ikke lette at læse for begyndere, men de giver et solidt fundament i Java-teori. Glem heller ikke CodeGym-artiklerne, da de giver forklaringer på de fleste emner, der kan interessere dig. Du kan finde en relevant artikel ved at skrive det emne, der interesserer dig, i søgefeltet: En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 2Jeg anbefaler også stærkt at søge efter spørgsmål fra Java-interviews. Dette vil hjælpe dig med at forstå præcis, hvad du skal lære, og hvilke spørgsmål du skal forberede dig på.

3. Design mønstre

Designmønstre er visse gentagelige mønstre, der løser problemer i ofte stødte sammenhænge. De inkluderer grundlæggende, enkle mønstre, som enhver programmør med respekt for sig selv bør kende. For at forstå dette emne, tag fat i bogen "Head First Design Patterns". Den forklarer de grundlæggende designmønstre på en tilgængelig måde. Men bogen taler meget om Java, så når du bruger denne bog, skal du også beherske dette programmeringssprog. For et dybere dyk ned i mønstre kan du også læse "Design Patterns: Elements of Reusable Object-Oriented Software" fra Gang of Four ( Redaktørens note: Gang of Four er et team af forfattere, der inkluderer Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Når du har studeret dette emne, vil du begynde at se mønstre stort set overalt i din kode. Vær opmærksom på dette, især til de mønstre, der blev brugt i foråret, da dette er et populært interviewspørgsmål.

4. Programmeringsparadigmer. Kode renlighed

Udover standarddesignmønstrene er der forskellige principper og paradigmer, man skal være opmærksom på ( SOLID , GRASP ). Du skal også holde din kode ren og læsbar. For alt skal du vide om dette emne, se Clean Code af Robert Martin, eller tjek "Code Complete" af Steve McConnell.

5. SQL

Vores næste skridt er at studere et sprog til relationelle databaser - SQL . Databaser er det sted, hvor de oplysninger (data), der bruges af en webapplikation, opbevares. En database består af flere tabeller (adressebogen på din telefon er et simpelt eksempel). Java-udviklere er ikke kun ansvarlige for Java-applikationen, men også den database, den interagerer med, og hvor den gemmer sine data. I relationelle databaser (som er den mest almindelige type) sker al interaktion gennem et særligt sprog kaldet Structured Query Language eller SQL. For at forstå dette emne skal du blot læse en af ​​disse bøger:
  • "Learning SQL" af Alan Beaulieu;
  • "SQL" af Chris Fehily;
  • "Head First SQL" af Lynn Beighley.
Men praksis uden teori skærer det ikke, gør det? Og ved samtaler kan du forvente en test af din viden om SQL. Interviewere giver ofte (næsten altid) en eller to opgaver, der involverer at skrive en SQL-forespørgsel. Som følge heraf er det meget vigtigt at finpudse dine praktiske SQL-færdigheder for at vise dig selv i et godt lys.

6. MySQL/PostgreSQL

Efter at have lært SQL-sproget, skal du blive fortrolig med en specifik databaseimplementering. Afhængigt af databasen kan nogle kommandoer variere dramatisk. Og der er ret mærkbare forskelle i databasefunktioner. De mest almindelige relationsdatabaser er MySQL og PostgreSQL . En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 3MySQL er langt enklere, men PostgreSQL har meget bredere muligheder. At være bekendt med mindst én af dem er nok til at komme i gang. Du kan studere databaseimplementeringer, hvis du bruger dine googlingsevner - find relevante artikler og tutorials på YouTube. Du bliver nødt til at dyrke din evne til at lave korrekte søgeforespørgsler til de spørgsmål, du har brug for svar på. En programmør er jo en med sort bælte i google.

7. Maven/Gradle

Du skal lære enten Gradle- eller Maven -rammen. De er til byggeprojekter, og for dig er Java nu ikke kun til opgaver, der involverer et par klasser, men også et sprog til at skrive fuldgyldige applikationer. Du skal forstå, hvordan man bygger et projekt, hvad byggestadierne er, hvordan man indlæser de nødvendige eksterne biblioteker med tredjepartskode og meget mere. På trods af at Gradle er nyere og mere kortfattet, bruges Maven i de fleste tilfælde. Så vær særlig opmærksom på Maven build-livscyklussen.

8. Git

Git er et distribueret versionskontrolsystem. Denne teknologi giver udviklere mulighed for at samarbejde om en enkelt applikation uden at forstyrre hinanden. Selvfølgelig er der andre versionskontrolsystemer. For eksempel, Subversion . Men Git bruges mest, og du skal kunne arbejde med det.En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 4Ud over de mange artikler om Git, du kan finde online, har YouTube mere end nok videoer til at hjælpe dig med at mestre denne teknologi, trin for trin. I første omgang er det bedre at bruge Git fra kommandolinjen i stedet for en slags GUI-implementering, fordi du vil blive tvunget til at gøre alt ved hjælp af kommandoer. I interviews kan folk ofte godt lide at spørge om et par Git-kommandoer, så jeg anbefaler, at du skriver dem ud og holder et sted i nærheden. Jeg anbefaler også, at du tager noter og holder styr på de vigtigste punkter for at kunne løbe dem igennem inden interviewet og genopfriske din hukommelse.

9. JDBC

Denne teknologi forbinder din Java-applikation og en relationel database. For det grundlæggende anbefaler jeg at læse enhver JDBC-tutorial. Der er en overflod af artikler, der forklarer JDBC og giver rudimentære eksempler, selvom ingen bruger nøgen JDBC direkte længere.

10. JPA. Gå i dvale

JPA er en måde at etablere en forbindelse mellem en Java-applikation og en database på, ligesom JDBC. Men samtidig er JPA en teknologi på højere niveau og derfor lettere at bruge. Men JPA er kun en specifikation, ikke en implementering. Det kræver en konkret implementering. Mange af dem findes, men det tætteste på JPA-idealerne, det mest populære og mest udviklede er Hibernate. Du vil støde på denne teknologi mere end én gang i din softwareudviklingskarriere. Så udover at stifte bekendtskab med denne teknologi ved at læse artikler, kan det være værd at tænke på at læse en bog, for eksempel "Java Persistence API".

11. Forår

Når du bliver Java-udvikler, er Spring ikke længere kun et ord for dig. En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 5At kende denne ramme er nu lige så vigtigt som at kende Java Syntax. Man kan sige, at Spring har en søskende, altså Java EE. Men Java EE er forældet og bruges ikke længere på nye projekter. Det overvældende flertal af Java-udviklere er nu Java-Spring-udviklere, så det er et must at kende nogle grundlæggende Spring-teknologier. Foråret er ikke bare en ramme, men en hel ramme af rammer: En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 6Og dette er blot en delmængde af de rammer, som foråret giver. For en nybegynder er det godt nok at kende nogle få af dem:

  • Fjederkerne

Du bør sætte dette i første omgang, så du kan forstå, hvad Spring er - alt om Spring-beholdere, bønner, DI, IoC og så videre. At forstå selve filosofien om at bruge Spring, så at sige. Din videre undersøgelse af forårets rammer vil bygge oven på denne base. Måske skulle du lave din egen lille applikation, hvor du gradvist kan inkorporere alle de nylærte teknologier.

  • Spring JDBC

Tidligere nævnte vi JDBC som en teknologi til at skabe en databaseforbindelse. Generelt kan "nøgen" brug af teknologien ikke længere findes i projekter, så du kan konkludere, at det ikke er nødvendigt at lære JDBC. Det er ikke helt den rigtige holdning. Ved at udforske nøgen (direkte) brug af JDBC kan du se teknologien på et lavere niveau og forstå dens problemer og mangler. Så når du begynder at lære Spring JDBC, vil du indse, hvad denne ramme præcist forbedrer, optimerer og skjuler.

  • Spring Hibernate

Analogt med situationen med nøgne JDBC, udnytter denne ramme en eksisterende teknologi, i dette tilfælde Hibernate. Hvis du overvejer at bruge Hibernate uden Spring, vil du helt sikkert indse de fordele, som Spring Hibernate tilbyder.

  • Forår JPA

Tidligere talte vi om JPA og nævnte, at det kun er en specifikation, selvom det har forskellige implementeringer. Blandt disse implementeringer kommer Hibernate tættest på idealet. Spring har sin egen ideelle JPA-implementering, der bruger Hibernate under hætten. Det er så tæt som muligt på Den Blandede Parlamentariske Forsamlings specifikation ideal. Det kaldes Spring JPA. Kort sagt, det forenkler databaseadgangen betydeligt. Du kan kun lære JPA uden at lære JDBC, Hibernate, Spring JDBC eller Spring Hibernate. Men hvis du tager denne tilgang, vil din viden om, hvordan du forbinder til en database, være meget overfladisk.

  • Fjeder MVC

Denne teknologi gør det muligt at vise vores applikations webgrænseflade til brugerne og lette kommunikationen mellem grænsefladen og resten af ​​applikationen. Teknologien kan også bruges uden display, når du har en applikation, der er ansvarlig for at håndtere skærmen, og du interagerer med applikationen ved hjælp af RESTful- teknologi. For bedre at kunne opsuge information om foråret kan du udover artikler og YouTube-foredrag læse flere bøger. Jeg kunne virkelig godt lide bogen "Spring in Action" af Craig Walls. Jeg råder dig til at læse den 6. version, hvis du kan engelsk godt. En anden god bog om foråret er "Forår 5 for de professionelle". Det er mere tæt. Mere som en reference, der er mere værdifuld at have ved hånden end at læse fra ende til anden.En Java-udviklers tjekliste.  Hvad en udvikler bør vide - 7

  • Fjederstøvle

Denne teknologi forenkler i høj grad brugen af ​​Spring. Jeg satte det ikke i slutningen af ​​listen på et indfald. Det gemmer sig faktisk meget under motorhjelmen, og for en, der ikke er bekendt med vaniljeforåret, kan mange punkter være uklare eller uforståelige. For det første, for at få en bedre forståelse af, hvordan Spring-frameworks fungerer, bør du bruge almindelig Spring og derefter få alle de større fordele ved at bruge Spring Boot. Jeg anbefaler også, at du sætter dig ind i Spring Security og Spring AOP. Men i modsætning til ovenstående teknologier er der ikke behov for dyb viden om disse to endnu. Denne teknologi er ikke for begyndere. Ved interviews vil juniorudviklere ikke blive spurgt om dem (undtagen et overfladisk spørgsmål, måske). Læs en oversigt over, hvad disse teknologier er, og principperne bag deres arbejde. I denne artikel, Jeg har gentagne gange nævnt at læse bøger. På den ene side er dette ikke obligatorisk. Du kan blive programmør uden at læse en eneste bog og få al den nødvendige viden fra onlineartikler og træningsvideoer. På den anden side er konkurrencen blandt nybegyndere på arbejdsmarkedet høj i øjeblikket, hvilket hæver barren for, hvad en nybegynder skal vide. Så jo mere du ved, jo hurtigere finder du dit første job ved at imponere intervieweren med dit vidensniveau. Tak til alle, og må Java være med jer. hvilket hæver barren for, hvad en nybegynder skal vide. Så jo mere du ved, jo hurtigere finder du dit første job ved at imponere intervieweren med dit vidensniveau. Tak til alle, og må Java være med jer. hvilket hæver barren for, hvad en nybegynder skal vide. Så jo mere du ved, jo hurtigere finder du dit første job ved at imponere intervieweren med dit vidensniveau. Tak til alle, og må Java være med jer.
Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu