CodeGym /Java Blogu /Rastgele /Ne tür Java görevleriniz var?
John Squirrels
Seviye
San Francisco

Ne tür Java görevleriniz var?

grupta yayınlandı
Birisi tek başına veya çevrimiçi kurslar aracılığıyla nasıl programlanacağını öğrenmeye başladığında , bazı alanları vurgulamak ve her şeyi yapılandırmak çok önemlidir. Bu makalede, CodeGym çevrimiçi programlama kursunda belirli bir görev türünün ne kadarının temsil edildiğini gösteren yeni başlayanlar için Java görevleri yapımızı ve faydalı bağlantıları sunuyoruz. Ne tür Java görevleriniz var?  - 1

Dil sözdizimi ile alıştırma yapın

Bunlar, "Merhaba, Dünya"dan döngülere ve dizilere kadar yeni başlayanlar için temel düzeydeki ilk Java programlama görevleridir. CodeGym'de bunlardan çok var: Java Syntax arayışının özellikle ilk altı seviyesinde yoğunlaşıyorlar . Başka yerlerde daha fazla aramanıza gerek yok. Onlara hakim olmak için kesinlikle yeterince sahibiz. Dahası, daha zor bir görevle karşılaştığınızda sözdizimini otomatik olarak gözden geçirirsiniz. Ancak aniden kendinizi ihtiyaç içinde bulursanız, yeni başlayanlar için herhangi bir Java ders kitabı benzer sorunlar içerir. Ancak CodeGym'den farklı olarak, bu alıştırma kitaplarında anında görev doğrulaması olmayacaktır.

Koleksiyonlarla alıştırma yapın

Derlemeler, acemi programcıların çalışmalarında karşılaştıkları ilk "ciddi" konudur. Java koleksiyonlarına ayrılan başlangıç ​​seviyesindeki görevler de CodeGym'de — Java Syntax arayışının yedinci ve sekizinci seviyelerinde – iyi bir şekilde temsil edilmektedir. Öğrencinin Java Collections Framework'ü ilk kez duyacağı yer burasıdır ve Set, List ve Map arayüzleri ile bunların bazı uygulamaları ile biraz çalışacaktır. Ancak, bu aşamada yalnızca bu yararlı araca bir giriş ve basit Java görevleri alacaksınız. Java Koleksiyonları görevi sırasında koleksiyonları daha kapsamlı bir şekilde inceleyeceksiniz . Bu konunun ne kadar önemli olduğunu görebilirsiniz - bütün bir göreve onun adı verilmiştir!

İstisnalarla alıştırma yapın

Java, istisnai durumların üstesinden gelmek için özel bir mekanizma sağlayarak, uygulama hatalarını "yakalama" sürecini önemli ölçüde basitleştirir. Ancak bundan en iyi şekilde yararlanmak için Java'da istisna işlemenin nasıl çalıştığını anlamanız gerekir. CodeGym'de bu tür birçok görev vardır. Hatta onlarla ilk görev olan Java Syntax'ta karşılaşacaksınız. Ne tür Java görevleriniz var?  - 2

Tip dökümü ile alıştırma yapın

Bu görev grubu, elbette, söz dizimindeki temel görevler olarak sınıflandırılabilir. Bununla birlikte, mütevazı görüşümüze göre, insanlar genellikle bu tür görevleri yeterince takdir etmiyor ve yeni başlayanlar bu görevlerde bocalıyor. Bu yüzden kalıpları kırıyoruz: İlkel tip dönüştürme görevlerini, diğerlerinin sıklıkla yaptığı gibi en başında incelemiyoruz. Bunun yerine, onları biraz sonra, Java Sözdizimi görevinin sonunda ele alıyoruz. Ve sonra , Java Core arayışında OOP çalışırken ilkel olmayan türleri (nesneleri) dönüştürmeyi öğreneceğiz . CodeGym'de bu görevlerden yeterince var. Daha fazla bakmanıza gerek yok.

OOP ile pratik yapın

OOP en zor konu değil ama son derece önemli. Ve görüşmecilerin müstakbel geliştiricileri yakalamak için kullanmaktan hoşlandıkları pek çok inceliği gizler. CodeGym kursu, nesne yönelimli felsefeyi anlamanıza yardımcı olmak için yeni başlayanlar için pratik programlama görevleri içerir. Ancak OOP'yi gerçekten anlamak için ilgili literatürü okumanızı öneririz (örneğin, Cay Horstmann ve Gary Cornell'in "Core Java", McLaughlin'in "Object-Oriented Analysis and Design" veya diğer kitaplar ) .

Giriş/çıkış akışlarıyla alıştırma yapın

G/Ç akışlarını biz onları anlamadan çok önce kullanmaya başlıyoruz. Bu Java, benim genç çekirgem! Bırakın System.in'i, System.out'u açıklamak, ilk başladığınızda zor ve gereksizdir. Ancak Java Core arayışında çalışırken , bu biraz kafa karıştırıcı konuyu anlayacak kadar bilginiz var ve biz sadece konsol G/Ç'sinden değil, aynı zamanda dosya sistemiyle çalışmaktan da bahsediyoruz. Asıl mesele, bu görevleri atlamamak (CodeGym'de oldukça fazla şey var) ve sürekli olarak teoriye dalmaktır.

Zeka oyunları

"Zihin jimnastiği" derken, bilgiden çok bildiklerinizi alışılmadık şekillerde uygulama becerisiyle ilgili olan, artan karmaşıklıktaki görevleri kastediyoruz. Bunlar, genç bir Java geliştiricisi için ortak görevlerdir. Şirketler mülakatlarda bunları sormayı çok severler ama gerçek işlerde bu tür zeka oyunlarına çok sık rastlanmaz. Yani CodeGym'de biraz var ama çok değil (bunları genellikle Captain Squirrels'in derslerinde görürsünüz). Ne tür Java görevleriniz var?  - 3Zeka oyunları nerede bulabilirim?

Algoritmalar ve veri yapıları

Algoritmalar ve veri yapılarına gelince, gelecekteki bir programcının bunlara ne kadar ihtiyaç duyduğu konusunda sürekli tartışmalar var. Bir kez daha cevaplayacağız: doğru zihniyeti oluşturmak için gereklidirler, ancak iş için nadiren doğrudan gereklidirler. Bunun nedeni, diğer programlama dillerinin yanı sıra Java'nın da sıralama, arama ve daha fazlası için akla gelebilecek her algoritmanın uygulamalarını içeren kitaplıklara sahip olmasıdır. Yine de, kendi algoritma uygulamanızı yazmak çok yardımcı olabilir ve size algoritmanın karmaşıklığı hakkında bir fikir verebilir. Özellikle sadece lisede matematik okuyan insanlar için. Temel olarak, bu görevler, hepsinin çevrimiçi olarak defalarca açıklanmış ve çözülmüş olması tek farkıyla, beyin jimnastiği ile değiştirilebilir. Bir doğrulama aracına bile ihtiyacınız yok. Örneğin, Princeton Üniversitesi'nden herhangi bir kurs seçinveya Kaliforniya'da bir kolej . Veri yapılarıyla alıştırma yapın:

çoklu iş parçacığı

Herkes "Merhaba Dünya!" yazabilir. programı. Ancak ünlü ifadeyi ayrı bir diziden görüntülemek için Java Thread API'sini kullanmaya ne dersiniz? Ya da "Merhaba Dünya!" dizeleri karıştırmadan beş farklı iplikten beş kez? Java Çekirdeğini çalışırken çoklu kullanım, "gücünüzün en iyi testi" olacaktır. Java Multithreading adlı CodeGym görevinin tamamı bu konuya ayrılmıştır ve bu hiç de kolay değildir. Öğrencilerin paralel işlemenin "acısını ve güzelliğini" hissetmelerini sağlamak için çok sayıda görev içerir. Öğrencilerin ilk "gerçek" projeleri genellikle bir düzeyde çoklu kullanım içerir. Örneğin, basit oyunlar. Ne tür Java görevleriniz var?  - 4

Çoklu kullanım ile alıştırma yapın

Beş sessiz filozof yuvarlak bir masada oturuyor. Her birinin önünde bir tabak spagetti var. Her filozof arasında masada çatallar vardır (biri sola ve biri sağa). Her filozof ya yiyebilir ya da derin düşüncelere dalabilir. Ancak iki çatal tutarak, yani soldakini ve sağdakini alarak yemek yiyebilir. "Çatalı al" ve "çatalı bırak", sırayla gerçekleştirilen farklı eylemlerdir.

Jenerik ilaçlarla pratik yapın

Genelleme, otomasyonun özüdür, bu nedenle bir anlamda programlamanın özüdür. Buna göre, Java'daki jenerik konusunu göz ardı edemeyiz. CodeGym, jenerikleri içeren programlama görevlerine sahiptir (esas olarak Seviye 5'ten başlayan Java Koleksiyonları arayışında). Jeneriklerle ilgili faydalı alıştırmaları ve materyalleri nerede bulabilirim?

Tasarım kalıplarıyla alıştırma yapın

