14 שאלות שכנראה ישאלו אתכם בראיון לתפקיד מפתח/ת Full Stack
ענף ההייטק לא מפסיק להתפתח ולהשתדרג, וגם ראיונות העבודה משתנים כל הזמן, במטרה לדייק את תהליך הגיוס. כדי שתגיעו מוכנים ולא תופתעו בראיון, אספנו עבורכם 14 שאלות עדכניות ונפוצות, היישר מהמגייסים
אחת השאלות שאנחנו שומעים הכי הרבה בתהליכי הגיוס שאנחנו מלווים היא: מה חברות מחפשות אצל המועמדים או במילים אחרות – לפי מה הן מחליטות מי מהמועמדים קורץ מהחומר שמתאים לחברה ולמשרה ומי לא. מניסיון של שנים, הכולל עשרות אלפי מועמדים וקשרים הדוקים עם החברות המובילות בארץ, אנחנו יכולים להגיד לכם דבר אחד: במידה מסוימת, התשובה משתנה כל הזמן.
תעשיית ההייטק היא תעשייה מתפתחת שלא נשארת רגע אחד במקום, ואנחנו לא מדברים רק על השינויים בטבלאות שכר הייטק. שיטות העבודה משתכללות, הטכנולוגיות משתנות והצרכים החדשים שנוצרים מייצרים מצד אחד מקום לתפקידים חדשים, ומצד שני דיוק והתפתחות של התפקידים הקיימים. אותם שינויים חלו גם על מקצוע ה- Fullstack Engineer ומטבע הדברים, גם ראיונות העבודה לתפקיד עברו שינויים בהתאם. כדי להגיע מוכנים לראיון העבודה, צריך להיות עם היד על הדופק ולהבין מה המגייסים מחפשים היום, ואין דרך טובה יותר לעשות זאת מאשר לקבל הצצה לשאלות העדכניות והנפוצות ביותר שנשאלות בימים אלו בראיונות העבודה.
זה מה שישאלו אתכם בראיונות למשרת Fullstack Developer, וזה מה שהם רוצים לשמוע:
1. "ספר לנו על פרויקט מאתגר שעבדת עליו או על פיצ'ר מורכב שפיתחת"
מטרת השאלה, על פי נאור רוזנברג, CTO & Co-founder בחברת קפיטולה, היא לא רק להכיר את היכולות הטכניות שלכם אלא גם את האישיות שלכם, לכן חשוב לבחור פרויקט שהייתה לכם מעורבות אישית גדולה בפיתוחו ולתאר את הדרישות עמן התמודדתם, את ההתלבטויות והאתגרים שבדרך ואת השיקולים והבחירות שנעשו בסופו של דבר.
השאלה נפוצה בעיקר בקרב סטארט-אפים שנמצאים בשלב מוקדם יחסית וזקוקים למועמדים שייקחו חלק משמעותי בפיתוח. ממועמדים שהם Seniors יצופה להפגין גם ידע מקיף ומעורבות רחבה יותר בשיקולי המוצר, התייחסות לשיקולים מוצריים שעשויים לבוא על חשבון הפתרון הטכני הטוב ביותר ועוד. בקפיטולה נוהגים ליידע את המועמדים מראש שהראיון הטכני יכלול את השאלה הזאת, וכך בוחנים גם את היכולת של המועמד להציג תשובה שהוא התכונן אליה מבעוד מועד.
2. "אם היית בונה את אתר Stackoverflow – איך היית עושה זאת?"
מטרת שאלה זו דומה למטרת השאלה הקודמת, אומר רוזנברג ומסביר כי יצפה להבין מהתשובה את צורת החשיבה המתודית של המועמד ואת היכולת שלו להתייחס לשיקולים טכניים ומוצריים. מומלץ להתחיל מהשיקולים המוצריים, הוא אומר, על מנת להבין מה הפיזור הגיאוגרפי של משתמשים, מה כמות המשתמשים הצפויה ומה היחס בין כמות הכתיבות לקריאות, ולאחר מכן לעבור לשיקולים הטכניים: Security ,scale ,performance ,data model ,persistency ועוד.
3."בעיית ביצועים: כיצד תתמודד עם עמוד שנטען באיטיות?"
לדברי רוזנברג, שאלה זו מאפשרת לו להציץ אל תהליך החשיבה של המועמד ולעמוד על עומק הידע וההבנה שלו בעולם ה- Full Stack ובנושא הגורמים לבעיות ביצועים בפרט.
4. "ספר על מוצר שלקחת חלק בפיתוחו: תיאור המוצר, תיאור חלקך בפיתוח, תיאור של ארכיטקטורת התוכנה/ השירותים ב-High level כולל חלוקה ל-FrontEnd ו-BackEnd, תיאור של באג במערכת שטופל על ידך ותיאור תרחיש כלשהו של שימוש במוצר".
התשובה לשאלה המורכבת הזאת, מסביר גיא גרנות, מנהל תוכנה ואלגוריתמיקה בחברת Chain Reaction, מספרת למראיינים עד כמה המועמד מכיר את המערכת שעליה עבד, עד כמה היה שותף לתהליכים השונים של פיתוחה ועד כמה הבין את השיקולים שנלקחו בחשבון ואת ההחלטות שבסופו של דבר נעשו. היכולת של המועמד לתאר את הפיתוח עליו הוא אחראי בצורה בהירה, אומר גרנות, תסייע למועמד לקבל בעתיד עזרה מראש הצוות שלו או מאחד מעמיתיו, וזה עוד היבט של העבודה השוטפת שאנחנו מעוניינים לבחון.
5. "בהמשך לשאלה הקודמת – איזה רכיב במערכת היה הופך לצוואר בקבוק אם היינו עושים Scale Up בכמות המשתמשים שהיא משרתת? מה השינוי הנדרש על מנת למנוע צוואר בקבוק במקרה כזה?"
ברגע שהמועמדים נדרשים לחשוב על דרכים לשיפור המערכת, המראיינים נחשפים ליכולות האנליטיות שלהם, לידע שלהם בתחום עיצוב התוכנה ולגישה שעמה הם מתמודדים עם בעיות, מסביר גרנות.
6. "לפניך טבלה לאחר טעינה ארוכה. עליך לחקור את מקור הבעיה. ממש memoization ב-javascript בהינתן פונקציה slowFunction: כתוב פונקציה memoize שמחזירה פונקציה memoized כך שקריאה ראשונה עם פרמטר תהיה איטית וקריאה שנייה עם אותו פרמטר תהיה מהירה. מתי תעדיף להימנע משימוש בפונקציה כזאת?"
שאלה זו, מסביר דניאל מירון, ר"צ פיתוח בחברת Optibus, בוחנת מגוון יכולות טכניות: יכולת כתיבת קוד, יכולת פתרון בעיות, היכרות עם “pitfalls” בצד השרת ובצד הלקוח, היכרות עם מושגים כמו closures ,side effects וכן עם תכונות נוספות של javascript.
7. "מה הדרך לפיה מימשו, לדעתך, אפליקציית Real Time Collaboration כמו Google Docs?"
המטרה בשאלה זו, לדברי מירון, היא לבחון את האופן בו אתם חושבים על חוויית המשתמש ובד בבד ללמוד על מידת ההיכרות שלכם עם התקשורת בין צד השרת לצד הלקוח, ניהול state, טכנולוגיות web והיתרונות והחסרונות הנובעים מהן.
מתחילים להרגיש מוכנים? בנוסף לשאלות ולתשובות, יש לנו גם 10 משרות מצוינות עבורכם:
- Fullstack Team Leader לסטארטאפ ברוטשילד
- Group Leader/ FS Team Leader לחברה מובילה
- Fullstack Team Leader לצוות הדגל של אחת החברות החמות ביותר בשוק
- לחברת סטארטאפ בשרון דרוש/ה מפתח/ת Fullstack
- מפתח Full Stack
- Lead Fullstack Developer לסטארטאפ בעולם הסייבר
- מפתחי Fullstack עם דגש על React לסטארטאפ חדש
- Full Stack Web developer
- Fullstack NodeJS לסטארטאפ בעולם הבינה המלאכותית
- Fullstack Wordpress Developer - CTO position
8. "כיצד היית מתכנן את אפליקציית Google Sheets או אפליקציה דומה לה?"
אף אחד לא יודע את התשובה הנכונה לשאלה זו, אומר מירון, זה ברור גם למראיינים וגם למועמד. אבל המטרה בהצגת שאלה כזאת, שעוסקת באפליקציה שכולם מכירים, היא לראות כיצד המועמד ניגש לתכנון של משהו גדול ולהבין את תהליכי החשיבה שלו.
9. "מתי תשתמש ב-useCallback ב- React? מדוע לא תשתמש בו בכל פונקציה?"
מטרת השאלה, אומר אלעד פרנקלין, מנהל קבוצת אפליקציה בחברת Totango, היא להבין את עומק הידע של המועמד בספריית ה-React בה משתמשת החברה ואת הבנתו בנושאים מהותיים כמו חוויית המשתמש ופרמטר הביצועים.
התשובה, הוא אומר, היא שהשימוש ב-useCallback יעשה במסגרת פונקציות שמועברות ל- Memoize React components במצבים בהם נרצה למנוע render מיותר. כיוון שבכל יצירה של אובייקט האב הפונקציה נוצרת מחדש, שימוש בפונקציה רגילה יגרום ל-component להיבנות מחדש ואילו פונקציה עם useCallback – כשתקבל פרמטרים זהים לאלו שקיבלה בריצה הקודמת – תחזיר את אותו המופע. השימוש ב-useCallback לא יעשה בכל פונקציה כי הוא מגיע עם מחיר של זמן (בדיקה אם הפרמטרים זהים לריצה הקודמת) וזיכרון.
10. "באילו סוגי פגיעויות יש להתחשב בפיתוח אפליקציות web? איך אפשר להתגונן בפניהן?"
כמערכת Saas שמשרתת מדי יום עשרות אלפי משתמשים מרחבי העולם, נתקלים ב-Totango בניסיונות לפגיעה וחשיפת מידע מעת לעת, ומיד חוסמים את אותן ניסיונות כמובן. לדברי פרנקלין, מטרת השאלה היא לבחון עד כמה רחב הידע של המועמד בפיתוח מערכות web, ולוודא שהידע שלו לא מסתכם בהיכרות נקודתית עם שפות הפיתוח הנדרשות.
11. "כתוב מתודה שמקבלת linked list ובודקת אם יש בו לולאה".
לדברי אלכס גלפרין, ר"צ בחברת PlainID, שאלת קוד פשוטה כבר בתחילת הראיון מעניקה למועמדים תחושה של הישגיות, ובמקביל מאפשרת למראיינים להיחשף לצורת החשיבה וליכולות האנליטיות שלהם.
12. "עליך לתכנן (טכנולוגיות, ארכיטקטורה וישויות) מערכת להזמנת פיצות, שבאמצעותה יכול המטבח לנהל את רשימת הפיצות אותן עליו להכין, והלקוח יוכל לנהל את רשימת הפיצות שהזמין. איך תשדרג את המערכת לתמיכה במספר סניפים? כיצד תהפוך אותה ל-SaaS שישרת מספר רב של רשתות פיצה שונות?"
על שאלה זו, אומר גלפרין, ניתן לענות בדרכים שונות בהתאם לניסיון של כל מועמד. דרך התשובה, המראיינים יכולים להבין את יכולותיו של המועמד לעשות שימוש בידע, בכלים ובטכנולוגיות שהוא מכיר.
13. "קבוצת החזקה של קבוצה נתונה A היא קבוצת כל תת הקבוצות של A, ומסמנים אותה (P(A. כל קבוצה מכילה את עצמה ואת הקבוצה הריקה, ועל כן שני אלו הם איברים בקבוצת החזקה. אם A מכילה n אלמנטים, P(A) תכיל 2^n אלמנטים.
לדוגמה:
A={a,b,c}
P(A) = {{}, {a}, {b},{c},{a,b},{b,c},{a,b,c}}
כתוב פסודו קוד המקבל קבוצה ומחזיר את הקבוצה הריקה שלה".
מור צלח, ר"צ בחברת Lawgeex, מסבירה כי השאלה נועדה להבין את אופן החשיבה של המועמדים ולראות כיצד הם מסוגלים להגיע לפתרון על ידי פירוק בעיה לגורמים.
14. "לפניך קטע קוד. מה יודפס בעקבות הרצתו? מה זה Javascript Closure? כיצד יש לכתוב את קטע הקוד על מנת שיודפס 0, 1, 2.
for (var i = 0; i < 3; i++) {
setTimeout(function() { alert(i); }, 1000 + i);
}
התשובה: בהרצת הקוד יודפס 3 פעמים אחרי 1, 1.1 ו-1.2 שניות, Javascript closure הוא מצב בו לפונקציה פנימית יש גישה למשתנים של הפונקציה החיצונית שעוטפת אותה, והקוד שידפיס 0, 1, 2, הוא:
for (var i = 0; i < 3; i++) {
setTimeout(function(i_local) {
return function() { alert(i_local); }
}(i), 1000 + i);
}
אם הגעתם עד לכאן – ברכות! אתם עומדים להגיע לראיון העבודה הבא שלכם הכי מוכנים שאפשר. כפי שראיתם, אנחנו יכולים לעזור לכם לא רק לעבור את הראיון בהצלחה, אלא גם להגיע אליו מלכתחילה – 10 המשרות המעולות שראיתם כאן הן רק חלק ממאגר אדיר של משרות שאנחנו רק מחכים להציע לכם.
במקום לשבת כל היום על מודעות דרושים Full stack, לשלוח קורות חיים שייעלמו בין מאות מיילים דומים ולבזבז זמן יקר על חיפוש עבודה, אתם יכולים למצוא עבודה, איתנו: Gotfriends – ההייטק של ההשמה. הקשרים המקצועיים הארוכים שלנו עם חברות ההייטק המובילות בארץ מאפשרים לנו להציע לכם משרות שלא מופיעות בשום לוח דרושים הייטק, כך שאתם מגיעים אל המגייסים לפני כולם. באמצעות הידע והמומחיות שצברנו, אנו מלווים אתכם לאורך כל תהליך הגיוס, מייעצים ומסייעים, ובשורה התחתונה: מחברים אתכם למשרה המתאימה ביותר לדרישות ולצרכים שלכם. שלחו לנו קורות חיים, לא תאמינו כמה מהר זה יקרה.
מידע נוסף:
- מרגישים שזה כבר לא זה? >> לוח דרושים הייטק
- רוצים לדעת כמה אתם שווים? >> טבלאות שכר הייטק
- חיפוש לפי חברות >> חברות הייטק בישראל
- משלוח קו"ח ישירות >> למשלוח קו"ח