מתכוננים לריאיון לתפקיד מפתחי Full Stack? אלו השאלות שתצטרכו לענות עליהן

מה מחפשות חברות שמגייסות מפתחות ומפתחי Full Stack? אספנו עבורכם 14 שאלות מעודכנות מראיונות אמיתיים כדי שתגיעו לריאיון הבא הכי מוכנים שיש

ריאיונות העבודה מושפעים מטרנדים חדשים, טכנולוגיות שמשתנות וצרכים שנוצרים (צילום: Dreamstime)

מאת שירי וקס, מנכ"לית Gotfriends

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

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

אז מה מחכה לכם בריאיון?

1. ספרו על פיצ'ר מאתגר או פרויקט מורכב שעבדתם עליו.

נאור רוזנברג, CTO and Co-founder בקפיטולה, מציין כי מטרת השאלה היא להכיר את המועמד או המועמדת מבחינה טכנית וגם אישיותית. לדבריו, סטארטאפים בשלב מוקדם מחפשים לרוב מועמדים שהיו מעורבים בפיתוחים משמעותיים ולא רק בתחזוקת קוד. רוזנברג ממליץ לבחור פיצ'ר, מודול או מערכת שהייתם מעורבים בהם אישית, ולהתכונן להציג את דרישות המוצר, ההתלבטויות הטכניות והשיקולים לבחירות שעשיתם.

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

2. איך הייתם מתכננים ובונים את אתר Stackoverflow?

רוזנברג מציין כי גם השאלה הזו נועדה ליצור היכרות עם הרמה הטכנית של המועמדים והאישיות שלהם. לדבריו, בתשובה לשאלה הזו הוא ירצה לראות צורת חשיבה מתודית והצגת שיקולים טכניים ומוצריים. רוזנברג ממליץ להתחיל בצד המוצרי כדי להבין את הדרישות, לדוגמה, מה כמות המשתמשים הצפויה, כמות הכתיבות לעומת קריאות ופיזור גיאוגרפי של משתמשים. בצד הטכני מומלץ לחשוב על שיקולים טכניים כגון data model ,scale ,performance ,persistency ,security ועוד.

3. כיצד תתמודדו עם בעיית ביצועים של טעינה איטית של עמוד?

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

4. בפניכם מוצג דף שבו טבלה לאחר טעינה ארוכה, ועליכם לתחקר את מקור הבעיה. ממשו memoization ב-javascript בהינתן פונקציה slowFunction: כתבו פונקציה memoize שמחזירה פונקציה memoized כך שקריאה ראשונה עם פרמטר תהיה איטית וקריאה שנייה עם אותו פרמטר תהיה מהירה. באילו מקרים לא כדאי להשתמש בפונקציה כזאת?

השאלה באה לבחון את יכולת פתרון הבעיות של המועמדים ואת היכרותם עם "pitfalls" בצד הלקוח ובצד השרת. דניאל מירון, ראש צוות פיתוח ב-Optibus, מציין כי השאלה בודקת את יכולות כתיבת הקוד הכלליות, וגם היכרות עם מושגים ותכונות של javascript כגון closures ו-side effects.

5. איך לדעתך מימשו אפליקציית Real Time Collaboration, כגון Google Docs?

מירון מציין כי השאלה הזו באה לבדוק היכרות עם טכנולוגיות web, תקשורת בין שרת לצד לקוח, ניהול state והבנה של יתרונות וחסרונות בטכנולוגיות שונות – בנוסף להתחשבות בחוויית משתמש.

6. איך הייתם מתכננים אפליקציה כמו Google Sheets?

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

7. תארו מוצר שעבדתם על הפיתוח שלו: מה המוצר עושה ומה החלק שלכם במימוש; תארו ב-High level את ארכיטקטורת התוכנה או שירותים, והחלוקה בין FrontEnd ו-BackEnd; תארו תרחיש או Flow של שימוש במערכת; תארו באג מאתגר שטיפלתם בו במערכת.

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

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

8. שאלת המשך: אם היינו רוצים לעשות Scale Up למערכת על ידי עלייה בכמות המשתמשים שהמערכת משרתת, איזה רכיב במערכת היה הופך לצוואר בקבוק ולמה? איך נכון לשנות את המערכת כדי למנוע אותו?

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

9. תארו מה משמעות השימוש ב-useCallback ב-React והסבירו למה לא נרצה להשתמש בו לכל פונקציה.
אלעד פרנקלין, מנהל קבוצת אפליקציה ב-Totango, מסביר כי חוויית המשתמש היא אבן יסוד מהותית בכל חברה ופרמטר הביצועים הוא חשוב מאין כמוהו. מטרת השאלה היא לראות ידע עמוק בספריית React בה משתמשים בחברה.

התשובה לשאלה היא שנשתמש ב-useCallback לפונקציות שמועברות כפרמטר ל-Memoize React components כשאנחנו רוצים למנוע render מיותר. אם נשתמש בפונקציה רגילה, ה-component יבנה מחדש מכיוון שהפונקציה נוצרת מחדש בכל יצירה של אובייקט האב. פונקציה עם useCallback תחזיר את אותו המופע במקרה שבו הפרמטרים שהיא מקבלת זהים לפרמטרים מהריצה הקודמת. לא נשתמש בטכניקה הזו בכל מקום, כי יש לה מחיר של זיכרון וזמן פעולת הבדיקה אם הפרמטרים השתנו.

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

פרנקלין מציין כי בתור מערכת SaaS המשרתת עשרות אלפי משתמשים כל יום מכל העולם, בחברה מזהים לעתים ניסיונות פגיעה וחשיפת מידע (וכמובן חוסמים אותם). השאלה נועדה לבחון אם למועדים יש ראייה רחבה בפיתוח מערכות 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 }, { c, a }, { 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 שניות; כאשר לפונקציה פנימית יש גישה למשתנים של פונקציה חיצונית העוטפת אותה; והנה הקוד:

for (var i = 0; i < 3; i++) {
setTimeout(function(i_local) {
return function() { alert(i_local); }
}(i), 1000 + i);
}

הכתבה בחסות Gotfriends

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

שירי וקס Gotfriends

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

הגב

5 תגובות על "מתכוננים לריאיון לתפקיד מפתחי Full Stack? אלו השאלות שתצטרכו לענות עליהן"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
שמיל
Guest

נראה שיש 2 טעויות בשאלה 13 – בדוגמה חסרה קבוצה וגם כנראה שצריך להחזיר את קבוצת החזקה ולא את הקבוצה הריקה.

ליאור - גוטפרנדס
Guest
ליאור - גוטפרנדס

היי שמיל,
אכן חסרה קבוצה, אנחנו דואגים לתקן :)

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

תודה רבה

אבי
Guest

פסודו קוד שמחזיר את הקבוצה הריקה?
זה יהיה פשוט שורה אחת, ללא תנאי או לולאה שבכלל לא תלוי בהגדרה של P…
אין מצב שזו באמת השאלה כאן.

תומר
Guest

ובסוף החברה מתעסקת בהוספת אייקון … וטקסטים

ירון
Guest

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

wpDiscuz

תגיות לכתבה: