ראיון ראשון מתוך מספר לא ידוע, סה"כ שעתיים. 2 מראיינים שונים. כל אחד שעה.
שאלות מתוך הראיון
מראיין ראשון:
שאלה 1. נתון מערך בגודל של 256 איברים (float\int) בזיכרון, יש שתי יחידות ביצוע (Execution), 32 רגיסטרים בגודל של 32bit. צריך למצוא את סכום איברי המערך. לכתוב קוד C פשוט.
2. לכתוב את הקוד באמצעות סט נתון של פקודות אסמבלי. (load, mul, add, sub וכו') לאחר מכן ישנו סיבוך שכל פקודה לוקחת 4 מחזורים (Cycle-ים), אז צריך לדאוג לכך שהפקודות יתבצעו כאשר המידע מוכן.
מראיין שני:
3. שאלה לא רלוונטית מתוך מקום העבודה הנוכחי שלי.
4. נתון גל מחזורי עם תדירות של 1us, ועם Duty Cycle של 50%. מה יקרה לאות בזמן לאחר מעבר ב-LPF של 100KHz. מה יקרה לאחר מעבר ב-HPF עם אותו התדר.
תשובות
הוסף תשובה
|
לצפיה בתשובות
דצמבר 2023
1. פשוט.
2. לממש בהתחלה באופן פשוט, אבל כאשר צריך לחכות למידע שיהיה מוכן ברגיסטרים אז לבצע את אותה הפקודה מספר פעמים לתוך רגיסטרים שונים ואז יש throughput גבוה יותר.
3. לא רלוונטי.
4. LPF בעצם מוריד את התדרים הנמוכים במישור התדר, במישור הזמן הוא מבצע מיצוע ומחליק את הסיגנל, אז במוצע של ה-LPF יתקבל אות DC קבוע.
ה-HPF ייתן לנו גל מחזורי עם אמפליטודה שלילית. אפשר להסתכל עליו כעל המשלים של ה-LPF לקבלת האות המקורי.
5 זוגות באו למסיבה ולחצו ידיים אחד לשני, בסוף הערב שאל מר כהן את כל הנוכחים כמה ידיים לחצו וקיבל 9 תשובות שונות. בהנחה שבן אדם לא יכול ללחוץ לעצמו ולא לבן.ת זוג שלו,כמה ידיים לחצה גברת כהן?
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2024
4.
יש 0-8 לחיצות שונות, נמספר את האנשים לפי כמות הלחיצות, אדם 8 בזוג עם 0 וכך הלאה עד שאדם 4 נשאר זוג עם מר כהן גברת כהן לחצה ידיים ל4 אנשים
מיון ראשון מתוך שישה, גם שאר הראיונות היו מקצועיים
שאלות מתוך הראיון
יש לך רגיסטר של 32 ביטים. כתוב פונקציה שמוצאת את המיקום של הביט השלישי שערכו 1. איך תוכל לשפר את זמן הריצה של הפונקציה שכתבת?
תשובות
הוסף תשובה
|
לצפיה בתשובות
נובמבר 2023
מציאת המיקום של הביט השלישי שערכו 1, ברגיסטר של 32 ביטים:
int FindThird1(int reg)
{
int count = 0;
for (int i=0; i<32; i++)
{
count += (reg>>i)&1;
if (count == 3)
return i;
}
return -1;
}
שיפור זמן הריצה של הפונקציה – נחשב באופן חד-פעמי את המערכים הבאים:
• NumOf1s[256] – עבור כל ערך אפשרי ליחידה של 8 ביטים, נרשום את מספר הביטים ביחידה שערכם 1.
• First1[256] – עבור כל ערך אפשרי ליחידה של 8 ביטים, נרשום את מיקום הביט הראשון ביחידה שערכו 1.
• Second1[256] – עבור כל ערך אפשרי ליחידה של 8 ביטים, נרשום את מיקום הביט השני ביחידה שערכו 1.