תהליך לתפקיד סטודנט באחד מצוותי מהנדסי מערכות מצלמות צבע. התהליך התחיל בשיחת טלפון ממגייס לאחר הגשת מועמדות דרך פורטל הקריירה של Apple. לאחר מכן התקיימו שלושה ראיונות טכניים פרונטליים במשרדי Apple.
שאלות מתוך הראיון
1. מכונית נוסעת מרחק D במהירות 30 קמ"ש. לאחר מכן, המכונית נוסעת מרחק נוסף D במהירות V₁. מה צריכה להיות V₁ כדי שהמכונית תגיע למהירות ממוצעת V̄ = 90 קמ"ש?
2. תכנן מערכת מצלמות למדידת גובהו של אדם בחדר. באפשרותך לשלוט בכל פרמטרי המצלמה (רזולוציה, גודל פיקסל, מרחק מוקדי). האם ניתן לעשות זאת מבלי לדעת את ממדי החדר? (רמז: השתמש ביותר ממצלמה אחת.) הצג את המתמטיקה עבור שתי הפתרונות!
3. עליך לקבוע את הפרמטרים עבור מערכת מצלמה שתוכל להבחין בין פאנל מפוספס בשחור-לבן במרחק של 1 מטר מהמצלמה, עם רוחב פס של 0.5 מ"מ על פאנל ריבועי בגודל 20×20 ס"מ. קבע את גודל הפיקסל, המרחק המוקדי, שדה הראייה (FOV), הרזולוציה והצמצם הנדרשים להשגת מטרה זו.
4. בהינתן פס ייצור של 1,000 מצלמות, כיצד היית בודק ומכייל את כל המצלמות? כיצד היית מוצא את הפגמים והליקויים השונים?
לשם פישוט, מדל את התמונה שהמצלמה מצלמת כגל מרובע (010).
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2026
1.זוהי שאלת מלכודת, שכן אי אפשר להגיע למהירות ממוצעת של 90 קמ"ש במצב זה. המהירות הממוצעת מוגדרת כ־V̄ = (מרחק כולל) / (זמן כולל) = 2D/T. אם עובדים דרך האלגברה, מגיעים בסופו של דבר לכך ש־V̄ = 2 / (1/30 + 1/V₁). אם נגדיל את V₁ לאינסוף, ניתן לראות שהמהירות הממוצעת V̄ מתקרבת ל־60 קמ"ש. אם ננסה להמשיך עם האלגברה ולהציב את המספרים בפועל, נקבל ש־V₁ שווה ל־90- קמ"ש, וזו סתירה נוספת, שכן t = D/V₁ = D/(-90), מה שיוביל לזמן שלילי (מאחר שמדובר בבעיה חד-ממדית ולא אפשרנו למכונית לנסוע לאחור).
2.עבור החלק הראשון, אם ידועים כל פרמטרי המצלמה והמרחק לנבדק ידוע, ניתן לחשב את הגודל ה"אמיתי" של כל פיקסל בתמונה ולחלץ ממנו את גובהו של הנבדק. אם המרחק אינו ידוע, ניתן להשתמש בשתי תמונות ולנצל את ההזזה של הנבדק בין שתי התמונות (באותו אופן שבו עובדות עינינו) כדי למצוא את המרחק לנבדק.
1. לממש קודן
2. לממש פונקציה שמקבלת מספר uint32 ומחזירה true אם קיים בייצוג הבינארי שלו בדיוק זוג 1 של "1" סמוכים
3. פונקציה שמקבלת 1 או 0 ומחזירה 1 או 0, הפונקציה נקראת כל כמה מילי-שניות וברגע שהפונקציה התייצבה על 0 או 1 למשך יותר מ2 שניות אז להחזיר את הערך שהיא התייצבה עליו (קיימת פונקציית עזר בשם clk שמחזירה את הזמן הנוכחי)
4. 2 מעבדים שחולקים 2 רג'יסטרים שצריכים להעביר ביניהם הודעות
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2026
1. פתרון עם מערך ציקלי
2. n&3==3
3. לשמור את החתימת זמן כל פעם שיש שינוי בערך הקלט, ולבדוק את הפער בין הזמן הנוכחי לחתימה השמורה, אם עברו יותר מ2 שניות לשנות את הערך המוחזר
4. רגיסטר אחד ישמש לערך המועבר והשני ישמש לאאותת לcpu שהגיע ערך שדורש טיפול (פוינטרים + volatile)