CodeGym /בלוג Java /Random-HE /אילו סוגים של משימות Java יש לך?
John Squirrels
רָמָה
San Francisco

אילו סוגים של משימות Java יש לך?

פורסם בקבוצה
כשמישהו מתחיל ללמוד כיצד לתכנת , בין אם לבד או באמצעות קורסים מקוונים, חשוב מאוד להדגיש תחום מסוים ולבנות הכל. במאמר זה, אנו מציגים את המבנה שלנו - משימות Java למתחילים, עם ציון עד כמה כל סוג מסוים של משימה מיוצג בקורס התכנות המקוון CodeGym , יחד עם קישורים שימושיים. אילו סוגים של משימות Java יש לך?  - 1

תרגול עם תחביר שפה

אלו הן משימות התכנות הראשונות של Java למתחילים - הבסיס - מ"שלום, עולם" ועד ללולאות ומערכים. ל-CodeGym יש הרבה מהם: הם מרוכזים במיוחד בשש הרמות הראשונות של קווסט Java Syntax . לא סביר שתצטרך לחפש יותר מהם במקומות אחרים. בהחלט יש לנו מספיק כדי לשלוט בהם. יתרה מכך, כאשר אתה עושה משימה קשה יותר, אתה סוקר אוטומטית את התחביר. אבל אם אתה פתאום מוצא את עצמך במצוקה, כל ספר לימוד ג'אווה למתחילים מכיל בעיות דומות. אבל בניגוד ל-CodeGym, לספרי התרגילים האלה לא יהיה אימות משימות מיידי.

תרגול עם אוספים

אוספים הם הנושא ה"רציני" הראשון שמתכנתים מתחילים נתקלים בו בלימודיהם. משימות מתחילות המוקדשות לאוספי Java מיוצגות היטב גם ב- CodeGym - ברמה השביעית והשמינית של קווסט תחביר Java. זה המקום שבו התלמיד ישמע לראשונה על מסגרת Java Collections, ויעבוד מעט עם ממשקי הסט, הרשימה והמפה יחד עם חלק מהמימושים שלהם. עם זאת, בשלב זה תקבלו רק מבוא לכלי שימושי זה ומשימות ג'אווה פשוטות. אתה תלמד אוספים בצורה יסודית יותר במהלך החיפוש של Java Collections . אתה יכול לראות כמה הנושא הזה חשוב - מסע שלם נקרא על שמו!

תרגול עם חריגים

Java מספקת מנגנון מיוחד לטיפול במצבים חריגים, המפשטת משמעותית את תהליך ה"תפיסה" של שגיאות יישומים. אבל כדי להפיק את המרב, אתה צריך להבין איך עובד טיפול חריג ב-Java. ל-CodeGym יש ערימות של משימות כאלה. אפילו תפגשו אותם במסע הראשון - תחביר Java. אילו סוגים של משימות Java יש לך?  - 2

תרגול עם יציקת סוג

קבוצת משימות זו יכולה, כמובן, להיות מסווגת כמשימות בסיסיות על תחביר. עם זאת, לעניות דעתנו, אנשים לעתים קרובות פחות מעריכים משימות כאלה, ומתחילים מתעסקים בהן. זו הסיבה שאנחנו שוברים את התבנית: אנחנו לא לומדים משימות המרה פרימיטיביות ממש בהתחלה כפי שאחרים עושים לעתים קרובות. במקום זאת, אנו מתמודדים איתם מעט מאוחר יותר - בסוף מסע ה-Java Syntax. ואז נלמד להטיל טיפוסים לא פרימיטיביים (אובייקטים) כאשר נלמד OOP ב- Java Core Quest. ל-CodeGym יש מספיק מהמשימות האלה. אתה לא צריך לחפש יותר.

תרגול עם OOP

OOP הוא לא הנושא הקשה ביותר, אבל הוא חשוב ביותר. וזה מסתיר הרבה דקויות שמראיינים אוהבים להשתמש בהן כדי לתפוס מפתחים זוטרים. קורס CodeGym מכיל משימות תכנות מעשיות למתחילים כדי לעזור לך להבין את הפילוסופיה מונחה עצמים. אבל כדי להבין באמת את OOP, אנו ממליצים לקרוא ספרות קשורה (לדוגמה, "Core Java" של קיי הורסטמן וגארי קורנל, "ניתוח ועיצוב ממוקדי אובייקט" של מקלוהן או ספרים אחרים ) .

תרגול עם זרמי קלט/פלט

אנחנו מתחילים להשתמש בזרמי I/O הרבה לפני שהבנו אותם. זה ג'אווה, החגב הצעיר שלי! ההסבר של System.out, שלא לדבר על System.in, הוא קשה ומיותר כשמתחילים לראשונה. אבל כשאתה עובד דרך ה- Java Core Quest, אתה יודע בדיוק מספיק כדי להבין את הנושא המבלבל הזה, ואנחנו מדברים לא רק על קלט/פלט מסוף, אלא גם על עבודה עם מערכת הקבצים. העיקר לא לדלג על המשימות הללו (ב-CodeGym יש די הרבה) ולהעמיק בתיאוריה באופן עקבי.

משמרי מוחות

ב"מחשבי מוחות", אנו מתכוונים למשימות בעלות מורכבות מוגברת שאינן קשורות כל כך לידע אלא ליכולת ליישם את מה שאתה יודע בדרכים לא שגרתיות. אלו הן משימות נפוצות עבור מפתח Java זוטר. חברות מאוד אוהבות לשאול אותן במהלך ראיונות, אבל בעבודה אמיתית, לא נתקלים במחקרי מוחות כאלה לעתים קרובות. אז ל-CodeGym יש כמה, אבל לא הרבה מאוד (בדרך כלל תראה אותם בשיעורים של קפטן סנאים). אילו סוגים של משימות Java יש לך?  - 3איפה אני יכול למצוא מגני מוח?

אלגוריתמים ומבני נתונים

לגבי אלגוריתמים ומבני נתונים, יש ויכוח מתמיד לגבי כמה מתכנת עתידי צריך אותם. נשיב שוב: הם חיוניים לביסוס הלך הרוח הנכון, אך לעתים רחוקות הם נדרשים ישירות לעבודה. הסיבה לכך היא ש-Java, כמו גם לשפות תכנות אחרות, יש ספריות עם יישומים של כל אלגוריתם שניתן להעלות על הדעת למיון, חיפוש ועוד. ובכל זאת, כתיבת יישום משלך של אלגוריתם יכולה להיות מאוד מועילה ויכולה לתת לך מושג על מורכבותו. במיוחד לאנשים שלמדו מתמטיקה רק בתיכון. ביסודו של דבר, ניתן להחליף משימות אלה עם משימות מוח, עם ההבדל היחיד שכולן תוארו ונפתרו שוב ושוב באינטרנט. אתה אפילו לא צריך כלי אימות. בחר כל קורס, למשל, מאוניברסיטת פרינסטון או מכללה בקליפורניה . תרגול עם מבני נתונים:

ריבוי השרשורים

כל אחד יכול לכתוב "שלום, עולם!" תכנית. אבל מה דעתך להשתמש ב-Java Thread API כדי להציג את הביטוי המפורסם משרשור נפרד? או מה דעתך על הצגת "שלום, עולם!" חמש פעמים מחמישה חוטים שונים מבלי לערבב את המיתרים? ריבוי השרשורים יהיה "מבחן הכוח שלך" הטוב ביותר כשאתה לומד Java Core. קווסט שלם של CodeGym, הנקרא Java Multithreading , מוקדש לנושא זה, שהוא רחוק מלהיות קל. הוא מכיל מספר עצום של משימות כדי לאפשר לתלמידים להרגיש את ה"כאב והיופי" של עיבוד מקביל. הפרויקטים ה"אמיתיים" הראשונים של התלמידים מכילים בדרך כלל רמה מסוימת של ריבוי השרשורים. למשל, משחקים פשוטים. אילו סוגים של משימות Java יש לך?  - 4

תרגול עם ריבוי השחלות

חמישה פילוסופים שקטים יושבים ליד שולחן עגול. מול כל אחד מהם צלחת ספגטי. יש מזלגות על השולחן בין כל פילוסוף (אחד משמאל ואחד מימין). כל פילוסוף יכול לאכול או לחשוב מחשבות עמוקות. אבל הוא או היא יכולים לאכול רק אם מחזיקים שני מזלגות, כלומר על ידי הרמת האחד משמאל והאחד מימין. "להרים מזלג" ו"להניח מזלג" הן פעולות נפרדות שמתבצעות ברצף.

תרגול עם תרופות גנריות

הכללה היא עצם המהות של אוטומציה, אז במובן מסוים היא המהות של התכנות. בהתאם לכך, איננו יכולים להתעלם מהנושא של גנריקה בג'אווה. ל-CodeGym יש משימות תכנות הכרוכות בגנריות (בעיקר במסע החיפושים של Java Collections, החל מרמה 5). היכן אוכל למצוא תרגילים וחומרים שימושיים בנושא גנריות?

