ראיונות עבודה אחרי שנתיים ניסיון

  • פותח הנושא Be1n
  • פורסם בתאריך

Be1n

Member
אני עובד כבר שנתיים כמפתח צד שרת, מעבר לידע שנדרש מבוגר תואר, האם יש ידע נוסף שמראיינים יצפו ממרואיין בעל שנתיים ניסיון?
(אין לי בעיה להרים שרת בעבודת בית, לדוגמא אם ייתנו לי)

אגב, גם רפרנסים לאתרים יכולים לעזור (אני כבר מכיר את leetcode)
 
נערך לאחרונה ב:

BravoMan

Active member
רוב הסיכויים, שישאלו אותך על סוג הפרויקטים שעשית.

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

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

user32

Well-known member
מנהל
כמו שאמר ברוו: רצוי מאוד למשוך את הראיון לכיוון שלך ולהתמקד בדברים שעשית.
השאלות שאתה צריך לבוא עם תשובות מוכנות:
תיאור של מערכת/פיצ'ר/משימה מורכבת שעבדת עליהם
לפחות שתי בעיות שנתקלת בהן ואיך פתרת אותן
כישלון אחד (אולי רלוונטי יותר לתפקידים בכירים)
במידה ואתה מציין שעבדת בסביבות מסויימות, פרימוורקים, ספריות, API וכו' - צריך לדעת לענות על שאלות בנושא. ברוח הימים האלה: שאלות ברמה "סבירה"...
 

Be1n

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

BravoMan

Active member
אני כל שבוע נתקל לפחות בבעיה אחת.
אני פותר אותה בלהמשיך ולעבוד עליה..
אני מניח שתשובה בסגנון "ניסיתי להסתכל מזוויות שונות ובסוף פתרתי", לא טובה מספיק?

אולי כדאי להבהיר למה הכוונה ב-"בעיה" שעליה שואלים בהקשר הזה:

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

הכוונה למשהו שבאמת היית צריך לשבור את הראש עליו, אולי אפילו זמן רב, משהו שלא יכולת לקבל עזרה לגביו מאנשים אחרים בחברה עם יותר ניסיון, משהו שבאמת הצריך חשיבה מחוץ לקופסה, וכו'.

"ניסיתי להסתכל מזוויות שונות" זו התחלה של תשובה.
אם תוכל להרחיב על המתודולוגיה, למשל "חשבתי על זה בתור X, אבל אז עלה לי הראיון ש-A מתנהג בצורה Y ואולי בעצם צריך להסתכל על כל העסק כ-Z, כי אז האלגוריתם B מתאים פה והוא יעיל מאוד" זו תהיה תשובה מלאה ומעניינת שתדגים את דרך החשיבה שלך למראיין, שזה אחד הדברים החשובים בראיון טכני.

מקווה שאתה מבין לאן אני חותר, קצת קשה להסביר את זה... (לפחות לי)
 

Be1n

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

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

הכוונה למשהו שבאמת היית צריך לשבור את הראש עליו, אולי אפילו זמן רב, משהו שלא יכולת לקבל עזרה לגביו מאנשים אחרים בחברה עם יותר ניסיון, משהו שבאמת הצריך חשיבה מחוץ לקופסה, וכו'.

"ניסיתי להסתכל מזוויות שונות" זו התחלה של תשובה.
אם תוכל להרחיב על המתודולוגיה, למשל "חשבתי על זה בתור X, אבל אז עלה לי הראיון ש-A מתנהג בצורה Y ואולי בעצם צריך להסתכל על כל העסק כ-Z, כי אז האלגוריתם B מתאים פה והוא יעיל מאוד" זו תהיה תשובה מלאה ומעניינת שתדגים את דרך החשיבה שלך למראיין, שזה אחד הדברים החשובים בראיון טכני.

מקווה שאתה מבין לאן אני חותר, קצת קשה להסביר את זה... (לפחות לי)

לא רק לך, לי אין בינתיים אפילו רעיון..
מצאתי פעם בעיה של race condition, זה בסדר?
 

Be1n

Member
איך מצאת אותה?
בהתחלה לא חשבו שהייתה שם בעיה, אבל התחלתי לקרוא והבנתי שיכולה להיווצר שם בעיה.
אחר כך יצרתי את התנאים שבהם חשבתי שהוא יכול להיווצר וראיתי שהוא באמת נוצר.

לא יודע אם זו דוגמא טובה.
 

vinney

Well-known member
זאת דוגמא מצויינת. תפרט קצת יותר על הלמה, איך, מה עוד היית צריך לפתור על הדרך, את מי היית צריך לשכנע....
 

user32

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

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

Be1n

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

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

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

Nuke1985

Active member
אני מניח שתשובה בסגנון "ניסיתי להסתכל מזוויות שונות ובסוף פתרתי", לא טובה מספיק?

המטרה של ראיון היא להעריך את המיומנויות שלך, שאתה נותן תשובה כזאת אתה לא מראה את המיומנויות שלך, אז לא.
 

user32

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