JavaRush /בלוג Java /Random-HE /רשימת הבדיקה של מפתחי Java. מה שמפתח צריך לדעת

רשימת הבדיקה של מפתחי Java. מה שמפתח צריך לדעת

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

1. אלגוריתמים בסיסיים

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

2. תחביר ג'אווה

לאחר לימוד יסודות האלגוריתמים, עלינו ללמוד תחביר Java. אחרי הכל, כולנו לומדים להיות מתכנתי Java כאן, לא? קורס JavaRush מושלם עבור זה. בתהליך של ביצוע משימות רבות, אתה תהיה שוטף בתחביר Java ותכתוב/קרא קוד Java בלי הרבה מחשבה, כאילו זו שפת האם שלך. JavaRush הוא תרגול, ובנוסף לזה, אתה צריך גם להסתכל על התיאוריה כדי להבין מה בדיוק אתה עושה. כדי לעשות זאת, אתה יכול לקרוא ספרים, למשל אחד מהבאים:
  • " ראש ג'אווה ";
  • "Java for Dummies" מאת בארי בירד;
  • "ג'אווה. מדריך למתחילים" הרברט שילדט.
לאחר קריאת הספרים האלה, אתה יכול לקחת על עצמך ספרים קשים יותר:
  • "הפילוסופיה של ג'אווה", ברוס אקל;
  • "תכנות אפקטיבי", יהושע בלוך;
  • "ג'אווה. המדריך השלם", הרברט שילדט.
שלושת הספרים האחרונים אינם קריאה קלה למתחילים, אך הם יכולים לספק בסיס מוצק בתורת ג'אווה. כמו כן, אל תשכח את המאמרים על JavaRush, כי הם יכולים למצוא הסברים על רוב הנושאים שמעניינים אותך. אתה יכול למצוא את המאמר שאתה צריך על ידי הקלדת הנושא שאתה מעוניין בו: רשימת הבדיקה של מפתחי Java.  מה שמפתח צריך לדעת - 2אני גם ממליץ בחום לחפש שאלות בראיון Java, כמו למשל באוסף שאלות זה על שיעורים וממשקים מופשטים . זה יעזור לך להבין מה בדיוק אתה צריך ללמוד ולאילו שאלות להתכונן.רשימת הבדיקה של מפתחי Java.  מה שמפתח צריך לדעת - 3

3. דפוסי תכנות

דפוסי תכנות הם כמה דפוסים שניתן לחזור עליהם המייצגים פתרון לבעיה בהקשר שמתרחש לעתים קרובות. ביניהן יש תבניות בסיסיות ופשוטות שכל מתכנת שמכבד את עצמו צריך להכיר. כדי להבין נושא זה, השתמשו בספר " ראש בראש. תבניות עיצוב ." היא תסביר בבירור דפוסי תכנות בסיסיים. אבל הספר מדבר הרבה על Java , אז בזמן לימוד הספר אתה צריך לשלוט בשפת התכנות הזו. לצלילה עמוקה יותר לתוך דפוסים, אתה יכול גם לקרוא "טכניקות עיצוב ממוקדות אובייקט. Design Patterns” מ-Gancia of Four ( Gang of Four: צוות של מחברים הכולל את אריך גמא, ריצ'רד הלם, ראלף ג'ונסון, ג'ון וליסיידס - הערת העורך) . לאחר לימוד נושא זה, תתחיל לראות דפוסים כמעט בכל מקום בקוד שלך. שימו לב לכך, במיוחד לדפוסים שבהם נעשה שימוש באביב , מכיוון שזו שאלה פופולרית בראיונות.

4. פרדיגמות תכנות. ניקיון קוד

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

5.SQL

הצעד הבא שלנו הוא ללמוד את השפה של מסדי נתונים יחסיים - SQL . מסדי נתונים הם המקום שבו מאוחסן המידע (הנתונים) של יישום אינטרנט. מסד נתונים מורכב מטבלאות רבות (פנקס הכתובות בטלפון שלך הוא הדוגמה הפשוטה ביותר לטבלאות כאלה). אתה יכול לקרוא עוד על מסדי נתונים במאמר זה . עבור מפתחי Java, תחום האחריות הוא לא רק אפליקציית Java, אלא גם מסד הנתונים איתו הוא מקיים אינטראקציה והיכן הוא מאחסן נתונים. בבסיסי נתונים יחסיים (הנפוצים ביותר), כל האינטראקציה מתרחשת באמצעות שפה מיוחדת - Structured Query Language, או SQL. כדי להבין את הנושא הזה, זה יספיק לקרוא את אחד הספרים:
  • "לימוד SQL" מאת אלן בוולי;
  • "SQL", כריס פיאילי;
  • "Head First SQL" מאת לין ביילי.