תרגול עם דפוסי עיצוב

בשלב מסוים (שני שלישים מהקורס ב-CodeGym), מתכנתים מתחילים חייבים להתחיל להסתכל על הכללים להשגת צורה טובה בתכנות. אנחנו מדברים על עיצוב נכון של קוד (פשוט יותר) ודפוסי עיצוב (קשים יותר). ל-CodeGym יש משימות בשביל זה. תזדקקו ליותר ותוכלו למצוא אותם ב"דפוסי עיצוב ראשונים " מאת אליזבת פרימן וקתי סיירה. או שאתה יכול לחשוב כיצד תוכל ליישם דפוסי עיצוב על משימות שנפתרו בעבר.

בדיקת יחידה

מיומנות חשובה לכל מתכנת, שלעתים קרובות מיוחסת בטעות אך ורק לבודקים, היא היכולת לכתוב בדיקות יחידה עבור הקוד שלו. ל-CodeGym יש כמה משימות הקשורות לבדיקות יחידה, אבל אתה לא באמת צריך לטרוח ולחפש עוד. כאשר אתה מבין כיצד לכתוב מבחנים יחידה, עשה לך הרגל לכסות את הקוד שלך (בפרויקטים שלך, בלימודים שלך) איתם. זה הרבה יותר מועיל מאשר ביצוע בדיקות עם פלט מסוף, נוהג שפוגע בדרך כלל במתכנתים של סטודנטים. בנוסף, לעתים קרובות הדבר הראשון שמפתחים זוטרים חדשים מופקדים בחברות הוא לכתוב בדיקות יחידה לקוד של מישהו אחר.

תרגול עם ביטויים רגולריים

זהו נושא פשוט שכמעט אף מתחיל לא מבין, כי הוא לא מוכר והם עצלנים. באמת כדאי להקדיש כמה ימים ללימוד הנושא, לרדת לעומק ה"רגקס", ולהשיג יתרון על מי שלא עשה זאת. זה מועיל גם מכיוון שביטויים רגולריים הם כמעט בלתי תלויים בשפה: אם תלמד אותם פעם אחת, תוכל להשתמש בהם בכל מקום. ל- CodeGym אין משימות המוקדשות לביטויים רגולריים, אם כי חלקן ניתנות לפתרון בעזרתן. להלן משאבים נוספים להבנת נושא זה:
  • regex101.com - אתר שבו אתה יכול לבדוק ביטויים רגולריים באינטרנט
  • "Introducing Expressions Regular" של מייק פיצג'רלד - פריימר תמציתי ופשוט.
אילו סוגים של משימות Java יש לך?  - 5

תרגל עם שאלות טריק על Java

קטגוריה זו כוללת משימות מסובכות בדרך כלל שאינן קשורות ישירות לעבודת תכנות אמיתית. הם נתקלים בעיקר במהלך ראיונות, שבהם הם משמשים כדי להבין את עומק ההבנה/ידע של המועמד בטכנולוגיה מסוימת או כדי לבדוק את תשומת הלב שלו לפרטים. אם אתה צריך משימות כמו זה, חפש "שאלות ראיון ג'אווה" או משהו דומה בגוגל. סביר להניח שתמצא חבורה של קבוצות בעיות, כמו גם שאלות ותשובות בכל מיני פורומים. טוב להבין אותם, אבל האם כדאי להשקיע בהם כמויות מוגזמות? במאמר עבור InformIT, קיי הורסטמן ציין פעם נקודה טובה לגבי משימות כאלה. כדי לנסח בקצרה את מחשבותיו, יש משימות בעולם האמיתי ויש היקום המקביל של "שאלות ראיונות".

תרגול עם הבעות למבדה

תמיכה בביטויי למבדה הופיעה ב-Java 8, אך עדיין לא נעשה בהם שימוש בהתלהבות על ידי כל המתכנתים. ובכל זאת, כיום המושג "משימות למפתחי Java זוטרים" כולל פעולות עם ביטויי למבדה, ולכן אנו ממליצים להכיר אותן .

תרגול עבודה עם רשתות

סדרה ל-JSON, RMI, HttpUrlConnection, sockets... אלו לא בדיוק נושאי תכנות למתחילים. הם דורשים כישורים מוצקים ומהווים משהו כמו גשר לפרויקטים, התמחויות ותעסוקה משלך. לרמות המתקדמות של CodeGym (המשימה של Java Collections) יש הרבה תרגילים שיעזרו לך לשלוט באסטרטגיות ובטכנולוגיות האלה, אבל הכל יתברר הרבה יותר כשתסיים התמחות מקוונת.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION