צייר שכמת מלבנים וACIVE DIAGRAM של פרויקט שעשית.
נתון פוינטר של שירים בשם songlist כדי להקל על השאלה זה מערך
בנה STRUCT שמתאר את הsonglist
וכתוב פונקציה שמריצה את השירים בצורה רנדומלית ללא חזרה על השירים
ניתן להשתמש בפונקציה RANDOM עם טווח
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
// N - Num Of Songs
// Time Complexity: O(N)
// Space Complexity: O(N)
struct Songlist
{
char** songs;
int numOfSongs;
char* songListName;
};
uint8_t* played = (uint8_t*)calloc(songlist->numOfSongs*sizeof(uint8_t));
if (!played)
{
return;
}
int playedSongs = 0;
printf("Song List Name: %s\n", songlist->songListName);
while(playedSongs != songlist->numOfSongs)
{
int i = rand() % songlist->numOfSongs;
if (played[i])
{
continue;
}
שרטט EVM = Pin/(IMR + Nth) כפונקציה של Pin נתונים ה - NF וה - IP3 של רכיב
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
דבר ראשון מעבר ליחידות לוגריתמיות ולשים לב לשתי פונקציות לינאריות:
1. כאשר ה - IM3 זניח מהרעש התרמי
2. כאשר ה - IM3 גדול מהרעש התרמי
מתקבל מקסימום כאשר הרעשים שווים וחילוץ הספק הכניסה המתאים מהנוסחה של ה - IP3
1. מצא היסט x [חיובי או שלילי] מאמצע רשימה מקושרת חד כיוונית כאשר ידוע רק מצביע לתחילת הרשימה
2. תאר ניהול מבנה של הקצאה ושחרור זכרון של N באפרים בגודל קבוע לקבוצת משתמשים
3. משדרים LSB של מספר בינארי, איך אפשר לדעת בכל שלב אם המספר מתחלק ב-3?
ראיון בוידיאו, בתוכנה teams של מיקרוסופט. היו לי שני ראיונות טכניים אחד אחרי השני, עם שני ראשי צוותים שונים - שניהם צוותים של אוטומציה. ראיון די סטנדרטי בו שאלו אותי על עצמי (הצגה עצמית) ושתי שאלות טכניות, כאשר השאלה הראשונה לא מסובכת (חשוב לצייר) והשנייה אפילו יותר קלילה.
1. לממש פונקציה שמקבלת מספר חיובי שלם וגדול (עד 4 מיליון כולל), ומחזירה סכימה של כל האיברים שערכם זוגי בסדרת פיבונאצ'י עד המספר הנתון שהתקבל. למשל, עבור 36 נקבל 44 מכיוון שהסדרה עד האיבר שערכו 36 היא: 0 1 1 2 3 5 8 13 21 34, הסכום של האיברים הזוגיים (שערכם זוגי) הוא 0 + 2 + 8 + 34 == 44.
2. שאלה פשוטה על סנכרון בין פרוססים.
בראיון השני שוב התבקשתי לעשות הצגה עצמית, ולאחר מכן שלוש שאלות טכניות עם מימוש. נכון לרגע זה, טרם קיבלתי תשובה לגבי המשך התהליך.
שאלות מתוך הראיון
1. נתון קוד ב-c++ עם מחלקה פשוטה שיש לה ctor, מערך של שני int, ולבסוף מתודה וירטואלית עם מימוש ריק. לבסוף, קיים main שבו יוצרים אובייקט מהמחלקה, אח"כ יוצרים מצביע ל-int שמצביע על הכתובת של האובייקט ונשאלתי מה יודפס במערכת של 32 ביט ולאחר מכן מה יודפס במערכת של 64 ביט ולמה. ההדפסה הייתה עבור אינדקס 2 במערך (כן, אינדקס 2, זו לא טעות).
2. בהינתן מערך של מספרים שלמים, לכתוב פונקציה שמחזירה מערך של מכפלת כל האיברים ללא האיבר הנוכחי במערך. לדוגמה עבור המערך 2 3 6, נחזיר 18 12 6.
3. בהינתן שני מערכים, מערך אחד של זמני כניסה של רכבות לתחנה ומערך שני של זמני יציאה, כתוב פונקציה שמחזירה מה המספר המינימלי של מסילות שנצטרך באותה התחנה. למען הסר ספק, באינדקס 0 במערך הראשון יהיה כתוב זמן הגעה של רכבת 0, כאשר באינדקס 0 במערך השני יהיה כתוב זמן היציאה שלה מהתחנה.
זומנתי לראיון טכני, נשאלתי שתי שאלות קוד יחסית פשוטות. היה חשוב למראיינים שאשתף בכל רגע נתון בתהליך החשיבה שלי, שהקוד יהיה מושלם וללא טעויות עם תשומת לב רבה לפרטים הקטנים. לא ראיון קלאסי שבו מותר לטעות ולתקן. כלומר, סביר שאם עשיתם טעות קטנה - לא ימשיכו איתכם בתהליך.
נאמר על סמך המראיינים הספציפיים לצוות הספציפי שהתראיינתי אליו ואני לא יודע אם זה נכון לגבי כל צוות/משרה בחברה.
שאלות מתוך הראיון
בשאלה הראשונה התבקשתי לממש פונקציה שמחזירה true אם מחרוזת נתונה היא פלינדרום, אחרת היא תחזיר false. שאלה פשוטה מאוד.
בשאלה השנייה התבקשתי לממש את פונקציית הספרייה strtok, כאשר ניתן ה-manual guide שלה. גם השאלה הזו לא קשה. חשוב לשתף בתהליך החשיבה, לחשוב על מקרי קצה ולדעת לטפל בהם.