אבל תרגול בלי תיאוריה לא עובד, נכון? ובראיונות לבדיקת ידע ב-SQL, הם לעתים קרובות (כמעט תמיד) נותנים בעיה אחת או שתיים בכתיבת שאילתת SQL. לכן, חשוב מאוד לחדד את כישורי ה-SQL המעשיים שלך כדי להראות את עצמך באור טוב. משאב מצוין להשגת תרגול SQL יכול להיות המשאב sql-ex.ru .

6. MySQL/PostgreSQL

לאחר לימוד שפת SQL, עליך להכיר את יישום מסד הנתונים הספציפי. בהתאם למסד הנתונים, פקודות מסוימות עשויות להשתנות באופן דרמטי. וההבדל ביכולות מסד הנתונים די מורגש. מסדי הנתונים היחסיים הנפוצים ביותר הם MySQL ו- PostgreSQL . רשימת הבדיקה של מפתחי Java.  מה שמפתח צריך לדעת - 4MySQL הוא הרבה יותר פשוט, אבל ל-PostgreSQL יש יותר יכולות. מלכתחילה, מספיק להכיר לפחות אחד מהם. אתה יכול ללמוד יישומי מסד נתונים אם אתה משתמש בכישורי גוגל - מצא את המאמרים וההדרכות הדרושים ב-YouTube. אתה צריך להיות טוב בחיפוש נכון של שאלות שמעניינות אותך, כי מתכנת הוא אדם "עם חגורה שחורה" בחיפושים בגוגל.

7. Maven/Gradle

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

8. גיט

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

9. JDBC

טכנולוגיה זו נועדה לספק קישוריות בין יישום Java שלך לבין מסד נתונים יחסי. כדי להכיר את היסודות, אני ממליץ לקרוא את המאמר JDBC או Where It All Begins. יש הרבה מאמרים המסבירים את טכנולוגיית JDBC ומספקים דוגמאות בסיסיות, למרות העובדה שאף אחד כבר לא משתמש ישירות ב-JDBC עירום.

10.JPA. שינה

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

11.אביב

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

  • ליבת אביב

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

  • אביב JDBC

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

  • שינה אביבית

כמו עם JDBC חשופות, מסגרת זו משפרת את השימוש בטכנולוגיה קיימת, במקרה זה Hibernate. אם תשקלו להשתמש ב-Hibernate ללא Spring, תבינו בדיוק מה היתרון בשימוש ב-Spring Hibernate.

  • אביב JPA

קודם דיברנו על JPA וכיצד זה רק מפרט שיש עבורו יישומים שונים. מבין ההטמעות הללו, Hibernate הוא הקרוב ביותר לאידיאל. ל-Spring יש יישום אידיאלי משלו של JPA, המשתמש ב-Hibernate "מתחת למכסה המנוע" וקרוב ככל האפשר לאידיאל של מפרטי JPA. טכנולוגיה זו נקראת Spring JPA. אגב, זה מאוד מפשט את הגישה למסד הנתונים. אתה יכול ללמוד JPA רק בלי ללמוד JDBC, Hibernate, Spring JDBC, Spring Hibernate. אבל במקרה זה, הידע שלך בחיבור למסד נתונים יהיה מאוד שטחי.

  • אביב MVC

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

  • מגף אביב

טכנולוגיה זו מפשטת מאוד את השימוש ב-Spring. שמתי את זה בסוף הרשימה מסיבה, כי זה מסתיר הרבה מתחת ל"ברדס" ולאדם שלא מכיר את האביב הרגיל, נקודות רבות אולי לא ברורות ולא מובנות. ראשית, כדי להבין טוב יותר כיצד פועלות מסגרות ה-Spring, כדאי להשתמש ב-Spring רגיל, ולאחר מכן בכל היתרונות הגבוהים יותר של השימוש ב-Spring Boot. אני גם ממליץ לך להכיר את ה-Spring Security ו-Spring AOP. אבל בניגוד לטכנולוגיות לעיל, אין צורך בידע מעמיק של שתי אלה כעת. טכנולוגיה זו אינה מיועדת למתחילים. במהלך ראיונות, זוטרים אינם נשאלים עליהם (למעט שאלה שטחית אחת). קרא באופן כללי מהן הטכנולוגיות הללו וכיצד הן פועלות. לאורך המאמר הזה הזכרתי שוב ושוב ספרי קריאה. מצד אחד, זה לא הכרחי. אתה יכול להיות מתכנת בלי לקרוא ספר אחד, לאחר שלמדת את כל מה שאתה צריך ממאמרים וסרטוני הדרכה. מצד שני, כרגע התחרות בשוק למפתחים מתחילים גבוהה, מה שמעלה את הרף לידע הראשוני הנדרש למתחילים. לכן, ככל שתדעו יותר, כך תוכלו להשיג את העבודה הראשונה שלכם מהר יותר על ידי הרשמת המראיין ברמת הידע שלכם. תודה לכולכם, ושג'אווה תהיה איתכם .רשימת הבדיקה של מפתחי Java.  מה שמפתח צריך לדעת - 9
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION