JavaRush /בלוג Java /Random-HE /מהם סוגי משימות Java?

מהם סוגי משימות Java?

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

בעיות תחביר שפה

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

משימות איסוף

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

בעיות חריגות

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

סוג בעיות המרה

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

משימות להבנת OOP

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

משימות בנושאי קלט/פלט

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

חידות

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

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

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

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

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

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

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

משימות בנושא גנריות

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

משימות עיצוב דפוסים

בשלב מסוים (בערך 2/3 מהקורס JavaRush), מתכנת מתחיל צריך להתחיל לבחון מקרוב את כללי הנימוס בתכנות. אנחנו מדברים על עיצוב קוד נכון (שזה קל יותר) ותבניות עיצוב (שזה יותר קשה). ל-JavaRush יש משימות כאלה. נדרשים נוספים - ניתן למצוא אותם, למשל, בספר (חלק 4) " Java. שיטות תכנות » בלינוב ורונצ'יק. או חשבו כיצד תוכלו להכניס בעיות שכבר נפתרו לתבנית.

בדיקת יחידה

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

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

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

בעיות Java עם טריק

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

בעיות ביטוי למבדה

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

משימות רשת

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