ראיון המשך - יום ראיונות של 2 ראיונות פרונטליים באתר למשרת סטודנט(תוכנה) מערכות
שאלות מתוך הראיון
ראיון 1:דרייבר לניהול חוצצי חומרה(FIFO & CPU)
הקשר: מערכת עם CPU ושני רגיסטרי FIFO קשיחים בגודל 16 בתים (קלט ופלט).
דגלים/אירועים:
AF-W: נדלק כשרגיסטר הקלט מתמלא ל-12/16 בתים (התראה ל-CPU לקרוא).
AF-R: נדלק כשרגיסטר הפלט מתרוקן ל-4/16 בתים (התראה ל-CPU לכתוב).
API קיים: writeEB1(data) לכתיבת בית בודד, ו-readEB1() לקריאת בית בודד.
הקווסט: מימוש שכבת דרייבר (פונקציות וארכיטקטורה) המגשרת בין האפליקציה לחומרה,
ראיון 2: ניטור שגיאות אסינכרוני בזמן ריצת בדיקה
API קיים:
disk_stress():הרצת בדיקת מאמץ (כ-10 דק'). מחזירה 0 (הצלחה) או 1 (כישלון).
error_check():בדיקה מיידית של שגיאות מערכת (200ms). מחזירה 1 (יש שגיאה) או 0.
error_clear():ניקוי השגיאה הנוכחית (200ms). מחזירה 0 (הצליח) או 1.
הקווסט: כתיבת פונקציה שמריצה את בדיקת הדיסק במקביל לניטור שגיאות אסינכרוני (דגימה כל שנייה). על הפונקציה להחזיר את תוצאת בדיקת הדיסק ואת סך השגיאות שנרשמו,
443. String Compression
שאלה שניה הייתה על מערכת שהם הביאו ציור שלה וביקשו לממש בדיקות על מערכת 1 הביאו לי API כזה וביקשו לרשום פונקציה שמבצעת את 3 הבדיקות שאני חושבת לנכון :
Describe a testing algorithm to verify the data path between System
Implement the algorithm in code.
and the flash memory.
Available API:
set_system power (system id, power_state) - Powers on/off System 1 or System 2 set_mux_channel(channel) -
Configures the mux to route data between the flash and System 1 or System 2
read_flash (addr) - Returns data at the given address. Returns null if the flash is not connected; returns OxFF for an empty (unprogrammed) address.
write_flash(addr, data) - Writes data to the given address. No return value.
שאלה שלישית חזרנו לקוד של שאלה 1 ועכשיו עשו לה הרחבה (לא ביקשו לכתוב רק בעל פה) למצוא את תת-המחרוזת המחזורית הקצרה ביותר
עליך לבנות רכיב בעל כניסה אחת (סיגנל) ושתי יציאות:
SA1 - יוציא 1 אם הרכיב תקוע על 1
SA0 - יוציא 1 אם הרכיב תקוע על 0
מספיק שינוי אחד על מנת ששניהם יהיו ב0.
משרת סטודנט כלל 2 ראיונות שונים ומבחן בית נפרד בנוסף
שאלות מתוך הראיון
שאלה ראשונה- ממש מחסנית מקסימום בo(1) דטרמיניסטי לא אמורטייזד (linked list)שאלת המשך הוסף מחיקת מקסימלי (רשימה דו כיוונית)
שאלה שנייה - lru cache הקלאסית מליט קוד