בהינתן מספר integer צריך לעשות reverse לסיביות ולהחזיר את ערך המספר החדש ,כלומר בהינתן 4 ,הייצוג הבינארי הוא 100 ולכן צריך לעשות reverse ונקבל 001 ואז צריך להחזיר 1.
ראיון ראשון מול הראש צוות שערך כשעה וחצי, שעה להסבר על התפקיד על עצמך וכו ועוד חצי שעה לשאלה טכנית, ראיון שני ושלישי רצופים שערכו כשעה כל אחד וכללו רק שאלות טכניות
שאלות מתוך הראיון
1. יש מגרש חניה עם N מקומות חניה ושער בכניסה. בכניסה וביציאה יש חיישן שמחזיר 1 או 0 אם זוהה רכב. החיישנים מחזירים מעדכנים את הרגיסטרים S1 בכניסה וS2 ביציאה. כתוב תוכנית שמנהלת את החניון, כשמגיעה מכונית ויש מקום בחניון נפתח שער הכניסה עם פונקציה openGate ונסגר לאחר מכן עם פונקציית closeGate. אם אין מקום בחניון, משאירים את השער סגור עד שמתפנה מקום.
2. שאלת חימום.. יש קוביה שמורכבת מקוביות קטנות (כמו קוביה הונגרית) בגודל 3x3x3, כמה קוביות קטנות ניתן לראות אם מסתכלים על הקוביה? כמה קוביות קטנות נראה אם הקוביה בגודל NxNxN?
3. איך נזהה גודל של struct ללא sizeof.
4. תממש מערכת שמבצעת תור של פקודות באופן מקבילי (הכוונה שהפקודות לא חוסמות) ומחשבת את הזמן הממוצע שלקח לפקודות להתבצע. אתה שולט מתי מתבצעת כל פקודה. אפשר להניח שיש לכל היותר N פקודות שיכולות להתבצע במקביל.
5. תכנן אלגוריתם: יש רשימה של מילים, צריך למצוא את הסט הכי גדול של המילים שרק אות אחת שונה בהן. למשל אם יש את הרשימה [אבגד, אכגד, אבדד, אבהד] הסט הכי ארוך הוא [אבגד, אבדד, אבהד]
6. לעבור על קוד שלהם ולמצוא את הבאגים בקוד
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2023
1. מימוש ראשון בעזרת דגימה של החיישנים כל איטרציה, ייעול של המימוש מסתמך על ההבנה שמימשנו זיהוי עליה מ0 ל1 וזיהוי ירידה מ1 ל0, לכן ניתן להשתמש בinterrupt שמזהה את זה במקום לדגום את החיישנים.
2. עבור קוביית 3x3x3 יש קוביה אחת חבויה בפנים, אז 3 בחזקת 3 פחות 1. עבור N יוצא N בחזקת 3 פחות N-2 בחזקת 3
3. נמיר את הכתובת &s ואת הכתובת הבאה &s++ לסוג size_t ונחסר ביניהן.
4. מגדירים מערך של זמנים בגודל N. בכל איטרציה דוגמים את הזמן עבור הפקודה שתתבצע ואז מבצעים את הפקודה. מגדירים (מילולית) שיש interrupt ברגע שפקודה מסתיימת עם ארגומנט של מספר הפקודה שהסתיימה. ניגשים למקום הרלוונטי במערך, ומחסרים את זמן ההתחלה מזמן הסיום. סוכמים הכל ומחלקים בכמות הפקודות שהתבצעו.
5. מימוש נאיבי: מעבר על כל אות של כל אחת מהמילים ובדיקה עבור שאר האותיות אם הן זהות. סיבוכיות N^2. מימוש יעיל יותר, להשתמש בhash table ועבור כל מילה נשים בטבלה את כל הוריאציות, למשל עבור אבגד נשים בטבלה במקומות *בגד, א*גד, אב*ד, אבג* רשימה עם המילים התואמות. התא עם הרשימה הכי ארוכה הוא הסט הכי ארוך.