Bir noktada (CodeGym kursunun üçte ikisi), acemi programcılar programlamada iyi bir form elde etmek için kurallara bakmaya başlamalıdır. Uygun kod biçimlendirme (daha basit) ve tasarım modellerinden (daha zor) bahsediyoruz. CodeGym'in bunun için görevleri var. Daha fazlasına ihtiyacınız olacak ve bunları Elisabeth Freeman ve Kathy Sierra'nın " Head First Design Patterns " kitabında bulabilirsiniz . Veya önceden çözülmüş görevlere tasarım modellerini nasıl uygulayabileceğinizi düşünebilirsiniz.

Birim testi

Herhangi bir programcı için, genellikle yanlışlıkla yalnızca test edicilere atfedilen önemli bir beceri, kendi kodu için birim testleri yazabilme becerisidir. CodeGym'in birim testleriyle ilgili birkaç görevi vardır, ancak daha fazlasını aramaya gerçekten gerek yok. Birim testlerinin nasıl yazılacağını anladığınızda, onlarla kodunuzu (kendi projelerinizde, çalışmalarınızda) işlemeyi alışkanlık haline getirin. Bu, genellikle öğrenci programcıları etkileyen bir uygulama olan konsol çıktısıyla kontrol yapmaktan çok daha faydalıdır. Ek olarak, şirketlerde yeni genç geliştiricilerin görevlendirildiği ilk şey, genellikle başka birinin kodu için birim testleri yazmaktır.

Düzenli ifadelerle alıştırma yapın

Bu, yeni başlayanların neredeyse hiç anlamadığı basit bir konudur çünkü yabancıdır ve tembeldirler. Konuyu incelemek için birkaç gün harcamak, "regex" in dibine inmek ve bunu yapmayanlara karşı bir avantaj elde etmek gerçekten değerlidir. Bu aynı zamanda yararlıdır, çünkü normal ifadeler dilden neredeyse bağımsızdır: onları bir kez öğrenirseniz, her yerde kullanabilirsiniz. CodeGym'in normal ifadelere adanmış herhangi bir görevi yoktur, ancak bazıları onların yardımıyla çözülebilir. Bu konuyu anlamak için ek kaynaklar şunlardır:
  • regex101.com — düzenli ifadeleri çevrimiçi olarak kontrol edebileceğiniz bir web sitesi
  • Mike Fitzgerald'ın "Normal İfadelere Giriş" - özlü ve basit bir başlangıç.
Ne tür Java görevleriniz var?  - 5

Java hakkında hileli sorularla alıştırma yapın

Bu kategori, genellikle gerçek programlama çalışmasıyla doğrudan ilgili olmayan zor görevleri içerir. Bir adayın belirli bir teknolojiye ilişkin anlayış/bilgi derinliğini anlamak veya ayrıntılara olan dikkatini test etmek için kullanıldıkları yerlerde, çoğunlukla mülakatlar sırasında karşılaşılırlar. Bunun gibi görevlere ihtiyacınız varsa, Google'da "Java mülakat soruları" veya benzeri bir şey arayın. Her tür forumda muhtemelen bir sürü problem seti, soru ve cevap bulacaksınız. Onları anlamak güzel, ama onlar için çok fazla zaman harcamaya değer mi? Cay Horstmann, InformIT için yazdığı bir makalede bir zamanlar bu tür görevler hakkında iyi bir noktaya değinmişti. Düşüncelerini kısaca açıklamak gerekirse, gerçek dünya görevleri ve paralel "mülakat soruları" evreni var.

Lambda ifadeleriyle alıştırma yapın

Lambda ifadeleri için destek Java 8'de ortaya çıktı, ancak bunlar henüz tüm programcılar tarafından coşkuyla kullanılmadı. Yine de, bugün "küçük Java geliştiricileri için görevler" kavramı, lambda ifadeleriyle yapılan işlemleri içerir, bu nedenle onlarla tanışmanızı öneririz .

Ağlarla çalışma alıştırması yapın

JSON, RMI, HttpUrlConnection, soketlere seri hale getirme... Bunlar tam olarak yeni başlayanlar için programlama konuları değildir. Sağlam beceriler gerektirirler ve kendi projelerinize, stajlarınıza ve işinize giden bir köprü gibidirler. CodeGym'in ileri seviyelerinde (Java Koleksiyonları arayışı), bu stratejilerde ve teknolojilerde uzmanlaşmanıza yardımcı olacak pek çok alıştırma vardır, ancak çevrimiçi stajı tamamladığınızda her şey çok daha net hale gelecektir.
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION