CodeGym/Java blog/Tilfældig/Hvilken slags Java-opgaver har du?
John Squirrels
Niveau
San Francisco

Hvilken slags Java-opgaver har du?

Udgivet i gruppen
Når nogen begynder at lære at programmere , enten alene eller gennem onlinekurser, er det meget vigtigt at understrege et eller andet domæne og strukturere alt. I denne artikel præsenterer vi vores struktur - Java-opgaver for begyndere, med en indikation af, hvor meget en bestemt type opgave er repræsenteret i CodeGym online programmeringskursus, sammen med nyttige links. Hvilken slags Java-opgaver har du?  - 1

Øv dig med sprogsyntaks

Dette er de allerførste Java-programmeringsopgaver for begyndere - grundlaget - fra "Hello, World" til loops og arrays. CodeGym har masser af dem: de er især koncentreret i de første seks niveauer af Java Syntax -questen. Du behøver næppe at lede efter flere af dem andre steder. Vi har bestemt nok til at mestre dem. Hvad mere er, når du en mere vanskelig opgave, gennemgår du automatisk syntaksen. Men hvis du pludselig er i nød, indeholder enhver Java-lærebog for begyndere lignende problemer. Men i modsætning til CodeGym vil disse øvelsesbøger ikke have øjeblikkelig opgavebekræftelse.

Øv med samlinger

Samlinger er det første "seriøse" emne, som nybegyndere programmører støder på i deres studier. Begynderopgaver dedikeret til Java-samlinger er også godt repræsenteret på CodeGym - på syvende og ottende niveau i Java Syntax-questen. Det er her, eleven først vil høre om Java Collections Framework, og vil arbejde lidt med Set, List og Map interfaces sammen med nogle af deres implementeringer. På dette tidspunkt får du dog kun en introduktion til dette nyttige værktøj og simple Java-opgaver. Du vil studere samlinger mere grundigt under Java Collections- opgaven. Du kan se, hvor vigtigt dette emne er - en hel mission er blevet opkaldt efter det!

Øv med undtagelser

Java giver en speciel mekanisme til håndtering af ekstraordinære situationer, hvilket væsentligt forenkler processen med at "fange" applikationsfejl. Men for at få mest muligt ud af det, skal du finde ud af, hvordan undtagelseshåndtering fungerer i Java. CodeGym har masser af sådanne opgaver. Du vil endda støde på dem i den første opgave - Java Syntax. Hvilken slags Java-opgaver har du?  - 2

Øv dig med typestøbning

Denne gruppe af opgaver kunne naturligvis klassificeres som grundlæggende opgaver om syntaks. Men efter vores ydmyge mening undervurderer folk ofte sådanne opgaver, og nybegyndere flyver i dem. Det er derfor, vi bryder formen: Vi studerer ikke primitive typekonverteringsopgaver i begyndelsen, som andre ofte gør. I stedet tager vi fat på dem lidt senere - i slutningen af ​​Java Syntax-questen. Og så lærer vi at caste ikke-primitive typer (objekter), når vi studerer OOP i Java Core- questen. CodeGym har nok af disse opgaver. Du behøver ikke lede længere.

Øv med OOP

OOP er ikke det sværeste emne, men det er ekstremt vigtigt. Og det skjuler en masse finesser, som interviewere kan lide at bruge til at fange kommende juniorudviklere. CodeGym-kurset indeholder praktiske programmeringsopgaver for begyndere for at hjælpe dig med at forstå den objektorienterede filosofi. Men for virkelig at forstå OOP, anbefaler vi, at du læser relateret litteratur (for eksempel Cay Horstmanns og Gary Cornells "Core Java", McLaughlins "Object-Oriented Analysis and Design" eller andre bøger ).

Øv med input/output streams

Vi begynder at bruge I/O-streams længe før vi forstår dem. Dette er Java, min unge græshoppe! At forklare System.out, endsige System.in, er svært og unødvendigt, når du først begynder. Men mens du arbejder gennem Java Core- questen, ved du lige nok til at forstå dette noget forvirrende emne, og vi taler ikke kun om konsol-I/O, men også at arbejde med filsystemet. Det vigtigste er ikke at springe disse opgaver over (CodeGym har ret mange) og konsekvent dykke ned i teorien.

Hjernevridere

Med "hjernetindere" mener vi opgaver af øget kompleksitet, der ikke handler så meget om viden som om evnen til at anvende det, du ved, på utraditionelle måder. Disse er almindelige opgaver for en junior Java-udvikler. Virksomheder er meget glade for at spørge dem under interviews, men i virkeligt arbejde støder man ikke så ofte på sådanne brainteasere. Så CodeGym har nogle, men ikke særlig mange (du vil normalt se disse i lektioner af Captain Squirrels). Hvilken slags Java-opgaver har du?  - 3Hvor kan jeg finde hjernekræfter?

Algoritmer og datastrukturer

Hvad angår algoritmer og datastrukturer, er der konstant debat om, hvor meget en fremtidig programmør har brug for dem. Vi svarer endnu en gang: De er afgørende for at etablere den rigtige tankegang, men de er sjældent direkte nødvendige for arbejdet. Dette skyldes, at Java, såvel som andre programmeringssprog, har biblioteker med implementeringer af enhver tænkelig algoritme til sortering, søgning og mere. Alligevel kan det være meget nyttigt at skrive din egen implementering af en algoritme og give dig en idé om dens kompleksitet. Især for folk, der kun studerede matematik i gymnasiet. Dybest set kan disse opgaver udveksles med brainteasere med den eneste forskel, at de alle er blevet beskrevet og løst gentagne gange online. Du behøver ikke engang et valideringsværktøj. Vælg ethvert kursus fra for eksempel Princeton Universityeller et college i Californien . Øv dig med datastrukturer:

Multithreading

Alle kan skrive et "Hej, verden!" program. Men hvad med at bruge Java Thread API til at vise den berømte sætning fra en separat tråd? Eller hvad med at vise "Hej, verden!" fem gange fra fem forskellige tråde uden at blande strengene? Multithreading vil være den bedste "test af din styrke", når du studerer Java Core. En hel CodeGym-quest, kaldet Java Multithreading , er dedikeret til dette emne, hvilket langt fra er nemt. Den indeholder et stort antal opgaver for at give eleverne mulighed for at føle "smerten og skønheden" ved parallel bearbejdning. Studerendes første "rigtige" projekter indeholder normalt et vist niveau af multithreading. For eksempel simple spil. Hvilken slags Java-opgaver har du?  - 4

Øv med multithreading

Fem tavse filosoffer sidder ved et rundt bord. En tallerken spaghetti er foran hver af dem. Der er gafler på bordet mellem hver filosof (en til venstre og en til højre). Hver filosof kan enten spise eller tænke dybe tanker. Men han eller hun kan kun spise, hvis han holder to gafler, dvs. ved at tage den til venstre og den til højre. "Pick up fork" og "put down fork" er forskellige handlinger, der udføres sekventielt.

Øv med generika

Generalisering er selve essensen af ​​automatisering, så i en vis forstand er det essensen af ​​programmering. Derfor kan vi ikke ignorere emnet generiske stoffer i Java. CodeGym har programmeringsopgaver, der involverer generiske stoffer (hovedsageligt i Java Collections-quest, startende på niveau 5). Hvor kan jeg finde nyttige øvelser og materialer om generiske lægemidler?

Øv dig med designmønstre

På et tidspunkt (to tredjedele af vejen gennem CodeGym-kurset) skal begyndere programmører begynde at se på reglerne for at opnå god form i programmering. Vi taler om korrekt kodeformatering (enklere) og designmønstre (sværere). CodeGym har opgaver til dette. Du skal bruge mere, og du kan finde dem i " Head First Design Patterns " af Elisabeth Freeman og Kathy Sierra. Eller du kan tænke over, hvordan du kan anvende designmønstre på tidligere løste opgaver.

Enhedstest

En vigtig færdighed for enhver programmør, som ofte fejlagtigt udelukkende tilskrives testere, er evnen til at skrive enhedstests for sin egen kode. CodeGym har et par opgaver relateret til enhedstests, men du behøver ikke rigtig at besvære at søge efter mere. Når du forstår, hvordan man skriver enhedstests, så gør det til en vane at dække din kode (i egne projekter, i dine studier) med dem. Dette er meget mere nyttigt end at udføre kontrol med konsoludgang, en praksis, der normalt rammer studerende programmører. Derudover er det meget ofte det første, nye juniorudviklere får til opgave hos virksomheder, at skrive enhedstests for en andens kode.

Øv dig med regulære udtryk

Dette er et simpelt emne, som næsten ingen begyndere forstår, fordi det er ukendt, og de er dovne. Det er virkelig umagen værd at bruge et par dage på at studere emnet, komme til bunds i "regex" og få en fordel i forhold til dem, der ikke har gjort det. Dette er også nyttigt, fordi regulære udtryk er næsten sproguafhængige: Hvis du lærer dem én gang, vil du være i stand til at bruge dem overalt. CodeGym har ingen opgaver dedikeret til regulære udtryk, selvom nogle kan løses med deres hjælp. Her er yderligere ressourcer til at forstå dette emne:
  • regex101.com — et websted, hvor du kan tjekke regulære udtryk online
  • Mike Fitzgeralds "Introducing Regular Expressions" - en kortfattet og enkel primer.
Hvilken slags Java-opgaver har du?  - 5

Øv dig med trickspørgsmål om Java

Denne kategori omfatter vanskelige opgaver, som normalt ikke er direkte relateret til rigtigt programmeringsarbejde. De mødes hovedsageligt under interviews, hvor de bruges til at forstå en kandidats dybde af forståelse/viden om en bestemt teknologi eller til at teste hans eller hendes opmærksomhed på detaljer. Hvis du har brug for opgaver som denne, så søg på "Java interview spørgsmål" eller noget lignende på Google. Du vil sikkert finde en masse problemsæt, samt spørgsmål og svar i alle mulige fora. Det er godt at forstå dem, men er det umagen værd at bruge for meget tid på dem? I en artikel til InformIT gjorde Cay Horstmann engang en god pointe om sådanne opgaver. For kort at omskrive hans tanker, er der opgaver i den virkelige verden, og der er det parallelle univers af "interviewspørgsmål".

Øv dig med lambdaudtryk

Understøttelse af lambda-udtryk dukkede op i Java 8, men de er endnu ikke brugt med entusiasme af alle programmører. Alligevel inkluderer begrebet "opgaver for junior Java-udviklere" i dag operationer med lambda-udtryk, så vi anbefaler at stifte bekendtskab med dem .

Øv dig i at arbejde med netværk

Serialisering til JSON, RMI, HttpUrlConnection, sockets... dette er ikke ligefrem programmeringsemner for begyndere. De kræver solide færdigheder og er noget som en bro til dine egne projekter, praktikophold og beskæftigelse. CodeGyms avancerede niveauer (Java Collections-questen) har en masse øvelser til at hjælpe dig med at mestre disse strategier og teknologier, men alt vil blive meget klarere, efterhånden som du gennemfører et online praktikophold.
Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu