היו שני מראיינים בראיון. תחילה הם הסבירו על החברה: מייצרים מוליכים למחצה, לתעשיית רכיבי הזיכרון וה-CPU. לאחר מכן ביקשו שאסביר על פרויקט שעשיתי ואסרטט על דף את הדיזיין קלאס (OOD). תוך כדי שאלו שאלות על הסרטוט והפרוייקט, ושאלו איך היה אפשר לשלב בו מולטיטרדיניג. אח"כ שאלו שאלות טכניות.
שאלות מתוך הראיון
1. תאר פרויקט שעשיתי, כולל פירוט הדיזיין (עיצוב, ארכיטקטורה)
2. איך היית משלב multithreding (ריבוי חוטים) בפרויקט שלך?
3. יש מערכת צירים דו מיימדית (X,Y) ויש מבנה נתונים של קווים במערכת (לכל קו מצויין נק' התחלה ונק' סוף שלו). צריך לכתוב אלגוריתם שימצא את המספר המקסימלי של הקווים שיכולים להחתך על ידי קו מאונך אחד לציר ה-X.
4. מה ההבדל בין מחלקה (class) למבנה (struct) ב-#C?
5. מה קורה כאשר משתמשים בהמון מבנים בתוכנית אחת?
6. מה קורה כאשר שני מבנים מצביעים אחד על השני by reference ואף אחד לא מצביע עליהם?
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2017
3. יש ליצור מערך דינמי, שבו ישמרו נקודות ההתחלה ונקודות הסוף של כל קו, וצריך למצוא את האיזור בו יש הכי הרבה נקודות ההתחלה ועדיין לא סומנו נקודות סוף.
4. זיכרון המחלקה נשמר בערימה (heap). לעומת זאת, זיכרון המבנה נשמר במחסנית (stack), אך אם המבנה נמצא בתוך המחלקה אז הוא כמובן נשמר גם בערימה.
5. ה-Garbage Collector יזהה מבנים שכבר לא בשימוש וישחרר את הזיכרון שלהם. כך יתפנה מקום למבנים חדשים. (לא בטוח בתשובה).
6. ה-Garbage Collector יזהה זאת וישחרר את שניהם. (לא בטוח בתשובה).
פברואר 2019
3.
יוצרים רשימה אליה מזינים את כל הקוים בצורה ממוינת (מחזיקה איבר מסוג מבנה של נקודה ואם התחלה או סוף) - O(nlogn)
רצים על הרשימה ובעזרת counter שעולה עם מפגש בהתחלה ויורד עם מפגש של סוף וMaxcount ששומר את הערך המקסימלי ומוחזר בסוף מוצאים את נקודת החפיפה המקסימלית - O(n)
סה"כ o(nlogn)
ראיון ראשון היה טכני. בחצי הראשון סיפרתי על נסיוני בתחום בחצי השני היו שאלות שאין עליהם תשובה ברורה אלא כדי לראות כיוון חשיבה. ראיון שני היה עם ראש מחלקת אלגוריתמים. ראיון שלישי היה עם ראש מחלקת התוכנה. וראיון רביעי היה עם ה - HR.
שאלות מתוך הראיון
הביאו לי תמונה וביקשו ממני למצוא דרך כדי למצוא אובייקט מסויים. לאחר מכן הביאו לי תמונה נוספת בה יש עוד הרבה פריטים וביקשו שם למצוא את האובייקט.